---
title: Getting Started with the Feasibility and Tasking API
description: This guide will walk you through the full process of acquiring satellite imagery and derived products on demand via API endpoints.
---

[Skip to content](https://info.ursaspace.com/getting-started-with-the-feasibility-and-tasking-api#main-content)

English

Show submenu for translations

![Default_Ursa Space Logo_For Light BG_Black Red](https://info.ursaspace.com/hs-fs/hubfs/Default_Ursa%20Space%20Logo_For%20Light%20BG_Black%20Red.png?width=75&height=48&name=Default_Ursa%20Space%20Logo_For%20Light%20BG_Black%20Red.png)

- [Home](https://ursaspace.com/)
- [Blog](https://ursaspace.com/all-news/)

Open main navigation

Close main navigation

- [Home](https://ursaspace.com/)
- [Blog](https://ursaspace.com/all-news/)
- English
  
  Show submenu for translations
- Go to ursaspace.com

 Go to ursaspace.com

 Hello. How can we help you?

- There are no suggestions because the search field is empty.

1. [Info](https://info.ursaspace.com/)
2. [Imagery](https://info.ursaspace.com/imagery)

# Getting Started with the Feasibility and Tasking API

## This guide will walk you through the full process of acquiring satellite imagery and derived products on demand via API endpoints.

### About the Feasibility and Tasking API

Ursa Space's Feasibility and Tasking API offers direct access to a powerful network of commercial satellite image providers. Through a single interface, decision makers can capture high resolution imagery and tap into Ursa Space's suite of advanced image processing capabilities. ![](https://info.ursaspace.com/hs-fs/hubfs/unnamed%20(1)-png.png?width=688&height=281&name=unnamed%20(1)-png.png)

To order catalog imagery, please refer to the [Image Ordering API](https://info.ursaspace.com/imagery-ordering-api). Although it offers feasibility and tasking, we recommend using the Feasibility and Tasking API for these needs going forward.

### Process Overview

Before diving into the details of each endpoint, it is important to first provide an overview of the end to end process for acquiring geospatial products via the Feasibility and Tasking API. Below is a diagram that highlights the three main steps involved: **Feasibility Study,** **Satellite Tasking,** and **Product Delivery**. ![](https://info.ursaspace.com/hs-fs/hubfs/steps-jpg.jpeg?width=688&height=201&name=steps-jpg.jpeg)

#### **Step 1. Conduct a Feasibility Study**

A feasibility study provides decision makers with upcoming opportunities to capture images over their area of interest. Additional constraints may also be specified such as satellite provider, azimuth angle, incidence angle, squint angle, and datetime. Behind the scenes, the Feasibility and Tasking API identifies optimal tasking opportunities by applying specialized algorithms that analyze a range of public and commercial data sources.

Feasibility studies can take several minutes to complete, making it important to design your integration to periodically check for status updates. Please refer to the **Get the Status of a Feasibility Request** section below for more details.

#### Step 2. Request a Satellite Tasking

Decision-makers can leverage feasibility insights to precisely craft tasking requests with a strong liklihood of being scheduled. Additional requirements, derived image products, and analytics may also be specified. Upon each request, the Feasibility and Tasking API tasks the associated satellite accordingly.

Feasibility studies are not required for submitting tasking requests, but they can significantly improve the likelihood of a successful scheduling.

#### Step 3. Products Delivered to a Cloud Storage Bucket

Upon a successful image capture, Ursa Space rapidly processes the image and delivers a product bundle to your desired cloud storage location. Customized notifications and alerts can also be provided if desired.

### Accessing the API

The Feasibility and Tasking API can be found at the following URL, and it consists of six endpoints in total.

```
https://platform.ursaspace.com/api/v1/tfs
```

- **Submit a New Feasibility Request** (POST /feasibility)
- **Get the Status of a Feasibility Request** (GET /feasibility/{id})
- **Submit a New Tasking Request** (POST /tasking)
- **Get the Status of a Tasking Request** (GET /tasking/{id})
- **List All Tasking Requests** (GET /tasking)
- **Cancel a Tasking Request** (POST /tasking/{id}/cancel)

Requests to the Feasibility and Tasking API require authentication. Please see the [Authentication](https://info.ursaspace.com/oil-storage-authentication) page to learn how to generate bearer tokens. Once a token is generated, it must be included in the `Authorization` header of every request using the following format:

```
Authorization: Bearer <token>
```

### Submit a New Feasibility Request 

`POST /feasibility`

*Request Body*

| Parameter Name | Required | Data Type | Description |
| --- | --- | --- | --- |
| `target_lat` | Yes | Number | The target latitude of the feasibility study. Must be between -90 and 90. |
| `target_lon` | Yes | Number | The target longitude of the feasibility study. Must be between -180 and 180. |
| `start_datetime` | Yes | String | The earliest datetime considered. Must be at least 60 minutes in the future and in the following format: **yyyy-MM-dd'T'HH:mm:ss.SSS** *ex: 2024-10-09T15:12:00.000* |
| `end_datetime` | Yes | String | The latest datetime considered. Must be within three weeks of the present and in the following format: **yyyy-MM-dd'T'HH:mm:ss.SSS** *ex: 2024-10-12T15:12:00.000* |
| `vendor` | No | String | The vendor to consider. Must be one  of the following if provided: ***UMBRA, CAPELLA, or ICEYE*** Defaults to all available vendors otherwise.  |
| `incidence_min` | No | Number | The minimum incidence angle to consider. Must be between 0 and 90 if provided. Defaults to 0 otherwise. |
| `incidence_max` | No | Number | The maximum incidence angle to consider. Must be between 0 and 90 if provided. Defaults to 90 otherwise. |
| `azimuth_min` | No | Number | The minimum azimuth angle to consider. Must be between 0 and 360 if provided. Defaults to 0 otherwise. |
| `azimuth_max` | No | Number | The maximum azimuth angle to consider. Must be between 0 and 360 if provided. Defaults to 360 otherwise. |
| `squint_min` | No | Number | The minimum squint angle to consider. Must be between -90 and 90 if provided. Defaults to -90 otherwise. |
| `squint_max` | No | Number | The maximum squint angle to consider. Must be between -90 and 90 if provided. Defaults to 90 otherwise. |

*Response Body*

An instance of **Feasibility Request Status** as defined in the **Schema Reference** section.

### Get the Status of a Feasibility Request

`GET /feasibility/{id}`

*Response Body*

An instance of **Feasibility Request Status** as defined in the **Schema Reference** section.

### Submit a New Tasking Request

`POST /tasking`

*Request Body*

| **Parameter Name** | **Required** | **Data Type** | **Description** |
| --- | --- | --- | --- |
| `target_lat` | Yes | Number | The target latitude of the image capture. Must be between -90 and 90. |
| `target_lon` | Yes | Number | The target longitude of the image capture. Must be between -180 and 180. |
| `window_open` | Yes | String | The start of the acceptable temporal window for image tasking. Must be in the future and in the following format: **yyyy-MM-dd'T'HH:mm:ss.SSS** *ex: 2024-10-09T15:12:00.000* |
| `window_close` | Yes | String | The end of the acceptable temporal window for image tasking. Must be after **window\_close** and in the following format: **yyyy-MM-dd'T'HH:mm:ss.SSS** *ex: 2024-10-10T15:12:00.000* |
| `mode` | Yes | String | The desired imaging mode. Must be a valid **Mode** as defined in the **Schema Reference** section. |
| `polarization` | No | String | The polarization of the image capture. Must be one of the following if provided: ***HH or VV*** Defaults to **VV** otherwise. |
| `tags` | No | List\[String\] | A list of custom labels to attach to the tasking request. Defaults to the empty list if not provided. |

*Response Body*

An instance of **Tasking Request Status** as defined in the **Schema Reference** section.

### Get the Status of a Tasking Request

`GET /tasking/{id}`

*Response Body*

An instance of **Tasking Request Status** as defined in the **Schema Reference** section.

### List All Tasking Requests

`GET /tasking`

*Query Parameters*

| **Parameter Name** | **Required** | **Description** |
| --- | --- | --- |
| `page` | No | The index of the page to return. Each page consists of at most 10 tasking requests. |

*Response Body*

| **Property Name** | **Description** |
| --- | --- |
| `tasking_requests` | A list of **Tasking Request Status** instances as defined in the **Schema Reference** section sorted by their **created\_at** property in descending order. |
| `next_page` | The index of the next page if pagination is needed. |

### Cancel a Tasking Request

`POST /tasking/{id}/cancel`

*Response Body*

An instance of **Tasking Request Status** as defined in the **Schema Reference** section

Cancellation is best effort and only available for tasking requests with a status of `RECEIVED` or `TASKED`. Costs may still be incurred depending on the circumstances. Please see the following pages for more details:

- [Umbra's Cancellation Policy](https://docs.canopy.umbra.space/docs/tasking#cancelling-a-task)
- [Capella's Cancellation Policy](https://support.capellaspace.com/hc/en-us/articles/360059276331-What-is-the-tasking-cancellation-policy)
- [Iceye's Cancellation Policy](https://sar.iceye.com/5.0/productguide/ordering/#order-cancellation)

### Schema Reference

**Feasibility Request Status**

| **Property Name** | **Always Present** | **Data Type** | **Description** |
| --- | --- | --- | --- |
| `id` | Yes | String | The unique ID of the feasibility request.  |
| `feasibility_request` | Yes | Object | The parameters provided to the **/feasibility** endpoint when the feasibility study was requested.  |
| `status` | Yes | String | The current status of the feasibility request. |
| `owner` | Yes | String | The email address of the owner of the feasibility request. |
| `created_at` | Yes | String | The datetime when the feasibility study created. Has the following format: **yyyy-MM-dd'T'HH:mm:ss.SSS** *ex: 2024-10-09T15:12:00.000* |
| `completed_at` | No | String | The datetime when the feasibility study completed. Has the following format: **yyyy-MM-dd'T'HH:mm:ss.SSS** *ex: 2024-10-09T15:17:00.000* |
| `tasking_opportunities` | No | List<Object> | A list of **Tasking Opportunity** instances, if any are available. |

**Tasking Request Status**

| **Property Name** | **Always Present** | **Data Type** | **Description** |
| --- | --- | --- | --- |
| `id` | Yes | String | The unique ID of the tasking request. |
| `tasking_request` | Yes | String | The parameters provided to the **/tasking** endpoint when the tasking request was created |
| `status` | Yes | String | The current status of the tasking request. Always one of the following values: ***RECEIVED, TASKED, ACQUIRED, CANCELED, FAILED, or REJECTED*** |
| `owner` | Yes | String | The email address of the owner of the tasking request. |
| `created_at` | Yes | Object | The datetime when the tasking request was created. Has the following format: **yyyy-MM-dd'T'HH:mm:ss.SSS** *ex: 2024-10-09T15:12:00.000* |

**Tasking Opportunity**

| **Property Name** | **Always Present** | **Data Type** | **Description** |
| --- | --- | --- | --- |
| `geometry` | Yes | Object | The geospatial coverage of the tasking opportunity. A **Geometry** instance as defined by the [GeoJSON Specification](https://geojson.org/)  |
| `vendor` | Yes | String | The satellite provider. Always one of the following: ***UMBRA, CAPELLA, or ICEYE*** |
| `satellite_id` | Yes | String | The ID of the satellite. |
| `window_open` | Yes | String | The datetime of the window opening. Has the following format: **yyyy-MM-dd'T'HH:mm:ss.SSS** *ex: 2024-10-09T15:12:00.000* |
| `window_close` | Yes | String | The date time of the window closing. Has the following format: **yyyy-MM-dd'T'HH:mm:ss.SSS** *ex: 2024-10-09T15:18:00.000* |
| `available_modes` | Yes | List<String> | The imaging modes available for this opportunity. Each element in the list is a **Mode**. |
| `look_direction` | Yes | String | The look direction of the satellite. One of the following: ***LEFT or RIGHT*** |
| `grazing_min` | Yes | Number | The minimum grazing angle of this opportunity. |
| `grazing_max` | Yes | Number | The maximum grazing angle of this opportunity. |
| `incidence_min` | Yes | Number | The minimum incidence angle of this opportunity. |
| `incidence_max` | Yes | Number | The maximum incidence angle of this opportunity. |
| `azimuth_min` | Yes | Number | The minimum azimuth angle of this opportunity. |
| `azimuth_max` | Yes | Number | The maximum azimuth angle of this opportunity. |
| `squint_min` | Yes | Number | The minimum squint angle of this opportunity. |
| `squint_max` | Yes | Number | The maximum squint angle of this opportunity. |

**Mode**

| **Vendor** | **Available Modes** | **Vendor Resources** |
| --- | --- | --- |
| **Umbra** | ***UMBRA\_SPOTLIGHT\_1M UMBRA\_SPOTLIGHT\_50CM UMBRA\_SPOTLIGHT\_35CM UMBRA\_SPOTLIGHT\_25CM*** ***UMBRA\_SPOTLIGHT\_1M\_2\_LOOKS UMBRA\_SPOTLIGHT\_50CM\_2\_LOOKS UMBRA\_SPOTLIGHT\_35CM\_2\_LOOKS UMBRA\_SPOTLIGHT\_25CM\_2\_LOOKS*** ***UMBRA\_SPOTLIGHT\_1M\_3\_LOOKS UMBRA\_SPOTLIGHT\_50CM\_3\_LOOKS UMBRA\_SPOTLIGHT\_35CM\_3\_LOOKS UMBRA\_SPOTLIGHT\_25CM\_3\_LOOKS*** ***UMBRA\_SPOTLIGHT\_1M\_4\_LOOKS UMBRA\_SPOTLIGHT\_50CM\_4\_LOOKS UMBRA\_SPOTLIGHT\_35CM\_4\_LOOKS UMBRA\_SPOTLIGHT\_25CM\_4\_LOOKS*** ***UMBRA\_SPOTLIGHT\_1M\_5\_LOOKS UMBRA\_SPOTLIGHT\_50CM\_5\_LOOKS UMBRA\_SPOTLIGHT\_35CM\_5\_LOOKS UMBRA\_SPOTLIGHT\_25CM\_5\_LOOKS*** ***UMBRA\_SPOTLIGHT\_1M\_8\_LOOKS UMBRA\_SPOTLIGHT\_50CM\_8\_LOOKS UMBRA\_SPOTLIGHT\_35CM\_8\_LOOKS UMBRA\_SPOTLIGHT\_25CM\_8\_LOOKS*** ***UMBRA\_SPOTLIGHT\_1M\_10\_LOOKS UMBRA\_SPOTLIGHT\_50CM\_10\_LOOKS UMBRA\_SPOTLIGHT\_35CM\_10\_LOOKS UMBRA\_SPOTLIGHT\_25CM\_10\_LOOKS*** | - [Umbra Product Guide](https://help.umbra.space/product-guide) - [Umbra Pricing Table](https://umbra.space/pricing/) |
| **Capella** | ***CAPELLA\_SPOTLIGHT\_ULTRA CAPELLA\_SPOTLIGHT CAPELLA\_SPOTLIGHT\_WIDE CAPELLA\_STRIPMAP\_20KM CAPELLA\_STRIPMAP\_50KM CAPELLA\_STRIPMAP\_100KM*** | - [Capella Collection Types](https://support.capellaspace.com/hc/en-us/articles/30664863786900-What-are-Capella-s-collection-types) |
| **Iceye** | ***ICEYE\_SPOTLIGHT*** ***ICEYE\_SPOTLIGHT\_FINE*** ***ICEYE\_SPOTLIGHT\_EXTENDED\_AREA*** ***ICEYE\_SPOTLIGHT\_EXTENDED\_DWELL*** ***ICEYE\_SPOTLIGHT\_EXTENDED\_DWELL\_FINE*** ***ICEYE\_SCAN*** ***ICEYE\_STRIPMAP*** | - [Iceye Imaging Modes](https://sar.iceye.com/latest/productspecification/imagingmodes/) |

### Postman Collection

If you are familiar with [Postman](https://www.postman.com/), a preconfigured collection for the Feasibility and Tasking API is available to download: 

- [Feasibility and Tasking API Postman Collection](https://info.ursaspace.com/hubfs/Feasibility%20and%20Tasking%20API/Feasibility%20and%20Tasking%20API.postman_collection.json)
- [Ursa Space Postman Environment](https://info.ursaspace.com/hubfs/Feasibility%20and%20Tasking%20API/UrsaSpace.postman_environment.json)

### Examples

The following examples assume you have **curl** installed and available via your command line terminal. If you are new to **curl **or need help installing it on your machine, we recommend following an online guide such as [https://developer.zendesk.com/documentation/api-basics/getting-started/installing-and-using-curl/](https://developer.zendesk.com/documentation/api-basics/getting-started/installing-and-using-curl/) to get started.

```
curl --location --request POST 'https://platform.ursaspace.com/api/pas/login' --header 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'grant_type=password' --data-urlencode 'username=<Your Ursa Space username/email>' --data-urlencode 'password=<Your Ursa Space password>'
```

If the login was successful, copy the **access\_token** text out of the response and run the final command:

```
export TOKEN=<TOKEN>
```

This will create an environment variable **$TOKEN **that can be used in command line queries like those shown in examples below.

#### **Submit a New Feasibility Request**

```
curl --location 'https://platform.ursaspace.com/api/v1/tfs/feasibility' --header 'Content-Type: application/json' --header "Authorization: Bearer $TOKEN" --data '{    "target_lat": 42.0,    "target_lon": -76.0,    "start_datetime": "2024-10-10T00:00:00.000",    "end_datetime": "2024-10-12T00:00:00.000" }'
```

```
{    "owner": "alexander.mcelroy@ursaspace.com",    "status": "CREATED",    "id": "c6a1980e-4cb4-426c-959a-b7a9016fe74c",    "feasibility_request": {        "target_lat": 42.0,        "target_lon": -76.0,        "start_datetime": "2024-10-10T00:00:00.000",        "end_datetime": "2024-10-12T00:00:00.000"    },    "created_at": "2024-10-06T18:37:56.243"}
```

#### Get the Status of a Feasibility Request

```
curl --location 'https://platform.ursaspace.com/api/v1/tfs/feasibility/c6a1980e-4cb4-426c-959a-b7a9016fe74c' --header "Authorization: Bearer $TOKEN"
```

```
{    "owner": "alexander.mcelroy@ursaspace.com",    "status": "SUCCEEDED",    "id": "c6a1980e-4cb4-426c-959a-b7a9016fe74c",    "feasibility_request": {        "target_lat": 42.0,        "target_lon": -76.0,        "start_datetime": "2024-10-10T00:00:00.000",        "end_datetime": "2024-10-12T00:00:00.000"    },    "created_at": "2024-10-06T18:37:56.243",    "completed_at": "2024-10-06T18:39:20.000",    "tasking_opportunities": [        {            "geometry": {                "type": "Point",                "coordinates": [                    -76.0,                    42.0                ]            },            "vendor": "UMBRA",            "satellite_id": "UMBRA-07",            "available_modes": [                "UMBRA_SPOTLIGHT_1M",                "UMBRA_SPOTLIGHT_50CM",                "UMBRA_SPOTLIGHT_35CM",                "UMBRA_SPOTLIGHT_25CM",                "UMBRA_SPOTLIGHT_1M_2_LOOKS",                "UMBRA_SPOTLIGHT_50CM_2_LOOKS",                "UMBRA_SPOTLIGHT_35CM_2_LOOKS",                "UMBRA_SPOTLIGHT_25CM_2_LOOKS",                "UMBRA_SPOTLIGHT_1M_3_LOOKS",                "UMBRA_SPOTLIGHT_50CM_3_LOOKS",                "UMBRA_SPOTLIGHT_35CM_3_LOOKS",                "UMBRA_SPOTLIGHT_25CM_3_LOOKS",                "UMBRA_SPOTLIGHT_1M_4_LOOKS",                "UMBRA_SPOTLIGHT_50CM_4_LOOKS",                "UMBRA_SPOTLIGHT_35CM_4_LOOKS",                "UMBRA_SPOTLIGHT_25CM_4_LOOKS",                "UMBRA_SPOTLIGHT_1M_5_LOOKS",                "UMBRA_SPOTLIGHT_50CM_5_LOOKS",                "UMBRA_SPOTLIGHT_35CM_5_LOOKS",                "UMBRA_SPOTLIGHT_25CM_5_LOOKS",                "UMBRA_SPOTLIGHT_1M_8_LOOKS",                "UMBRA_SPOTLIGHT_50CM_8_LOOKS",                "UMBRA_SPOTLIGHT_35CM_8_LOOKS",                "UMBRA_SPOTLIGHT_25CM_8_LOOKS",                "UMBRA_SPOTLIGHT_1M_10_LOOKS",                "UMBRA_SPOTLIGHT_50CM_10_LOOKS",                "UMBRA_SPOTLIGHT_35CM_10_LOOKS",                "UMBRA_SPOTLIGHT_25CM_10_LOOKS"            ],            "window_open": "2024-10-10T03:03:15.000",            "window_close": "2024-10-10T03:13:30.000",            "look_direction": "RIGHT",            "grazing_min": 54.918,            "grazing_max": 69.872,            "incidence_min": 20.128,            "incidence_max": 35.082,            "azimuth_min": 198.517,            "azimuth_max": 318.212,            "squint_min": -59.514,            "squint_max": 59.744        },        {            "geometry": {                "type": "Point",                "coordinates": [                    -76.0,                    42.0                ]            },            "vendor": "CAPELLA",            "satellite_id": "CAP-10",            "available_modes": [                "CAPELLA_SPOTLIGHT_ULTRA",                "CAPELLA_SPOTLIGHT",                "CAPELLA_SPOTLIGHT_WIDE",                "CAPELLA_STRIPMAP_20KM",                "CAPELLA_STRIPMAP_50KM",                "CAPELLA_STRIPMAP_100KM"            ],            "window_open": "2024-10-10T20:36:14.459",            "window_close": "2024-10-10T20:38:57.158",            "look_direction": "RIGHT",            "grazing_min": 52.325,            "grazing_max": 58.847,            "incidence_min": 31.153,            "incidence_max": 37.675,            "azimuth_min": 83.777,            "azimuth_max": 87.868,            "squint_min": -74.875,            "squint_max": -70.791        }    ]}
```

#### Submit a New Tasking Request

**Warning:** Running this command will place a live tasking request that could incur costs.

```
curl --location 'https://platform.ursaspace.com/api/v1/tfs/tasking' --header 'Content-Type: application/json' --header "Authorization: Bearer $TOKEN" --data '{    "target_lat": 42.0,    "target_lon": -76.0,    "window_open": "2024-10-03T00:00:00.000",    "window_close": "2024-10-07T00:00:00.000",    "mode": "CAPELLA_SPOTLIGHT" }'
```

```
{    "owner": "alexander.mcelroy@ursaspace.com",    "status": "RECEIVED",    "id": "7502f737-0f06-4085-b6df-9f8da9cb0c27",    "tasking_request": {        "mode": "CAPELLA_SPOTLIGHT",        "target_lat": 42.0,        "target_lon": -76.0,        "window_open": "2024-10-03T00:00:00.000",        "window_close": "2024-10-07T00:00:00.000"    },    "created_at": "2024-10-06T18:46:43.552"}
```

#### Get the Status of a Tasking Request

```
curl --location 'https://platform.ursaspace.com/api/v1/tfs/tasking/7502f737-0f06-4085-b6df-9f8da9cb0c27' --header "Authorization: Bearer $TOKEN"
```

```
{    "owner": "alexander.mcelroy@ursaspace.com",    "status": "RECEIVED",    "id": "7502f737-0f06-4085-b6df-9f8da9cb0c27",    "tasking_request": {        "mode": "CAPELLA_SPOTLIGHT",        "target_lat": 42.0,        "target_lon": -76.0,        "window_open": "2024-10-03T00:00:00.000",        "window_close": "2024-10-07T00:00:00.000"    },    "created_at": "2024-10-06T18:46:43.552"}
```

#### List All Tasking Requests

```
curl --location 'https://platform.ursaspace.com/api/v1/tfs/tasking' --header "Authorization: Bearer $TOKEN"
```

```
{    "tasking_requests": [        {            "owner": "alexander.mcelroy@ursaspace.com",            "status": "RECEIVED",            "id": "7502f737-0f06-4085-b6df-9f8da9cb0c27",            "tasking_request": {                "mode": "CAPELLA_SPOTLIGHT",                "target_lat": 42.0,                "target_lon": -76.0,                "window_open": "2024-10-03T00:00:00.000",                "window_close": "2024-10-07T00:00:00.000"            },            "created_at": "2024-10-06T18:46:43.552"        }    ]}
```

#### Cancel a Tasking Request

```
curl --location --request POST 'https://platform.ursaspace.com/api/v1/tfs/tasking/7502f737-0f06-4085-b6df-9f8da9cb0c27/cancel' --header "Authorization: Bearer $TOKEN"
```

```
{    "owner": "alexander.mcelroy@ursaspace.com",    "status": "CANCELED",    "id": "7502f737-0f06-4085-b6df-9f8da9cb0c27",    "tasking_request": {        "mode": "CAPELLA_SPOTLIGHT",        "target_lat": 42.0,        "target_lon": -76.0,        "window_open": "2024-10-03T00:00:00.000",        "window_close": "2024-10-07T00:00:00.000"    },    "created_at": "2024-10-06T18:46:43.552"}
```

- [General](https://info.ursaspace.com/general)
- [Analytics](https://info.ursaspace.com/analytics)
- [Imagery](https://info.ursaspace.com/imagery)
- [Global Oil Storage](https://info.ursaspace.com/global-oil-storage)
- [Global Monitoring Service](https://info.ursaspace.com/global-monitoring-service)
- [Stockpile Measurement](https://info.ursaspace.com/stockpile-measurement)

- [Home](https://ursaspace.com/)
- [Blog](https://ursaspace.com/all-news/)

[![Default_Ursa Space Logo_For Light BG_Black Red](https://info.ursaspace.com/hs-fs/hubfs/Default_Ursa%20Space%20Logo_For%20Light%20BG_Black%20Red.png?width=75&height=48&name=Default_Ursa%20Space%20Logo_For%20Light%20BG_Black%20Red.png "Default_Ursa Space Logo_For Light BG_Black Red")](http://www.ursaspace.com)

Copyright © 2026, Ursa Space Systems Inc.