USGS Water Services channel-measurements API

Channel measurements taken as part of streamflow field measurements.

Operations 8

GET /collections/channel-measurements Get Channel measurements metadata #
GET /collections/channel-measurements/items Get Channel measurements items #
OPTIONS /collections/channel-measurements/items Options for Channel measurements items #
POST /collections/channel-measurements/items Get Channel measurements items with CQL2 #
GET /collections/channel-measurements/items/{featureId} Get Channel measurements item by id #
OPTIONS /collections/channel-measurements/items/{featureId} Options for Channel measurements item by id #
GET /collections/channel-measurements/queryables Get Channel measurements queryables #
GET /collections/channel-measurements/schema Get Channel measurements schema #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/usgs-water-channel-measurements-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

usgs-water-channel-measurements-api-openapi.yml Raw ↑
openapi: 3.2.0
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:
  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 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.
    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
  parameters:
    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
    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
    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
    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
    filter:
      description: "CQ

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