Department of Interior channel-measurements API

Channel measurements taken as part of streamflow field measurements.

OpenAPI Specification

doi-channel-measurements-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  contact:
    name: US Geological Survey - Water Data for the Nation
    url: https://waterdata.usgs.gov
    x-ogc-serviceContact:
      addresses: []
      emails:
      - value: wdfn@usgs.gov
      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 agency-codes channel-measurements API
  version: 0.56.0
  x-keywords:
  - geospatial
  - data
  - api
  - hydrology
  - USGS
servers:
- 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.

    '
  url: https://api.waterdata.usgs.gov/ogcapi/v0
tags:
- description: 'Channel measurements taken as part of streamflow field measurements.

    '
  name: channel-measurements
paths:
  /collections/channel-measurements:
    get:
      description: 'Channel measurements taken as part of streamflow field measurements.

        '
      operationId: describeChannel-measurementsCollection
      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 Channel measurements metadata
      tags:
      - channel-measurements
  /collections/channel-measurements/items:
    get:
      description: 'Channel measurements taken as part of streamflow field measurements.

        '
      operationId: getChannel-measurementsFeatures
      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=10).
        explode: false
        in: query
        name: limit
        required: false
        schema:
          default: 10
          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
            - monitoring_location_id
            - field_visit_id
            - measurement_number
            - time
            - channel_name
            - channel_flow
            - channel_flow_unit
            - channel_width
            - channel_width_unit
            - channel_area
            - channel_area_unit
            - channel_velocity
            - channel_velocity_unit
            - channel_location_distance
            - channel_location_distance_unit
            - channel_stability
            - channel_material
            - channel_evenness
            - horizontal_velocity_description
            - vertical_velocity_description
            - longitudinal_velocity_description
            - measurement_type
            - last_modified
            - channel_measurement_type
            - channel_location_direction
            type: string
          type: array
        style: form
      - $ref: '#/components/parameters/skipGeometry'
      - $ref: '#/components/parameters/wda_sortby'
      - $ref: '#/components/parameters/offset'
      - $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/parameters/datetime
      - description: 'A universally unique identifier (UUID) representing a single version of a record. It is not stable over time. Every time the record is refreshed in our database (which may happen as part of normal operations and does not imply any change to the data itself) a new ID will be generated. To uniquely identify a single observation over time, compare the `time` and `time_series_id` fields; each time series will only have a single observation at a given `time`.

          '
        explode: false
        in: query
        name: id
        required: false
        schema:
          description: 'A universally unique identifier (UUID) representing a single version of a record. It is not stable over time. Every time the record is refreshed in our database (which may happen as part of normal operations and does not imply any change to the data itself) a new ID will be generated. To uniquely identify a single observation over time, compare the `time` and `time_series_id` fields; each time series will only have a single observation at a given `time`.

            '
          format: uuid
          title: Record identifier
          type: string
        style: form
      - description: "A unique identifier representing a single monitoring location. This corresponds to the `id` field in the `monitoring-locations` endpoint. Monitoring location IDs are created by combining the agency code of the agency responsible for the monitoring location (e.g. USGS) with the ID number of the monitoring location (e.g. 02238500), separated by a hyphen (e.g. USGS-02238500).\n Split parameters are enabled for this field, so you can supply multiple values separated by commas."
        explode: false
        in: query
        name: monitoring_location_id
        required: false
        schema:
          description: "A unique identifier representing a single monitoring location. This corresponds to the `id` field in the `monitoring-locations` endpoint. Monitoring location IDs are created by combining the agency code of the agency responsible for the monitoring location (e.g. USGS) with the ID number of the monitoring location (e.g. 02238500), separated by a hyphen (e.g. USGS-02238500).\n Split parameters are enabled for this field, so you can supply multiple values separated by commas."
          title: Monitoring location ID
          type: string
        style: form
      - description: "A universally unique identifier (UUID) for the field visit. Multiple measurements may be made during a single field visit.\n Split parameters are enabled for this field, so you can supply multiple values separated by commas."
        explode: false
        in: query
        name: field_visit_id
        required: false
        schema:
          description: "A universally unique identifier (UUID) for the field visit. Multiple measurements may be made during a single field visit.\n Split parameters are enabled for this field, so you can supply multiple values separated by commas."
          format: uuid
          title: Field visit ID
          type: string
        style: form
      - description: Measurement number.
        explode: false
        in: query
        name: measurement_number
        required: false
        schema:
          description: Measurement number.
          title: Measurement number
          type: string
        style: form
      - 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
      - description: The channel name.
        explode: false
        in: query
        name: channel_name
        required: false
        schema:
          description: The channel name.
          title: Channel name
          type: string
        style: form
      - description: Channel discharge.
        explode: false
        in: query
        name: channel_flow
        required: false
        schema:
          description: Channel discharge.
          title: Channel flow
          type: string
        style: form
      - description: The units for channel discharge.
        explode: false
        in: query
        name: channel_flow_unit
        required: false
        schema:
          description: The units for channel discharge.
          title: Channel flow unit
          type: string
        style: form
      - description: The channel width.
        explode: false
        in: query
        name: channel_width
        required: false
        schema:
          description: The channel width.
          title: Channel width
          type: string
        style: form
      - description: The units for channel width.
        explode: false
        in: query
        name: channel_width_unit
        required: false
        schema:
          description: The units for channel width.
          title: Channel width unit
          type: string
        style: form
      - description: The channel area.
        explode: false
        in: query
        name: channel_area
        required: false
        schema:
          description: The channel area.
          title: Channel area
          type: string
        style: form
      - description: The units for channel area.
        explode: false
        in: query
        name: channel_area_unit
        required: false
        schema:
          description: The units for channel area.
          title: Channel area unit
          type: string
        style: form
      - description: The mean channel velocity.
        explode: false
        in: query
        name: channel_velocity
        required: false
        schema:
          description: The mean channel velocity.
          title: Channel velocity
          type: string
        style: form
      - description: The units for channel velocity.
        explode: false
        in: query
        name: channel_velocity_unit
        required: false
        schema:
          description: The units for channel velocity.
          title: Channel velocity unit
          type: string
        style: form
      - description: The channel location distance.
        explode: false
        in: query
        name: channel_location_distance
        required: false
        schema:
          description: The channel location distance.
          title: Channel location distance
          type: string
        style: form
      - description: The units for channel location distance.
        explode: false
        in: query
        name: channel_location_distance_unit
        required: false
        schema:
          description: The units for channel location distance.
          title: Channel location distance unit
          type: string
        style: form
      - description: The stability of the channel material.
        explode: false
        in: query
        name: channel_stability
        required: false
        schema:
          description: The stability of the channel material.
          title: Channel stability
          type: string
        style: form
      - description: The channel material.
        explode: false
        in: query
        name: channel_material
        required: false
        schema:
          description: The channel material.
          title: Channel material
          type: string
        style: form
      - description: The channel evenness from bank to bank.
        explode: false
        in: query
        name: channel_evenness
        required: false
        schema:
          description: The channel evenness from bank to bank.
          title: Channel evenness
          type: string
        style: form
      - description: The horizontal velocity description.
        explode: false
        in: query
        name: horizontal_velocity_description
        required: false
        schema:
          description: The horizontal velocity description.
          title: Horizontal velocity description
          type: string
        style: form
      - description: The vertical velocity description.
        explode: false
        in: query
        name: vertical_velocity_description
        required: false
        schema:
          description: The vertical velocity description.
          title: Vertical velocity description
          type: string
        style: form
      - description: The longitudinal velocity description.
        explode: false
        in: query
        name: longitudinal_velocity_description
        required: false
        schema:
          description: The longitudinal velocity description.
          title: Longitudinal velocity description
          type: string
        style: form
      - description: The measurement type.
        explode: false
        in: query
        name: measurement_type
        required: false
        schema:
          description: The measurement type.
          title: Measurement type
          type: string
        style: form
      - description: "The last time a record was refreshed in our database. This may happen due to regular operational processes and does not necessarily indicate anything about the measurement has changed.\nYou 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 `last_modified` that intersects the value of datetime are selected.\n"
        explode: false
        in: query
        name: last_modified
        required: false
        schema:
          description: "The last time a record was refreshed in our database. This may happen due to regular operational processes and does not necessarily indicate anything about the measurement has changed.\nYou 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 `last_modified` that intersects the value of datetime are selected.\n"
          title: Last modified date
          type: string
        style: form
      - description: The channel measurement type.
        explode: false
        in: query
        name: channel_measurement_type
        required: false
        schema:
          description: The channel measurement type.
          title: Channel measurement type
          type: string
        style: form
      - description: Location of the measurement from the gage.
        explode: false
        in: query
        name: channel_location_direction
        required: false
        schema:
          description: Location of the measurement from the gage.
          title: Channel Location Direction
          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 Channel measurements items
      tags:
      - channel-measurements
    options:
      description: 'Channel measurements taken as part of streamflow field measurements.

        '
      operationId: optionsChannel-measurementsFeatures
      responses:
        '200':
          description: options response
      security:
      - ApiKeyQuery: []
      - ApiKeyHeader: []
      summary: Options for Channel measurements items
      tags:
      - channel-measurements
    post:
      description: 'Channel measurements taken as part of streamflow field measurements.

        '
      operationId: getCQL2Channel-measurementsFeatures
      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 Channel measurements items with CQL2
      tags:
      - channel-measurements
  /collections/channel-measurements/items/{featureId}:
    get:
      description: 'Channel measurements taken as part of streamflow field measurements.

        '
      operationId: getChannel-measurementsFeature
      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 Channel measurements item by id
      tags:
      - channel-measurements
    options:
      description: 'Channel measurements taken as part of streamflow field measurements.

        '
      operationId: optionsChannel-measurementsFeature
      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 Channel measurements item by id
      tags:
      - channel-measurements
  /collections/channel-measurements/queryables:
    get:
      description: 'Channel measurements taken as part of streamflow field measurements.

        '
      operationId: getChannel-measurementsQueryables
      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
            - monitoring_location_id
            - field_visit_id
            - measurement_number
            - time
            - channel_name
            - channel_flow
            - channel_flow_unit
            - channel_width
            - channel_width_unit
            - channel_area
            - channel_area_unit
            - channel_velocity
            - channel_velocity_unit
            - channel_location_distance
            - channel_location_distance_unit
            - channel_stability
            - channel_material
            - channel_evenness
            - horizontal_velocity_description
            - vertical_velocity_description
            - longitudinal_velocity_description
            - measurement_type
            - last_modified
            - channel_measurement_type
            - channel_location_direction
            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 Channel measurements queryables
      tags:
      - channel-measurements
  /collections/channel-measurements/schema:
    get:
      description: 'Channel measurements taken as part of streamflow field measurements.

        '
      operationId: getChannel-measurementsSchema
      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 Channel measurements schema
      tags:
      - channel-measurements
components:
  parameters:
    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
    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
    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
    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
    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\nExample: time_series_id IN ('64ee32f5350a4ec4967435dcd2e364ea', '3e55d9c2d8a54bec9ca5e292b07d5a96')"
      in: query
      name: filter
      required: false
      schema:
        type: string
    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
    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
    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
  responses:
    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 Ex

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