NASA Earthdata Capabilities API

Essential characteristics of this API including information about the data.

OpenAPI Specification

nasa-earthdata-capabilities-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Harmony API conforming to OGC API - Coverages Capabilities API
  description: Harmony API for requesting coverages for a range of NASA EOSDIS data using thc OGC API - Coverages
  version: 1.0.0
servers:
- url: /{cmrCollectionId}/ogc-api-coverages/1.0.0
  description: Harmony server
  variables:
    cmrCollectionId:
      default: no-default-cmr-collection
      description: The CMR Collection ID for the dataset whose coverage is being accessed
tags:
- name: Capabilities
  description: Essential characteristics of this API including information about the data.
paths:
  /:
    get:
      tags:
      - Capabilities
      summary: landing page of this API
      description: The landing page provides links to the API definition, the Conformance statements and the metadata about the coverage data in this dataset.
      operationId: getLandingPage
      responses:
        '200':
          description: links to the API capabilities
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/root'
        default:
          $ref: '#/components/responses/default'
  /conformance:
    get:
      tags:
      - Capabilities
      summary: information about standards that this API conforms to
      description: list all requirements classes specified in a standard that the server conforms to
      operationId: getRequirementsClasses
      responses:
        '200':
          description: the URIs of all requirements classes supported by the server
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/req-classes'
        default:
          $ref: '#/components/responses/default'
  /collections:
    get:
      tags:
      - Capabilities
      summary: Describe the collections in the dataset
      operationId: describeCollections
      parameters:
      - name: limit
        in: query
        description: Not yet implemented
        required: false
        style: form
        explode: false
        schema:
          maximum: 10000
          minimum: 1
          type: integer
          default: 10
      - name: bbox
        in: query
        description: Not yet implemented
        required: false
        style: form
        explode: false
        schema:
          maxItems: 6
          minItems: 4
          type: array
          items:
            type: number
      - name: time
        in: query
        description: Not yet implemented
        required: false
        style: form
        explode: false
        schema:
          type: string
      - name: f
        in: query
        description: 'The optional f parameter indicates the output format which the server shall provide as part of the response document. It has preference over the HTTP Accept header. The default format is JSON.

          '
        required: false
        style: form
        explode: false
        schema:
          type: string
          default: json
          enum:
          - json
          - html
      responses:
        '200':
          description: Metadata about the collections shared by this API.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/content'
            text/html:
              schema:
                type: string
        default:
          $ref: '#/components/responses/default'
  /collections/{collectionId}:
    get:
      tags:
      - Capabilities
      summary: Describe the {collectionId} collection
      operationId: describeCollection
      parameters:
      - name: collectionId
        in: path
        description: Not yet implemented
        required: true
        style: simple
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: Metadata about the {collectionId} collection shared by this API.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/collectionInfo'
            text/html:
              schema:
                type: string
        default:
          $ref: '#/components/responses/default'
components:
  schemas:
    root:
      required:
      - links
      type: object
      properties:
        links:
          type: array
          example:
          - href: http://data.example.org/
            rel: self
            type: application/json
            title: this document
          - href: http://data.example.org/api
            rel: service
            type: application/openapi+json;version=3.0
            title: the API definition
          - href: http://data.example.org/conformance
            rel: conformance
            type: application/json
            title: OGC conformance classes implemented by this API
          - href: http://data.example.org/collections
            title: Metadata about the resource collections
          items:
            $ref: '#/components/schemas/link'
    content:
      required:
      - collections
      - links
      type: object
      properties:
        links:
          type: array
          example:
          - href: http://data.example.org/collections.json
            rel: self
            type: application/json
            title: this document
          - href: http://data.example.org/collections.html
            rel: alternate
            type: text/html
            title: this document as HTML
          - href: http://schemas.example.org/1.0/foobar.xsd
            rel: describedBy
            type: application/xml
            title: XML schema for Acme Corporation data
          items:
            $ref: '#/components/schemas/link'
        collections:
          type: array
          items:
            $ref: '#/components/schemas/collectionInfo'
    link:
      required:
      - href
      type: object
      properties:
        href:
          type: string
        rel:
          type: string
          example: prev
        type:
          type: string
          example: application/geo+json
        hreflang:
          type: string
          example: en
    exception:
      required:
      - code
      type: object
      properties:
        code:
          type: string
        description:
          type: string
    req-classes:
      required:
      - conformsTo
      type: object
      properties:
        conformsTo:
          type: array
          example:
          - http://www.opengis.net/spec/ogcapi-common/1.0/conf/core
          - http://www.opengis.net/spec/ogcapi-common/1.0/conf/collections
          - http://www.opengis.net/spec/ogcapi-common/1.0/conf/oas3
          - http://www.opengis.net/spec/ogcapi-common/1.0/conf/html
          - http://www.opengis.net/spec/ogcapi-common/1.0/conf/geojson
          - http://www.opengis.net/spec/ogcapi-coverages/1.0/conf/core
          items:
            type: string
    collectionInfo:
      required:
      - links
      - name
      type: object
      properties:
        name:
          type: string
          description: identifier of the collection used, for example, in URIs
          example: buildings
        title:
          type: string
          description: human readable title of the collection
          example: Buildings
        description:
          type: string
          description: a description of the data in the collection
          example: Buildings in the city of Bonn.
        links:
          type: array
          example:
          - href: http://data.example.org/collections/buildings/items
            rel: item
            type: application/geo+json
            title: Buildings
          - href: http://example.org/concepts/building.html
            rel: describedBy
            type: text/html
            title: Coverage for buildings
          items:
            $ref: '#/components/schemas/link'
        extent:
          $ref: '#/components/schemas/extent'
        crs:
          type: array
          description: The coordinate reference systems in which geometries may be retrieved. Coordinate reference systems are identified by a URI. The first coordinate reference system is the coordinate reference system that is used by default. This is always "http://www.opengis.net/def/crs/OGC/1.3/CRS84", i.e. WGS84 longitude/latitude.
          items:
            type: string
          default:
          - http://www.opengis.net/def/crs/OGC/1.3/CRS84
    extent:
      type: object
      properties:
        crs:
          type: string
          description: Coordinate reference system of the coordinates in the spatial extent (property `spatial`). In the Core, only WGS84 longitude/latitude is supported. Extensions may support additional coordinate reference systems.
          default: http://www.opengis.net/def/crs/OGC/1.3/CRS84
          enum:
          - http://www.opengis.net/def/crs/OGC/1.3/CRS84
        spatial:
          maxItems: 6
          minItems: 4
          type: array
          description: West, north, east, south edges of the spatial extent. The minimum and maximum values apply to the coordinate reference system WGS84 longitude/latitude that is supported in the Core. If, for example, a projected coordinate reference system is used, the minimum and maximum values need to be adjusted.
          example:
          - -180
          - -90
          - 180
          - 90
          items:
            type: number
        trs:
          type: string
          description: Temporal reference system of the coordinates in the temporal extent (property `temporal`). In the Core, only the Gregorian calendar is supported. Extensions may support additional temporal reference systems.
          default: http://www.opengis.net/def/uom/ISO-8601/0/Gregorian
          enum:
          - http://www.opengis.net/def/uom/ISO-8601/0/Gregorian
        temporal:
          maxItems: 2
          minItems: 2
          type: array
          description: Begin and end times of the temporal extent.
          example:
          - '2011-11-11T12:22:11.000Z'
          - '2012-11-24T12:32:43.000Z'
          items:
            type: string
            format: dateTime
  responses:
    default:
      description: An error occured.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/exception'
        text/html:
          schema:
            type: string