USGS Water Data APIs

Modernized USGS Water Data APIs providing real-time and historical water resource data including continuous sensor measurements, daily values, and water quality information from thousands of monitoring sites nationwide. Supports OGC API standards and STAC for geospatial data access.

OpenAPI Specification

doi-usgs-water-openapi.yml Raw ↑
components:
  parameters:
    bbox:
      description: Only features that have a geometry that intersects the bounding
        box are selected.The bounding box is provided as four or six numbers, depending
        on whether the coordinate reference system includes a vertical axis (height
        or depth).
      explode: false
      in: query
      name: bbox
      required: false
      schema:
        items:
          type: number
        maxItems: 6
        minItems: 4
        type: array
      style: form
    bbox-crs:
      description: Indicates the coordinate reference system for the given bbox coordinates.
      explode: false
      in: query
      name: bbox-crs
      required: false
      schema:
        format: uri
        type: string
      style: form
    bbox-crs-epsg:
      description: Indicates the EPSG for the given bbox coordinates.
      explode: false
      in: query
      name: bbox-crs
      required: false
      schema:
        default: 4326
        type: integer
      style: form
    crs:
      description: Indicates the coordinate reference system for the results.
      explode: false
      in: query
      name: crs
      required: false
      schema:
        format: uri
        type: string
      style: form
    f:
      description: The optional f parameter indicates the output format which the
        server shall provide as part of the response document.  The default format
        is GeoJSON.  CSV is also available.
      explode: false
      in: query
      name: f
      required: false
      schema:
        default: json
        enum:
        - json
        - html
        - jsonld
        - csv
        type: string
      style: form
    filter:
      description: "CQL Text filter expression.  CQL JSON cannot be used here, only\
        \ in the body. \nSee also: https://docs.pygeoapi.io/en/latest/cql.html \n\n\
        Example: time_series_id IN ('64ee32f5350a4ec4967435dcd2e364ea', '3e55d9c2d8a54bec9ca5e292b07d5a96')"
      in: query
      name: filter
      required: false
      schema:
        type: string
    filter-lang:
      description: CQL language used (e.g., cql-text, cql-json)
      in: query
      name: filter-lang
      required: false
      schema:
        enum:
        - cql-text
        - cql-json
        type: string
    lang:
      description: The optional lang parameter instructs the server return a response
        in a certain language, if supported.  If the language is not among the available
        values, the Accept-Language header language will be used if it is supported.
        If the header is missing, the default server language is used. Note that providers
        may only support a single language (or often no language at all), that can
        be different from the server language.  Language strings can be written in
        a complex (e.g. "fr-CA,fr;q=0.9,en-US;q=0.8,en;q=0.7"), simple (e.g. "de")
        or locale-like (e.g. "de-CH" or "fr_BE") fashion.
      in: query
      name: lang
      required: false
      schema:
        default: en-US
        enum:
        - en-US
        type: string
    limit:
      description: The optional limit parameter limits the number of items that are
        presented in the response document
      explode: false
      in: query
      name: limit
      required: false
      schema:
        default: 100
        maximum: 10000
        minimum: 1
        type: integer
      style: form
    offset:
      description: The optional offset parameter indicates the index within the result
        set from which the server shall begin presenting results in the response document.  The
        first element has an index of 0 (default).
      explode: false
      in: query
      name: offset
      required: false
      schema:
        default: 0
        minimum: 0
        type: integer
      style: form
    properties:
      description: The properties that should be included. The parameter value is
        a comma-separated list of property names.
      explode: false
      in: query
      name: properties
      required: false
      schema:
        items:
          type: string
        type: array
      style: form
    resourceId:
      description: Configuration resource identifier
      in: path
      name: resourceId
      required: true
      schema:
        default: latest-continuous
        type: string
    skipGeometry:
      description: This option can be used to skip response geometries for each feature.
      explode: false
      in: query
      name: skipGeometry
      required: false
      schema:
        default: false
        type: boolean
      style: form
    statistic_id:
      description: A code corresponding to the statistic an observation represents.
        Example codes include 00001 (max), 00002 (min), and 00003 (mean). A complete
        list of codes and their descriptions can be found at [https://help.waterdata.usgs.gov/code/stat_cd_nm_query?stat_nm_cd=%25&fmt=html](https://help.waterdata.usgs.gov/code/stat_cd_nm_query?stat_nm_cd=%25&fmt=html).
      explode: false
      in: query
      name: statistic_id
      required: false
      schema:
        description: A code corresponding to the statistic an observation represents.
          Example codes include 00001 (max), 00002 (min), and 00003 (mean). A complete
          list of codes and their descriptions can be found at [https://help.waterdata.usgs.gov/code/stat_cd_nm_query?stat_nm_cd=%25&fmt=html](https://help.waterdata.usgs.gov/code/stat_cd_nm_query?stat_nm_cd=%25&fmt=html).
        title: Statistic ID
        type: string
      style: form
    time:
      description: "The date an observation represents. You can query this field using\
        \ date-times or intervals, adhering to RFC 3339, or using ISO 8601 duration\
        \ objects. Intervals may be bounded or half-bounded (double-dots at start\
        \ or end).\nExamples:\n\n  - A date-time: \"2018-02-12T23:20:50Z\"\n  - A\
        \ bounded interval: \"2018-02-12T00:00:00Z/2018-03-18T12:31:12Z\"\n  - Half-bounded\
        \ intervals: \"2018-02-12T00:00:00Z/..\" or \"../2018-03-18T12:31:12Z\"\n\
        \  - Duration objects: \"P1M\" for data from the past month or \"PT36H\" for\
        \ the last 36 hours\n\nOnly features that have a `time` that intersects the\
        \ value of datetime are selected. If a feature has multiple temporal properties,\
        \ it is the decision of the server whether only a single temporal property\
        \ is used to determine the extent or all relevant temporal properties.\n"
      explode: false
      in: query
      name: time
      required: false
      schema:
        description: "The date an observation represents. You can query this field\
          \ using date-times or intervals, adhering to RFC 3339, or using ISO 8601\
          \ duration objects. Intervals may be bounded or half-bounded (double-dots\
          \ at start or end).\nExamples:\n\n  - A date-time: \"2018-02-12T23:20:50Z\"\
          \n  - A bounded interval: \"2018-02-12T00:00:00Z/2018-03-18T12:31:12Z\"\n\
          \  - Half-bounded intervals: \"2018-02-12T00:00:00Z/..\" or \"../2018-03-18T12:31:12Z\"\
          \n  - Duration objects: \"P1M\" for data from the past month or \"PT36H\"\
          \ for the last 36 hours\n\nOnly features that have a `time` that intersects\
          \ the value of datetime are selected. If a feature has multiple temporal\
          \ properties, it is the decision of the server whether only a single temporal\
          \ property is used to determine the extent or all relevant temporal properties.\n"
        title: Time
        type: string
      style: form
    vendorSpecificParameters:
      description: Additional "free-form" parameters that are not explicitly defined
      in: query
      name: vendorSpecificParameters
      schema:
        additionalProperties: true
        type: object
      style: form
    wda_sortby:
      description: "Specifies a comma-separated list of property names by which the\
        \ response shall be sorted.  If the property name is preceded by a plus (+)\
        \ sign it indicates an ascending sort for that property.  If the property\
        \ name is preceded by a minus (-) sign it indicates a descending sort for\
        \ that property.  If the property is not preceded by a plus or minus, then\
        \ the default sort order implied is ascending (+).  \n\nOnly a single page\
        \ of data can be returned when specifying sortby. If you need more than a\
        \ single page of data, don't specify a sortby value and sort the full data\
        \ set after it's been downloaded."
      explode: false
      in: query
      name: sortby
      required: false
      schema:
        items:
          pattern: '[+|-]?[A-Za-z_].*'
          type: string
        minItems: 1
        type: array
      style: form
  responses:
    '200':
      description: successful operation
    '204':
      description: no content
    Forbidden403:
      content:
        application/json:
          examples:
            missingApiKey:
              summary: Missing API Key
              value:
                error:
                  code: API_KEY_MISSING
                  message: No api_key was supplied. Get one at https://api.waterdata.usgs.gov/signup/
          schema:
            $ref: '#/components/schemas/Error'
        application/xml:
          example: "&ltresponse&gt\n      &lterror&gt\n        &ltcode&gtAPI_KEY_MISSING&lt/code&gt\n\
            \        &ltmessage&gtNo api_key was supplied. Get one at https://api.waterdata.usgs.gov/signup/&lt/message&gt\n\
            \      &lt/error&gt\n    &lt/response&gt"
          schema:
            properties:
              response:
                properties:
                  error:
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                    required:
                    - code
                    - message
                    type: object
                required:
                - error
                type: object
            type: object
        text/csv:
          examples:
            missingApiKeyCsv:
              summary: Missing API Key (CSV)
              value: 'Error Code,Error Message

                API_KEY_MISSING, No api_key was supplied. Get one at https://api.waterdata.usgs.gov/signup/'
          schema:
            type: string
        text/html:
          examples:
            missingApiKeyHtml:
              summary: Missing API Key (HTML)
              value: "&lthtml&gt\n      &ltbody&gt\n        &lth1&gtAPI_KEY_MISSING&lt/h1&gt\n\
                \        &ltp&gtNo api_key was supplied. Get one at https://api.waterdata.usgs.gov/signup/&lt/p&gt\n\
                \      &lt/body&gt\n    &lt/html&gt"
          schema:
            type: string
      description: Forbidden - API key is missing or not authorized for this resource.
    Queryables:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/queryables'
      description: successful queryables operation
    Tiles:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/tiles'
      description: Retrieves the tiles description for this collection
    TooManyRequests429:
      content:
        application/json:
          examples:
            rateLimitExceeded:
              summary: Rate Limit Exceeded
              value:
                error:
                  code: OVER_RATE_LIMIT
                  message: You have exceeded your rate limit. Make sure you provided
                    your API key from https://api.waterdata.usgs.gov/signup/, then
                    either try again later or contact us at https://waterdata.usgs.gov/questions-comments/?referrerUrl=https://api.waterdata.usgs.gov
                    for assistance.
          schema:
            $ref: '#/components/schemas/Error'
        application/xml:
          example: "&ltresponse&gt\n      &lterror&gt\n        &ltcode&gtOVER_RATE_LIMIT&lt/code&gt\n\
            \        &ltmessage&gtYou have exceeded your rate limit. Make sure you\
            \ provided your API key from https://api.waterdata.usgs.gov/signup/, then\
            \ either try again later or contact us at https://waterdata.usgs.gov/questions-comments/?referrerUrl=https://api.waterdata.usgs.gov\
            \ for assistance.&lt/message&gt\n      &lt/error&gt\n    &lt/response&gt"
          schema:
            properties:
              response:
                properties:
                  error:
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                    required:
                    - code
                    - message
                    type: object
                required:
                - error
                type: object
            type: object
        text/csv:
          examples:
            rateLimitCsv:
              summary: Rate Limit Exceeded (CSV)
              value: 'Error Code,Error Message

                OVER_RATE_LIMIT,You have exceeded your rate limit. Make sure you provided
                your API key from https://api.waterdata.usgs.gov/signup/, then either
                try again later or contact us at https://waterdata.usgs.gov/questions-comments/?referrerUrl=https://api.waterdata.usgs.gov
                for assistance.'
          schema:
            type: string
        text/html:
          examples:
            rateLimitHtml:
              summary: Rate Limit Exceeded (HTML)
              value: "&lthtml&gt\n      &ltbody&gt\n        &lth1&gtOVER_RATE_LIMIT&lt/h1&gt\n\
                \        &ltp&gtYou have exceeded your rate limit. Make sure you provided\
                \ your API key from https://api.waterdata.usgs.gov/signup/, then either\
                \ try again later or contact us at https://waterdata.usgs.gov/questions-comments/?referrerUrl=https://api.waterdata.usgs.gov\
                \ for assistance.&lt/p&gt\n      &lt/body&gt\n    &lt/html&gt"
          schema:
            type: string
      description: Too Many Requests - Rate limit exceeded.
    default:
      content:
        application/json:
          schema:
            $ref: https://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/exception.yaml
      description: Unexpected error
  schemas:
    Error:
      properties:
        error:
          properties:
            code:
              description: Error code such as OVER_RATE_LIMIT, see https://api.data.gov/docs/developer-manual/#general-web-service-errors
              type: string
            message:
              description: Error message
              type: string
          required:
          - code
          - message
          type: object
      type: object
    queryable:
      properties:
        description:
          description: a human-readable narrative describing the queryable
          type: string
        language:
          default: en
          description: the language used for the title and description
          type: string
        queryable:
          description: the token that may be used in a CQL predicate
          type: string
        title:
          description: a human readable title for the queryable
          type: string
        type:
          description: the data type of the queryable
          type: string
        type-ref:
          description: a reference to the formal definition of the type
          format: url
          type: string
      required:
      - queryable
      - type
      type: object
    queryables:
      properties:
        queryables:
          items:
            $ref: '#/components/schemas/queryable'
          type: array
      required:
      - queryables
      type: object
    tilematrixsetlink:
      properties:
        tileMatrixSet:
          type: string
        tileMatrixSetURI:
          type: string
      required:
      - tileMatrixSet
      type: object
    tiles:
      properties:
        links:
          items:
            $ref: https://schemas.opengis.net/ogcapi/tiles/part1/1.0/openapi/ogcapi-tiles-1.yaml#/components/schemas/link
          type: array
        tileMatrixSetLinks:
          items:
            $ref: '#/components/schemas/tilematrixsetlink'
          type: array
      required:
      - tileMatrixSetLinks
      - links
      type: object
  securitySchemes:
    ApiKeyHeader:
      description: Providing your API key gives you higher rate limits when querying
        our APIs. You can obtain an API key at https://api.waterdata.usgs.gov/signup
      in: header
      name: api_key
      type: apiKey
    ApiKeyQuery:
      description: Providing your API key gives you higher rate limits when querying
        our APIs. You can obtain an API key at https://api.waterdata.usgs.gov/signup
      in: query
      name: api_key
      type: apiKey
info:
  contact:
    name: US Geological Survey - Water Data for the Nation
    url: https://waterdata.usgs.gov
    x-ogc-serviceContact:
      addresses: []
      emails:
      - value: [email protected]
      hoursOfService: pointOfContact
      links:
      - href: https://waterdata.usgs.gov/questions-comments/?referrerUrl=https://api.waterdata.usgs.gov
        type: text/html
      name: WDFN Support
  description: 'These APIs provide OGC-compliant interfaces to USGS water data, letting
    you download continuous sensor measurements, discrete field measurements, metadata
    about monitoring locations, and more.

    '
  license:
    name: US Government work in the public domain
    url: https://creativecommons.org/publicdomain/zero/1.0/
  termsOfService: https://creativecommons.org/publicdomain/zero/1.0/
  title: USGS Water Data OGC APIs
  version: 0.56.0
  x-keywords:
  - geospatial
  - data
  - api
  - hydrology
  - USGS
openapi: 3.0.2
paths:
  /:
    get:
      description: Landing page
      operationId: getLandingPage
      parameters:
      - $ref: '#/components/parameters/f'
      - $ref: '#/components/parameters/lang'
      responses:
        '200':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/LandingPage
        '400':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
        '403':
          $ref: '#/components/responses/Forbidden403'
        '429':
          $ref: '#/components/responses/TooManyRequests429'
        '500':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
      summary: Landing page
      tags:
      - server
  /collections:
    get:
      description: Collections
      operationId: getCollections
      parameters:
      - $ref: '#/components/parameters/f'
      - $ref: '#/components/parameters/lang'
      responses:
        '200':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/LandingPage
        '400':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
        '403':
          $ref: '#/components/responses/Forbidden403'
        '429':
          $ref: '#/components/responses/TooManyRequests429'
        '500':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
      summary: Collections
      tags:
      - server
  /collections/agency-codes:
    get:
      description: 'Code identifying the agency or organization used for site information,
        data sources, and permitting agencies. Agency codes are fixed values assigned
        by the National Water Information System (NWIS).

        '
      operationId: describeAgency-codesCollection
      parameters:
      - $ref: '#/components/parameters/f'
      - $ref: '#/components/parameters/lang'
      responses:
        '200':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/Collection
        '400':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
        '403':
          $ref: '#/components/responses/Forbidden403'
        '404':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/NotFound
        '429':
          $ref: '#/components/responses/TooManyRequests429'
        '500':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
      summary: Get Agency codes metadata
      tags:
      - agency-codes
  /collections/agency-codes/items:
    get:
      description: 'Code identifying the agency or organization used for site information,
        data sources, and permitting agencies. Agency codes are fixed values assigned
        by the National Water Information System (NWIS).

        '
      operationId: getAgency-codesFeatures
      parameters:
      - description: The optional f parameter indicates the output format which the
          server shall provide as part of the response document.  The default format
          is GeoJSON.
        explode: false
        in: query
        name: f
        required: false
        schema:
          default: json
          enum:
          - json
          - html
          - jsonld
          - csv
          type: string
        style: form
      - $ref: '#/components/parameters/lang'
      - $ref: '#/components/parameters/bbox'
      - description: The optional limit parameter limits the number of items that
          are presented in the response document (maximum=50000, default=10000).
        explode: false
        in: query
        name: limit
        required: false
        schema:
          default: 10000
          maximum: 50000
          minimum: 1
          type: integer
        style: form
      - $ref: '#/components/parameters/crs'
      - $ref: '#/components/parameters/bbox-crs'
      - description: The properties that should be included. The parameter value is
          a comma-separated list of property names.
        explode: false
        in: query
        name: properties
        required: false
        schema:
          items:
            enum:
            - id
            - agency_name
            type: string
          type: array
        style: form
      - $ref: '#/components/parameters/skipGeometry'
      - $ref: https://raw.githubusercontent.com/opengeospatial/ogcapi-records/master/core/openapi/parameters/sortby.yaml
      - $ref: '#/components/parameters/offset'
      - description: Agency code identification number.
        explode: false
        in: query
        name: id
        required: false
        schema:
          description: Agency code identification number.
          type: string
        style: form
      - description: Agency name.
        explode: false
        in: query
        name: agency_name
        required: false
        schema:
          description: Agency name.
          type: string
        style: form
      - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/Features
        '400':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
        '403':
          $ref: '#/components/responses/Forbidden403'
        '404':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/NotFound
        '429':
          $ref: '#/components/responses/TooManyRequests429'
        '500':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
      security:
      - ApiKeyQuery: []
      - ApiKeyHeader: []
      summary: Get Agency codes items
      tags:
      - agency-codes
    options:
      description: 'Code identifying the agency or organization used for site information,
        data sources, and permitting agencies. Agency codes are fixed values assigned
        by the National Water Information System (NWIS).

        '
      operationId: optionsAgency-codesFeatures
      responses:
        '200':
          description: options response
      security:
      - ApiKeyQuery: []
      - ApiKeyHeader: []
      summary: Options for Agency codes items
      tags:
      - agency-codes
    post:
      description: 'Code identifying the agency or organization used for site information,
        data sources, and permitting agencies. Agency codes are fixed values assigned
        by the National Water Information System (NWIS).

        '
      operationId: getCQL2Agency-codesFeatures
      requestBody:
        content:
          application/json:
            schema:
              $ref: https://schemas.opengis.net/cql2/1.0/cql2.json
        description: Get items with CQL2
        required: true
      responses:
        '200':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/Features
        '400':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
        '403':
          $ref: '#/components/responses/Forbidden403'
        '429':
          $ref: '#/components/responses/TooManyRequests429'
        '500':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
      security:
      - ApiKeyQuery: []
      - ApiKeyHeader: []
      summary: Get Agency codes items with CQL2
      tags:
      - agency-codes
  /collections/agency-codes/items/{featureId}:
    get:
      description: 'Code identifying the agency or organization used for site information,
        data sources, and permitting agencies. Agency codes are fixed values assigned
        by the National Water Information System (NWIS).

        '
      operationId: getAgency-codesFeature
      parameters:
      - $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/parameters/featureId
      - $ref: '#/components/parameters/crs'
      - $ref: '#/components/parameters/f'
      - $ref: '#/components/parameters/lang'
      responses:
        '200':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/Feature
        '400':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
        '403':
          $ref: '#/components/responses/Forbidden403'
        '404':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/NotFound
        '429':
          $ref: '#/components/responses/TooManyRequests429'
        '500':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
      security:
      - ApiKeyQuery: []
      - ApiKeyHeader: []
      summary: Get Agency codes item by id
      tags:
      - agency-codes
    options:
      description: 'Code identifying the agency or organization used for site information,
        data sources, and permitting agencies. Agency codes are fixed values assigned
        by the National Water Information System (NWIS).

        '
      operationId: optionsAgency-codesFeature
      parameters:
      - $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/parameters/featureId
      responses:
        '200':
          description: options response
      security:
      - ApiKeyQuery: []
      - ApiKeyHeader: []
      summary: Options for Agency codes item by id
      tags:
      - agency-codes
  /collections/agency-codes/queryables:
    get:
      description: 'Code identifying the agency or organization used for site information,
        data sources, and permitting agencies. Agency codes are fixed values assigned
        by the National Water Information System (NWIS).

        '
      operationId: getAgency-codesQueryables
      parameters:
      - description: The properties that should be included. The parameter value is
          a comma-separated list of property names.
        explode: false
        in: query
        name: properties
        required: false
        schema:
          items:
            enum:
            - id
            - agency_name
            type: string
          type: array
        style: form
      - $ref: '#/components/parameters/f'
      - description: The profile to be applied to a given request
        explode: false
        in: query
        name: profile
        required: false
        schema:
          enum:
          - actual-domain
          - valid-domain
          type: string
        style: form
      - $ref: '#/components/parameters/lang'
      responses:
        '200':
          $ref: '#/components/responses/Queryables'
        '400':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
        '403':
          $ref: '#/components/responses/Forbidden403'
        '404':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/NotFound
        '429':
          $ref: '#/components/responses/TooManyRequests429'
        '500':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
      security:
      - ApiKeyQuery: []
      - ApiKeyHeader: []
      summary: Get Agency codes queryables
      tags:
      - agency-codes
  /collections/agency-codes/schema:
    get:
      description: 'Code identifying the agency or organization used for site information,
        data sources, and permitting agencies. Agency codes are fixed values assigned
        by the National Water Information System (NWIS).

        '
      operationId: getAgency-codesSchema
      parameters:
      - $ref: '#/components/parameters/f'
      - $ref: '#/components/parameters/lang'
      responses:
        '200':
          $ref: '#/components/responses/Queryables'
        '400':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
        '403':
          $ref: '#/components/responses/Forbidden403'
        '404':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/NotFound
        '429':
          $ref: '#/components/responses/TooManyRequests429'
        '500':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
      security:
      - ApiKeyQuery: []
      - ApiKeyHeader: []
      summary: Get Agency codes schema
      tags:
      - agency-codes
  /collections/altitude-datums:
    get:
      description: 'The recommended vertical datum is NAVD88 (North American Vertical
        Datum of 1988) where applicable as stated in Office of Information Technical
        Memo 2002.01. NGVD29 (National Geodetic Vertical Datum of 1929) and NAVD88
        are the only datums that can be converted on output. NWIS uses the North American
        Vertical Datum Conversions (VERTCON) of the National Geodetic Survey to convert
        from NGVD29 to NAVD88 or vice versa. Conversions to or from other vertical
        datums are not available.

        '
      operationId: describeAltitude-datumsCollection
      parameters:
      - $ref: '#/components/parameters/f'
      - $ref: '#/components/parameters/lang'
      responses:
        '200':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/Collection
        '400':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
        '403':
          $ref: '#/components/

# --- truncated at 32 KB (761 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/doi/refs/heads/main/openapi/doi-usgs-water-openapi.yml