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
Status | Description |
---|---|
Received | Request has been input into the system for cost estimation. At this stage it has not been submitted for scheduling. |
Review | Request has been tessellated, at least some collection opportunities have been found. Cost estimate is ready. Waiting for user review and approval for tasking. |
Submitted | Customer 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. |
Active | Request 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. |
Accepted | Request is guaranteed for full collection. |
Rejected | Request cannot be completed. Tasks can be rejected due to conflicting tasks from within a user's organization. |
Expired | We have been able to determine that by the end of the request we will not be able to fully collect the AOI. |
Completed | Request has been finished. All required collects have been delivered. |
Canceled | Customer has cancelled the request. It will not be collected. |
Error | An error occurred during processing and ingestion of the request. |
Anomaly | An anomaly occurred during collect that prevents full completion of the tasking request. |
Retrying | The 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 windowClose
than 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.