Budgets API

Manage credits across orders and jobs using the API.

Overview

A budget helps you organize and track credit usage in your UP42 account by grouping orders and processing jobs by cost center. This provides better visibility into spending and can be linked to a project ID for internal tracking.

Assign a budget when creating orders or processing jobs to attribute credit consumption.

Retrieve budgets

You can fetch budgets in one of the following ways:

  • To fetch all or a subset of budgets for your account, call the Get budgets endpoint.
  • To fetch a specific budget, call the Get a budget endpoint with the budget ID as the path parameter.
Budget statuses Budget statuses
API statusDescriptionConsole status
ACTIVEThe budget can be assigned to orders and processing jobs to track credit usage.Active
INACTIVEThe budget can’t be assigned to orders or processing jobs.Inactive

Retrieve budget usage

To fetch the number of credits consumed by a specific budget, call the Get budget usage endpoint with the budget ID as the path parameter.

Credit consumption is recorded when orders or processing jobs reach a consumption event associated with a specific status or substatus. The response contains the budget ID and the total consumed credits across all transactions associated with that budget:

JSON
{
"budgetId": "a0d443a2-41e8-4995-8b54-a5cc4c448227",
"consumedCredits": 15000
}
Consumption events Consumption events
TypeAPI statusConsole status
Catalog ordersStatus: CREATEDStatus: Created
Tasking ordersSubstatus: QUOTATION_ACCEPTEDSubstatus: Processed
Processing jobsStatus: acceptedStatus: In progress

Retrieve budget enforcement settings

To fetch the budget enforcement configuration for your account, call the Get budget enforcement settings endpoint. The response indicates whether enforcement is enabled on your account:

JSON
{
"budgetSettingId": "a0d443a2-41e8-4995-8b54-a5cc4c448227",
"enforcementEnabled": false
}
  • Budget validation enforced: Orders and processing jobs can’t be created without a budget.
  • Budget validation not enforced: Orders and processing jobs can be created without a budget.

If budget validation is enforced, you must pass a valid budgetId when creating orders or processing jobs.

Budgets in ordering
JSON
{
"displayName": "SPOT tasking order",
"dataProduct": "b1f8c48e-d16b-44c4-a1bb-5e8a24892e69",
"budgetId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"featureCollection": { ... }, // The geometry in GeoJSON format
"params": { ... } // The format of the payload depends on the data product
}
Budgets in processing
BASH
curl --request POST \
--url 'https://api.up42.com/v2/processing/processes/<process-id>/execution?budgetId=<uuid>&workspaceId=<uuid>' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"inputs": {
"title": "Processing imagery over Berlin",
"item": "https://api.up42.com/v2/assets/stac/collections/21c0b14e-3434-4675-98d1-f225507ded99/items/23e4567-e89b-12d3-a456-426614174000"
}
}
'