Capella SpaceCapella Space Documentation
Welcome
Getting Started
Authentication
Accessing Data
Constellation Tasking
Tasking RequestsTasking Request StatusOverviewStatus DescriptionsGetting the Current Status of a RequestPotentially Conflicting TasksTasking Request Rejected Due to Conflicting TasksAdditional InformationCost Review and ApprovalCancel a TaskTiles and CollectsSearching Single and Repeat Tasking Requests
Mission Awareness
API

Tasking Request Status

Overview

You can monitor the status of your tasking request at any time after submission. Tasking status requests will return information on the tasking request itself as well as the current and previous statuses of the tasking request. Tasking request statuses include the status name, status description, and the time of the status update.

Status Descriptions

StatusDescription
ReceivedRequest has been input into the system for cost estimation. At this stage it has not been submitted for scheduling.
ReviewRequest has been tessellated, at least some collection opportunities have been found. Cost estimate is ready. Waiting for user review and approval for tasking.
SubmittedCustomer has approved the cost submitted request for scheduling. Request queue for processing in the scheduling system and is waiting to be scheduled or rejected by Capella.
ActiveRequest is being scheduled, and collections are being taken but we cannot guarantee full completion at this time. At this stage, the tasking system will return a list of potentially conflicting tasks from within the user's organization that may cause the new tasking request to be rejected.
AcceptedRequest is guaranteed for full collection.
RejectedRequest cannot be completed. Tasks can be rejected due to conflicting tasks from within a user's organization.
ExpiredWe have been able to determine that by the end of the request we will not be able to fully collect the AOI.
CompletedRequest has been finished. All required collects have been delivered.
CanceledCustomer has cancelled the request. It will not be collected.
ErrorAn error occurred during processing and ingestion of the request.
AnomalyAn anomaly occurred during collect that prevents full completion of the tasking request.
RetryingThe tasking request is being reattempted following an anomaly.

Getting the Current Status of a Request

Single Tasking Request

To get the status of your single tasking request, all you need is the identifier of the tasking request of interest (taskingrequestId):

GET https://api.capellaspace.com/task/{{taskingrequestId}}

In the response, you will find a statusHistory property, which will contain a list of the current and historical statuses of the request. The top item will be the current status of the request. Alternatively, you can search or sort for the item with the most recent time.

"statusHistory": [
{
"time": "2022-12-05T15:12:00.811Z",
"code": "completed",
"message": "Tasking request has been completed."
},
{
"time": "2022-12-05T15:06:00.321Z",
"code": "accepted",
"message": "Request can be completely satisfied during validity window."
},
{
"time": "2022-12-05T15:05:00.264Z",
"code": "active",
"message": "Collections will begin but full coverage cannot be guaranteed at this time."
},
{
"time": "2022-12-05T15:04:31.558Z",
"code": "submitted",
"message": "Customer has approved the tasking request."
},
{
"time": "2022-12-05T14:33:25.394Z",
"code": "review",
"message": "Tasking request ready for review."
},
{
"time": "2022-12-05T14:32:05.847Z",
"code": "received",
"message": "Request created"
}
]

Repeat Tasking Request

To get the status of your repeat tasking request, all you need is the identifier of the repeat request of interest (repeatrequestId):

GET https://api.capellaspace.com/repeat-requests/{{repeatrequestId}}

In the response, you will find a statusHistory property, which will contain a list of the current and historical statuses of the request. The top item will be the current status of the request. Alternatively, you can search or sort for the item with the most recent time.

"statusHistory": [
{
"time": "2022-12-20T23:00:15.689Z",
"code": "active",
"message": "Repeat series will begin generation."
},
{
"time": "2022-12-20T22:58:35.046Z",
"code": "submitted",
"message": "Submitted for scheduling."
},
{
"time": "2022-12-20T22:03:27.732Z",
"code": "review",
"message": "Repeat request ready for review."
},
{
"time": "2022-12-20T22:03:26.329Z",
"code": "received",
"message": "Request created"
}
]

Potentially Conflicting Tasks

Tasking requests with an Active status are awaiting scheduling by Capella’s tasking system or, in the case of repeat and area tasks, are in the process of collection but have not yet finished all the required collects to move into the Completed status. These requests may go to Accepted or Rejected once the Scheduler has finished evaluating their feasibility given the imaging constraints of the request and the available constellation capacity.

While tasks are in the Active status, a list of other tasking requests within an organization that may potentially led to the task being Rejected is available to aid users in their prioritization process. This list is available when a tasking request has a status of Active with the additional message of Collection will be attempted but conflicting tasks may prevent task completion.

When checking the status of a tasking request using the GET /task or GET /tasks/paged/ API endpoints, the status history will return this unique message.

"statusHistory": [
{
"time": "2024-02-27T03:18:28.00Z",
"code": "active",
"message": "Collection will be attempted but conflicting tasks may prevent task completion."
}
],

An individual taskingRequestId with the above message can then be submitted to the GET /task/{taskingrequestId} endpoint. This returns information about each conflicting task that may prevent completion of the new tasking request:

"conflictingTasks": [
{
"taskingrequestId": "abcd1234-abcd-1234-abcd-1234abcd1234",
"taskingrequestName": "Request name here",
"repeatrequestId": "zyxw0987-zyxw-0987-zyxw-0987zyxw0987",
"collectionTier": "urgent",
"windowOpen": "2024-02-262T08:00:04.053000",
"windowClose": "2024-02-26T08:00:27.185000",
},
{
"taskingrequestId": "efgh5678- efgh-5678-efgh-5678efgh5678",
"taskingrequestName": "Request name here",
"repeatrequestId": "",
"collectionTier": "priority ",
"windowOpen": "2024-02-26T08:00:04.053000",
"windowClose": "2024-02-29T08:00:27.185000",
}
],

Notification about the existence of conflicting tasks is limited to your organization only. No task information is available to other Capella Space customers, even if your task conflicts with theirs or vice versa. Please note, a user will see basic information about all the conflicting tasks within their organization even if they are not the submitting user. If no conflicting tasks from within your organization exist,the API will instead return a value of null in the conflictingTasks field.

"statusHistory": [
{
"time": "2024-02-27T03:18:28.00Z",
"code": "active",
"message": "Collections will begin but full coverage cannot be guaranteed at this time.",
}
],
“conflictingTasks”: null,

The identification of conflicting tasks for a tasking request with the status of Active does not guarantee the tasking request will be rejected nor does the lack of conflicting tasks guarantee acceptance. A tasking request submitted at the Flexible tier, for example, may go to Active with a number of conflicting tasks yet the ability of the Scheduler to continually shuttle the request until the windowClose date could allow it to still be scheduled and collected. Only when a task moves to the status of Rejected with the message The tasking system is unable to schedule the tasking request due to conflicting tasks have the conflicting tasks prevented scheduling of the tasking request.

Tasking Request Rejected Due to Conflicting Tasks

Tasking requests can be rejected because the new request conflicts with one or more of your organization’s currently accepted tasks. If a tasking request is rejected due to conflicting tasks, the task status will be Rejected with the additional message that The tasking system is unable to schedule the tasking request due to conflicting tasks.

Conflicting tasks information is generated for single tasking requests and individual tasking requests generated by a repeat series. Basic information about the conflicting tasks will also be returned in order to help you decide if you want to cancel an existing task(s) to make room in the Scheduler for the new tasking request or resubmit the task with different parameters. See the Acting on Conflicting Tasks section below for more information.

When checking the status of a tasking request using the GET /task or GET /tasks/paged/ API endpoints, the status history messages for display this unique rejection message.

"statusHistory": [
{
"time": "2022-11-22T16:25:49.340Z",
"code": "rejected",
"message": "The tasking system is unable to schedule the tasking request due to conflicting tasks."
}
],

An individual taskingRequestId with the above error message can then be submitted to the GET /task/{taskingrequestId} endpoint. This returns information about each conflicting task that prevents acceptance of the new tasking request:

"conflictingTasks": [
{
"taskingrequestId": "abcd1234-abcd-1234-abcd-1234abcd1234",
"taskingrequestName": "Request name here",
"repeatrequestId": "zyxw0987-zyxw-0987-zyxw-0987zyxw0987",
"collectionTier": "urgent",
"windowOpen": "2022-11-02T08:00:04.053000",
"windowClose": "2022-11-02T08:00:27.185000",
},
{
"taskingrequestId": "efgh5678- efgh-5678-efgh-5678efgh5678",
"taskingrequestName": "Request name here",
"repeatrequestId": "",
"collectionTier": "priority ",
"windowOpen": "2022-11-02T08:00:04.053000",
"windowClose": "2022-11-05T08:00:27.185000",
}
],

Notification about the existence of conflicting tasks is limited to your organization only. No task information is available to other Capella Space customers, even if your task conflicts with theirs or vice versa. Please note, a user will see basic information about all the conflicting tasks within their organization even if they are not the submitting user.

If no conflicting tasks from within your organization exist, a tasking request may still be rejected. The API will instead return a value of null in conflictingTasks field.

"statusHistory": [
{
"time": "2022-11-22T16:25:49.340Z",
"code": "rejected",
"message": "Rejection reason here",
}
],
“conflictingTasks”: null,

Acting on Conflicting Task Information

When a tasking request is rejected due to conflicting tasks, you can decide to cancel a conflicting task using the taskingRequestId to make room in the schedule for your new tasking request. This can be done by submitting a PATCH request to cancel the tasking request. Once canceled, you can resubmit the rejected task. Tasking requests can be canceled up to 3 hours prior to the scheduled collection time.

The cancellation of a conflicting tasks and submission of a new tasking request should be done in the same 15-minute window to ensure the Scheduler picks up both requests in tandem. The Scheduler update runs at 00, 15, 30, and 45 minutes past the hour and updates based on information submitted within the following windows: 00:00-00:15, 00:15-00:30, 00:30-00:45, 00:45-00:60.

Cancellation of a previously accepted task to accommodate a new tasking request does not guarantee the new request will be schedule. For example, another customer’s tasking request may still be slotted in ahead of your new request(s) due to an earlier submission datetime, a higher collection tier, or a shorter duration window. If the canceled task is still needed, it is best to resubmit the canceled task with a colectionTier of lower importance and/or with a longer windowOpen and windowClosethan the task of higher importance.

Please note, if the conflicting task is part of an area (polygon-based) task that has already started collecting, the conflicting task cannot be cancelled. A child task from a repeat task series or the entire series can be cancelled. It is not recommended to cancel the entire repeat task series.

Another option is to use the information about the conflicting task(s) to change parameters of the rejected task such as the collectionTier or windowClose and resubmit to see if the scheduling system accepts the new tasking request. For rapid resubmission, you should use the Retask endpoints.

Additional Information

For more information on constellation tasking requests, see the API reference for Tasking.