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 medium-codes 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: 'Medium refers to the specific environmental medium from which the sample was collected. Medium type differs from site type because one site type, such as surface water, could have data for several media, such as water, bottom sediment, fish tissue, and others. ' name: medium-codes paths: /collections/medium-codes: get: description: 'Medium refers to the specific environmental medium from which the sample was collected. Medium type differs from site type because one site type, such as surface water, could have data for several media, such as water, bottom sediment, fish tissue, and others. ' operationId: describeMedium-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 Medium codes metadata tags: - medium-codes /collections/medium-codes/items: get: description: 'Medium refers to the specific environmental medium from which the sample was collected. Medium type differs from site type because one site type, such as surface water, could have data for several media, such as water, bottom sediment, fish tissue, and others. ' operationId: getMedium-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 - medium_name - medium_description - legacy_medium_code 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: The medium code is the 3-character alpha code that identifies the material type and quality-assurance type of the sample. The first character of the code is the \"super\" medium, which describes the primary matrix of the sample. The second character is the sub-medium, which characterizes the sample type as a unique entity within the \"super\" medium category. The third character is used to designate whether a sample is an environmental or QC sample. A blank in position three denotes an environmental sample; a \"Q\" in position three denotes a QC sample. explode: false in: query name: id required: false schema: description: The medium code is the 3-character alpha code that identifies the material type and quality-assurance type of the sample. The first character of the code is the \"super\" medium, which describes the primary matrix of the sample. The second character is the sub-medium, which characterizes the sample type as a unique entity within the \"super\" medium category. The third character is used to designate whether a sample is an environmental or QC sample. A blank in position three denotes an environmental sample; a \"Q\" in position three denotes a QC sample. type: string style: form - description: The medium name is a short identifying appellation that explains the associated medium code. See qwmed for examples of codes, names, and descriptions. explode: false in: query name: medium_name required: false schema: description: The medium name is a short identifying appellation that explains the associated medium code. See qwmed for examples of codes, names, and descriptions. type: string style: form - description: The medium description is a short string of words that explains the associated medium code. See qwmed for examples of codes, names, and descriptions. explode: false in: query name: medium_description required: false schema: description: The medium description is a short string of words that explains the associated medium code. See qwmed for examples of codes, names, and descriptions. type: string style: form - description: Historical 1-char medium code that corresponds to the 3-char code. explode: false in: query name: legacy_medium_code required: false schema: description: Historical 1-char medium code that corresponds to the 3-char code. 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 Medium codes items tags: - medium-codes options: description: 'Medium refers to the specific environmental medium from which the sample was collected. Medium type differs from site type because one site type, such as surface water, could have data for several media, such as water, bottom sediment, fish tissue, and others. ' operationId: optionsMedium-codesFeatures responses: '200': description: options response security: - ApiKeyQuery: [] - ApiKeyHeader: [] summary: Options for Medium codes items tags: - medium-codes post: description: 'Medium refers to the specific environmental medium from which the sample was collected. Medium type differs from site type because one site type, such as surface water, could have data for several media, such as water, bottom sediment, fish tissue, and others. ' operationId: getCQL2Medium-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 Medium codes items with CQL2 tags: - medium-codes /collections/medium-codes/items/{featureId}: get: description: 'Medium refers to the specific environmental medium from which the sample was collected. Medium type differs from site type because one site type, such as surface water, could have data for several media, such as water, bottom sediment, fish tissue, and others. ' operationId: getMedium-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 Medium codes item by id tags: - medium-codes options: description: 'Medium refers to the specific environmental medium from which the sample was collected. Medium type differs from site type because one site type, such as surface water, could have data for several media, such as water, bottom sediment, fish tissue, and others. ' operationId: optionsMedium-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 Medium codes item by id tags: - medium-codes /collections/medium-codes/queryables: get: description: 'Medium refers to the specific environmental medium from which the sample was collected. Medium type differs from site type because one site type, such as surface water, could have data for several media, such as water, bottom sediment, fish tissue, and others. ' operationId: getMedium-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 - medium_name - medium_description - legacy_medium_code 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 Medium codes queryables tags: - medium-codes /collections/medium-codes/schema: get: description: 'Medium refers to the specific environmental medium from which the sample was collected. Medium type differs from site type because one site type, such as surface water, could have data for several media, such as water, bottom sediment, fish tissue, and others. ' operationId: getMedium-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 Medium codes schema tags: - medium-codes 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 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 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 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 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: 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 responses: Queryables: content: application/json: schema: $ref: '#/components/schemas/queryables' description: successful queryables operation 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: "<response>\n <error>\n <code>OVER_RATE_LIMIT</code>\n <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.</message>\n </error>\n </response>" 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: "<html>\n <body>\n <h1>OVER_RATE_LIMIT</h1>\n <p>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.</p>\n </body>\n </html>" 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: "<response>\n <error>\n <code>API_KEY_MISSING</code>\n <message>No api_key was supplied. Get one at https://api.waterdata.usgs.gov/signup/</message>\n </error>\n </response>" 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: "<html>\n <body>\n <h1>API_KEY_MISSING</h1>\n <p>No api_key was supplied. Get one at https://api.waterdata.usgs.gov/signup/</p>\n </body>\n </html>" schema: type: string description: Forbidden - API key is missing or not authorized for this resource. 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 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