basePath: /analytics consumes: - application/json definitions: CollectionBBOX: description: |- Four numbers representing: * most eastern longitude * most southern latitude * most western longitude * most northern latitude example: '[-180, -90, 180, 90]' items: type: number maxItems: 4 minItems: 4 type: array CollectionExtent: description: Describes the spatial and temporal extents of the collection. properties: spatial: properties: bbox: description: >- Bounding boxes describing the spatial extent of the feature collection. Note that this is the maximum extent of the collection over time instead of the minimum bounding box of results at any moment in time. items: $ref: '#/definitions/CollectionBBOX' minItems: 1 type: array type: object temporal: properties: interval: description: >- Interval describing the temporal extent of the feature collection. Note that this is the maximum extent of the collection over time instead of the minimum interval of results at any moment in time. items: $ref: '#/definitions/CollectionInterval' minItems: 1 type: array type: object type: object CollectionInfo: description: Metadata about a feature collection. properties: created: format: date-time type: string description: type: string extent: $ref: '#/definitions/CollectionExtent' id: type: string links: $ref: '#/definitions/CollectionInfoLinks' title: type: string required: - id - links type: object CollectionInfoLinks: items: $ref: '#/definitions/Link' type: array CollectionInterval: description: Begin and end times of the collection. example: '["2019-01-01T00:00:00.00Z", "2019-02-01T00:00:00.00Z"]' items: format: date-time type: string maxItems: 2 minItems: 2 type: array CollectionListCollections: items: $ref: '#/definitions/CollectionInfo' type: array CollectionListLinks: items: $ref: '#/definitions/Link' type: array Conformance: description: OGC API - Features conformance. properties: conformsTo: items: type: string type: array required: - conformsTo type: object Error: description: Error response. properties: code: type: integer message: type: string required: - message type: object Feature: description: A GeoJSON Feature object. properties: created: format: date-time type: string geometry: $ref: '#/definitions/Geometry' id: type: string links: $ref: '#/definitions/FeatureLinks' properties: additionalProperties: type: object type: object type: enum: - Feature type: string required: - type - geometry - properties type: object FeatureCollection: description: A GeoJSON FeatureCollection object. properties: features: $ref: '#/definitions/FeatureCollectionFeatures' links: $ref: '#/definitions/FeatureCollectionLinks' type: enum: - FeatureCollection type: string required: - type - features type: object FeatureCollectionFeatures: items: $ref: '#/definitions/Feature' type: array FeatureCollectionLinks: items: $ref: '#/definitions/Link' type: array x-omitempty: false FeatureLinks: items: $ref: '#/definitions/Link' type: array x-omitempty: false FeedInfo: description: Feed info encodes feed information. properties: created: format: date-time type: string description: type: string id: type: string links: $ref: '#/definitions/FeedInfoLinks' source: $ref: '#/definitions/FeedInfoSource' target: $ref: '#/definitions/FeedTarget' title: type: string updated: format: date-time type: string required: - title - description - source - target type: object FeedInfoLinks: items: $ref: '#/definitions/Link' type: array x-omitempty: false FeedInfoSource: items: $ref: '#/definitions/FeedSource' type: array FeedList: description: A list of feeds. properties: data: $ref: '#/definitions/FeedListData' links: $ref: '#/definitions/FeedListLinks' more: type: boolean required: - data type: object x-omitempty: false FeedListData: items: $ref: '#/definitions/FeedInfo' type: array x-omitempty: false FeedListLinks: items: $ref: '#/definitions/Link' type: array x-omitempty: false FeedOutputClassesItems: properties: color: type: string name: type: string required: - name - color type: object FeedSource: description: Source name, type and configuration. properties: config: $ref: '#/definitions/FeedSourceConfig' name: type: string type: $ref: '#/definitions/FeedSourceType' required: - name - type - config type: object FeedSourceConfig: additionalProperties: type: object description: Source imagery configuration. type: object FeedSourceType: description: An enum for source type. enum: - image - mosaic type: string FeedTarget: description: Target type for feed. properties: config: $ref: '#/definitions/FeedTargetConfig' type: $ref: '#/definitions/FeedTargetType' required: - type type: object FeedTargetConfig: additionalProperties: type: object description: Target results configuration. type: object FeedTargetType: description: An enum for target type. enum: - collection - mosaic type: string Geometry: description: A GeoJSON Geometry object. properties: type: type: string required: - type type: object x-go-type: import: package: code.earth.planet.com/product/sif/pkg/geo type: Geometry Link: properties: href: type: string rel: example: next type: string title: example: Title of the Document type: string type: example: application/json type: string required: - href type: object NewFeedInfoSource: items: $ref: '#/definitions/FeedSource' type: array ObservationInfoLinks: items: $ref: '#/definitions/Link' type: array x-omitempty: false ObservationInfoResources: items: $ref: '#/definitions/ResourceInfo' type: array ObservationListLinks: items: $ref: '#/definitions/Link' type: array x-omitempty: false PermissionInfoLinks: items: $ref: '#/definitions/Link' type: array x-omitempty: false PermissionListLinks: items: $ref: '#/definitions/Link' type: array x-omitempty: false ProtobufError: description: Error response. format: binary type: string ResourceInfo: description: Information for a resource. properties: created: format: date-time type: string geometry: $ref: '#/definitions/Geometry' observed: format: date-time type: string sourceName: type: string sourcePRN: type: string sourcePublished: format: date-time type: string sourceUpdated: format: date-time type: string required: - sourcePRN - sourceUpdated - sourcePublished - geometry - observed type: object Root: description: Root response. properties: links: $ref: '#/definitions/RootLinks' required: - links type: object RootLinks: items: $ref: '#/definitions/Link' type: array SubscriptionInfo: description: Information for a subscription. properties: created: format: date-time type: string description: type: string endTime: description: End time for feed results (exclusive). format: date-time type: string x-nullable: true feedID: type: string geometry: $ref: '#/definitions/Geometry' id: type: string links: $ref: '#/definitions/SubscriptionInfoLinks' sourceUpdated: description: The last monitored observation time. format: date-time type: string x-nullable: true startTime: description: Start time for feed results (inclusive). format: date-time type: string title: type: string updated: format: date-time type: string required: - title - feedID - geometry - startTime - endTime type: object SubscriptionInfoLinks: items: $ref: '#/definitions/Link' type: array x-omitempty: false SubscriptionList: description: A list of subscriptions. properties: data: $ref: '#/definitions/SubscriptionListData' links: $ref: '#/definitions/SubscriptionListLinks' more: type: boolean type: object x-omitempty: false SubscriptionListData: items: $ref: '#/definitions/SubscriptionInfo' type: array x-omitempty: false SubscriptionListLinks: items: $ref: '#/definitions/Link' type: array x-omitempty: false UpdateFeedProcessInfoSource: items: $ref: '#/definitions/FeedSource' type: array x-omitempty: false host: api.planet.com info: description: |- Planet Analytics leverages computer vision to transform our imagery into analytic feeds that detect and classify objects, identify geographic features, and monitor change over time across the globe. The Analytics API provides operations for working with [feeds](#tag/Feeds), [subscriptions](#tag/Subscriptions), and collections of [results](#tag/Results). title: Planet Analytics version: v1 paths: /: get: description: Get links to resources provided by the service. responses: '200': description: Service root. schema: $ref: '#/definitions/Root' default: description: Trouble rendering service root. schema: $ref: '#/definitions/Error' summary: Service root tags: - OGC /collections/{id}: get: description: | Get metadata for a single results collection. responses: '200': description: Collection info. schema: $ref: '#/definitions/CollectionInfo' '401': $ref: '#/responses/UnauthenticatedError' '404': $ref: '#/responses/NotFound' default: description: Trouble getting collection. schema: $ref: '#/definitions/Error' summary: Get collection tags: - Results parameters: - description: Subscription ID. in: path name: id required: true type: string /collections/{subscriptionID}/items/: get: description: | Paginate through results for a subscription. Results are returned in descending creation order. Result IDs act as cursors when paginating backwards or forwards. To get older pages of results, use the `before` query parameter with the id of the oldest (last) result in a page of results. When returning to the API to query for newly created results, use the `after` query parameter with the id of the newest (first) result in a page. Results have a `created` field that can be stored and used later for sorting to determine the oldest or newest result from a previous query. produces: - application/geo+json responses: '200': description: A GeoJSON FeatureCollection representing a page of result. schema: $ref: '#/definitions/FeatureCollection' '401': $ref: '#/responses/UnauthenticatedError' '404': $ref: '#/responses/NotFound' default: description: Trouble getting results. schema: $ref: '#/definitions/Error' summary: List results tags: - Results parameters: - description: Subscription ID. in: path name: subscriptionID required: true type: string - default: 250 description: | Upper limit for the number of results returned. format: uint64 in: query maximum: 10000 minimum: 1 name: limit type: integer - description: | Only return results that intersect the provided bounding box. Bounding box values are min longitude, min latitude, max longitude, and max latitude (e.g. `-100,-50,100,50`). in: query items: type: number maxItems: 4 minItems: 4 name: bbox type: array - description: | Alias for `datetime`. Please use the `datetime` parameter instead. This property is deprecated and will be removed in a future release. in: query name: time type: string - description: > Only return results that were observed in the given interval or instant. The time can be a closed interval (e.g. `2019-01-01T00:00:00.00Z/2019-02-01T00:00:00.00Z` for the month of January), an open interval (e.g. `2019-01-01T00:00:00.00Z/..` for all results in January or later and `../2019-01-01T00:00:00.00Z` for all results before January), or an instant (e.g. `2019-01-01T00:00:00.00Z`). Start times for intervals are inclusive, and end times are exclusive. in: query name: datetime type: string - description: | Get results published before the item with the provided ID. in: query name: before type: string - description: | Get results published after the item with the provided ID. in: query name: after type: string /collections/{subscriptionID}/items/{resultID}: get: description: Get a single result. produces: - application/geo+json responses: '200': description: A GeoJSON Feature representing a result. schema: $ref: '#/definitions/Feature' '401': $ref: '#/responses/UnauthenticatedError' '404': $ref: '#/responses/NotFound' default: description: Trouble getting result. schema: $ref: '#/definitions/Error' summary: Get result tags: - Results parameters: - description: Subscription ID. in: path name: subscriptionID required: true type: string - description: Result ID. in: path name: resultID required: true type: string /conformance: get: description: Get details about OGC API - Features conformance. responses: '200': description: Conformance details. schema: $ref: '#/definitions/Conformance' default: description: Trouble rendering service conformance. schema: $ref: '#/definitions/Error' summary: Conformance details tags: - OGC /feeds/: get: description: >- Get a list of available feeds. Feeds are returned in descending creation order (most recently created first). parameters: - description: > When paginating, provide the identifier for last feed on previous page. in: query name: before type: string - default: 250 description: | Upper limit for the number of feeds returned. format: uint64 in: query maximum: 10000 minimum: 1 name: limit type: integer responses: '200': description: List of feeds. schema: $ref: '#/definitions/FeedList' '401': $ref: '#/responses/UnauthenticatedError' default: description: Trouble listing feeds. schema: $ref: '#/definitions/Error' summary: List feeds tags: - Feeds /feeds/{id}: get: description: Get details for a feed. responses: '200': description: Feed info. schema: $ref: '#/definitions/FeedInfo' '401': $ref: '#/responses/UnauthenticatedError' '404': $ref: '#/responses/NotFound' default: description: Trouble getting feed. schema: $ref: '#/definitions/Error' summary: Get feed tags: - Feeds parameters: - description: Feed ID. in: path name: id required: true type: string /subscriptions/: get: description: >- Get a list of all subscriptions. Subscriptions are returned in descending creation order (most recently created first). parameters: - in: query name: feedID type: string - description: > When paginating, provide the identifier for last subscription on previous page. in: query name: before type: string - default: 250 description: | Upper limit for the number of subscriptions returned. format: uint64 in: query maximum: 10000 minimum: 1 name: limit type: integer responses: '200': description: Subscription list. schema: $ref: '#/definitions/SubscriptionList' '401': $ref: '#/responses/UnauthenticatedError' default: description: Trouble listing subscriptions. schema: $ref: '#/definitions/Error' summary: List subscriptions tags: - Subscriptions /subscriptions/{id}: get: description: Get subscription info. responses: '200': description: Subscription info. schema: $ref: '#/definitions/SubscriptionInfo' '401': $ref: '#/responses/UnauthenticatedError' '404': $ref: '#/responses/NotFound' default: description: Trouble getting subscription. schema: $ref: '#/definitions/Error' summary: Get subscription tags: - Subscriptions parameters: - description: Subscription ID. in: path name: id required: true type: string produces: - application/json - application/geo+json responses: ForbiddenError: description: Insufficient permission to perform the requested action. schema: $ref: '#/definitions/Error' NotFound: description: The requested resource was not found. schema: $ref: '#/definitions/Error' ProtobufNotFound: description: The requested resource was not found. schema: $ref: '#/definitions/ProtobufError' UnauthenticatedError: description: Authentication information is missing or invalid. headers: WWW_Authenticate: type: string schemes: - https security: - JWT: [] - APIKey: [] - Basic: [] securityDefinitions: APIKey: description: >- API key authentication allows authentication on behalf of a user or an organization using an API key only. Provide the API key in a header like this: `Authorization: api-key ${API_KEY}`. in: header name: Authorization type: apiKey Basic: description: >- Basic authentication is supported using base64-encoded `${API_KEY}:` (with a empty password). Provide the encoded credentials in a header like this: `Authorization: Basic ${ENCODED_CREDENTIALS}`. type: basic JWT: description: |- JWT authentication allows users to authenticate using tokens from the https://account.planet.com/oauth2/planet issuer. Provide this token in a header like this: `Authorization: Bearer ${JWT}`. in: header name: Authorization type: apiKey QueryToken: description: |- Some routes allow authentication with a JWT in a query string. Provide the JWT in a request like this: `path?token=${JWT}`. in: query name: token type: apiKey swagger: '2.0' tags: - description: >- A feed represents an analytic derived from Planet imagery. For example, a roads feed represents roads detected on monthly Planet mosaics and a vessels feed represents ships detected on daily Planet imagery. name: Feeds - description: |- Users have subscriptions to feeds in a specific area of interest (AOI) and time interval of interest (TOI). For example, a subscription could be road detection over twelve months in San Francisco, California. name: Subscriptions - description: >- When new imagery is published in a user's subscription, Planet’s computer vision operations process the imagery, and its output is added to the collection of results associated with the subscription. For example, if a user has a subscription for the vessel feed, newly published daily imagery within that subscription AOI will be processed and new ship detections will be added to the subscription results. For raster-based output like building detections, results representing the footprint and linking to the raster data are added to the collection of subscription results. name: Results - description: Operations specific to the OGC API - Features interface. name: OGC