Operations Reference

Every capability is an operation. Each is invoked at the operation endpoint with its typed input as the request body:

POST /v1/op/{operation_id}

(see Core Concepts). The tables below list each operation with its side-effect tier and the scope it requires. Read operations also have idiomatic GET routes; the spend operations (marked spend) accept an Idempotency-Key header.

The exact request/response schema for every operation is published in the OpenAPI document, from which the Python and TypeScript SDKs are generated — so the types here never drift from the live API.

Catalog & search

Browse and search commercial + public satellite imagery.

OperationSide-effectScopeDescription
catalog.searchreadcatalog:readSearch a commercial-imagery host’s catalog (STAC, price-enriched)
catalog.search_streamreadcatalog:readStreaming (NDJSON) variant of catalog.search for large result sets

Orders & tasking

Place and manage archive orders and new-acquisition (tasking) orders.

OperationSide-effectScopeDescription
orders.archive.estimatereadorders:readPreview the server-authoritative AOI price for a cart of archive captures
orders.archive.placespendorders:writePlace an archive order for a cart of captures (reserves credits; accepts Idempotency-Key)
orders.cancelspendorders:writeCancel an order (policy-gated), refunding/voiding its reservation
orders.tasking.estimatereadorders:readPreview the server-authoritative price for an AOI-priced tasking request
orders.tasking.placespendorders:writePlace a tasking (new-acquisition) order over an AOI (reserves credits; accepts Idempotency-Key)

Items, collections & assets

Manage STAC items, the collections that organize them, and their file assets.

OperationSide-effectScopeDescription
items.createcomputeitems:writeCreate an item within a project (editor/admin on the project)
items.deletedestructiveitems:writeSoft-delete an item (admin/editor on the item’s project required)
items.detect_asset_bandscomputeitems:readAuto-detect band names for an asset from its reflectance statistics
items.duplicatecomputeitems:writeDuplicate an item with its assets + viz profiles (admin/editor on the project)
items.getreaditems:readFetch a single catalog item by id
items.searchreaditems:readSearch a project’s items with STAC-compatible filters (project member access)
items.search_orgreaditems:readSearch all items across the caller’s organization (STAC-compatible)
items.set_asset_band_namescomputeitems:writeRename the bands on an item’s asset (project member access)
items.updatecomputeitems:writeUpdate an item’s mutable metadata (editor/admin on its project)
collections.createcomputecollections:writeCreate an organizing collection within a project (editor/admin required)
collections.deletedestructivecollections:writeSoft-delete a collection, unlinking its items (project admin required)
collections.updatecomputecollections:writeUpdate a collection’s metadata (editor/admin required)
assets.deletedestructiveitems:writeDelete an asset (file) from an item (item access required)

Uploads

Bring your own data into a project as STAC items + assets.

OperationSide-effectScopeDescription
uploads.completecomputeuploads:writeFinalize an upload session — ingest the uploaded file(s) into items + assets
uploads.failcomputeuploads:writeMark an upload session failed, releasing its storage reservation
uploads.initiatecomputeuploads:writeStart an upload session, reserving storage quota (editor/admin on the project)
uploads.progresscomputeuploads:writeUpdate an upload session’s progress
uploads.signed_urlcomputeuploads:writeMint a signed URL for uploading a file into an upload session

Processing

Create, dispatch, and register the outputs of processing jobs (incl. clipping).

OperationSide-effectScopeDescription
processing.createspendprocessing:processCreate a processing job (reserves credits; dispatch separately)
processing.create_and_dispatchspendprocessing:processCreate and immediately dispatch a processing job (atomic; reserves credits)
processing.dispatchspendprocessing:processDispatch an existing pending processing job to its registered worker
clip.create_from_itemspendprocessing:processClip a source item to an AOI as a processing job

Visualization & band formulas

Saved visualization profiles and reusable band-math formulas.

OperationSide-effectScopeDescription
visualization.profile.createcomputeitems:writeCreate a visualization profile for an item (editor/admin)
visualization.profile.deletedestructiveitems:writeDelete a visualization profile (editor/admin)
visualization.profile.set_defaultcomputeitems:writeSet a profile as the item’s default (editor/admin)
visualization.profile.updatecomputeitems:writeUpdate a visualization profile (editor/admin)
band_formulas.createcomputeband_formulas:writeCreate a custom band-math formula for the caller’s organization (write scope)
band_formulas.deletedestructiveband_formulas:writeDelete a custom band-math formula (write scope; templates are protected)
band_formulas.updatecomputeband_formulas:writeUpdate a custom band-math formula (write scope; org-scoped)

Reports

Generate exportable reports.

OperationSide-effectScopeDescription
reports.generatereadreports:readGenerate a rendered, exportable report

Billing & payments

Credits, top-ups, payment methods, and large-purchase approvals.

OperationSide-effectScopeDescription
billing.approvals.approvespendbilling:writeApprove a credit purchase and charge the saved card (human approver only)
billing.approvals.rejectcomputebilling:writeReject a pending credit-purchase approval
billing.approvals.requestcomputebilling:writeRequest approval for a large credit purchase
billing.set_auto_topupcomputebilling:writeConfigure automatic top-up (requires a default card when enabling)
billing.topupspendbilling:writeTop up the org’s credit balance via an off-session card charge (accepts Idempotency-Key)
payment_methods.attachcomputebilling:writePersist a confirmed Stripe PaymentMethod for the org
payment_methods.create_setup_intentcomputebilling:writeCreate a Stripe SetupIntent to attach a card to the org (off-session)
payment_methods.detachdestructivebilling:writeDetach (remove) a saved payment method from the org
payment_methods.set_defaultcomputebilling:writeMake a saved payment method the org’s default (used by off-session charges)

Projects

Projects (the access + storage boundary) and their membership.

OperationSide-effectScopeDescription
projects.add_membercomputeprojects:writeAdd a member to a workspace (project admin/owner)
projects.archivecomputeprojects:writeArchive a workspace, hiding it from the default list (project admin/owner)
projects.createcomputeprojects:writeCreate a workspace in the caller’s organization (provisions storage)
projects.deletedestructiveprojects:writePermanently delete a workspace and all its data (project admin/owner)
projects.remove_memberdestructiveprojects:writeRemove a member from a workspace (project admin/owner)
projects.updatecomputeprojects:writeUpdate a workspace’s metadata (project admin/owner)
projects.update_membercomputeprojects:writeChange a member’s role in a workspace (project admin/owner)

Sharing & API keys

External share links and organization API keys.

OperationSide-effectScopeDescription
share.link.createshare/exportshares:writeCreate a password-protected share link for an item or collection
share.link.revokedestructiveshares:writeRevoke a share link (editor/admin on the shared target’s project)
api_keys.createshare/exportapi_keys:writeMint an organization API key (the secret is returned once)
api_keys.revokedestructiveapi_keys:writeRevoke an organization API key

Alerts, notifications & subscriptions

Standing alert rules, in-app notifications, and event/webhook subscriptions.

OperationSide-effectScopeDescription
alerts.acknowledge_eventcomputealerts:writeMark an alert event acknowledged (org-scoped)
alerts.create_rulecomputealerts:writeCreate an alert rule for the caller’s organization
alerts.delete_ruledestructivealerts:writeDelete an alert rule (org-scoped)
alerts.update_rulecomputealerts:writeUpdate an alert rule (org-scoped)
notifications.dismisscomputenotifications:writeDismiss one of the caller’s notifications (hide it from the list)
notifications.mark_all_readcomputenotifications:writeMark all of the caller’s unread notifications as read
notifications.mark_readcomputenotifications:writeMark one of the caller’s notifications as read
event_subscriptions.createcomputeevent_subscriptions:writeCreate a webhook subscription for the caller’s organization
event_subscriptions.deletedestructiveevent_subscriptions:writeDelete a webhook subscription (org-scoped)
event_subscriptions.testcomputeevent_subscriptions:writeSend a test event to a webhook subscription and return the real delivery result
event_subscriptions.updatecomputeevent_subscriptions:writeUpdate a webhook subscription (org-scoped)

Analytics

Analytics runs through a single operation, analytics.execute, which dispatches to a registered analytics method by name and validates the parameters against that method’s own schema. Built-in methods include zonal statistics, spectral indices, time series, and change detection (which compares a before and after item). Each method takes one or many items as input, and new methods can be added without changing the API surface — they become available through the same analytics.execute operation.

Provenance & lineage

Walk the by-construction lineage graph.

OperationSide-effectScopeDescription
provenance.getreadprovenance:readWalk the lineage graph for an entity (ancestors / descendants), org-scoped to a root you own

STAC & resource-style routes

Beyond the operation endpoints above, the platform exposes a STAC-compatible API (/assets/stac/search, collections, items) and resource-style order routes (/v2/orders, /v2/tasking/...) that mirror common geospatial conventions, so existing STAC clients and SDKs work unmodified. These run the same operations underneath, with the same auth, scopes, and provenance.

Reads

In addition to the write operations listed above, every domain exposes typed read operations (e.g. orders.get, orders.list, items.get, billing.balance, processing.jobs.list, catalog/glossary lookups). Reads require the corresponding :read scope, never touch the spend or provenance machinery, and are also reachable on idiomatic GET routes.