Skip to content

STAPI Specification

The Sensor Tasking API (STAPI) defines a JSON-based web API to query for spatio-temporal analytic and data products derived from remote sensing (satellite or airborne) providers. The specification supports both products derived from new tasking and products from provider archives.

Generally speaking, users of STAPI will review available Products from one or more providers, request Opportunities that are possible Orders for those Products, and then submit one or more Orders to receive Products from Providers represented by one or more data artifacts.

The STAPI is primarily designed around machine-to-machine interactions.

STAPI Description

Endpoints

STAPI follows the modern web API practices of using HTTP Request Methods ("verbs") and the Content-Type header to drive behavior on resources ("nouns") in the endpoints listed below.

The following table describes the service resources available in a STAPI implementation that supports all three of the foundation specifications. Note that the 'Endpoint' column is more of an example in some cases.

Endpoint Specified in Link Relationship Returns Description
GET / Core root Landing Page Returns API metadata and links
GET /conformance Core conformance JSON API-level conformance classes
GET /products Core products Products Collection Figure out which queryables are available for which productId
GET /products/{productId} Core product Product
GET /products/{productId}/conformance Core conformance JSON Product-specific conformance classes
GET /products/{productId}/queryables Core queryables JSON Schema
GET /products/{productId}/order-parameters Core order-parameters JSON Schema
GET /orders Core orders Orders Collection
GET /orders/{orderId} Core order Order Object
GET /orders/{orderId}/statuses Order Statuses monitor [Order Status ]
POST /products/{productId}/orders Core create-order - Place an Order. Accepts an Order Request.
POST /products/{productId}/opportunities Opportunities opportunities Sync search: Opportunities Collection; Async search: Opportunity Search Record Explore available Opportunities. Accepts an Opportunity Request.
GET /products/{productId}/opportunities/{opportunityCollectionId} Opportunities (Async) opportunities Opportunities Collection Get the opportunity collection for an async opportunity search
GET /searches/opportunities Searches - Opportunity search-records [Opportunity Search Record]
GET /searches/opportunities/{searchRecordId} Searches - Opportunity search-record Opportunity Search Record
GET /searches/opportunities/{searchRecordId}/statuses Searches - Opportunity - Statuses monitor [Opportunity Search Status]