World Meteorological Organization wis2-discovery-metadata API

WIS2 discovery metadata

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/wmo-wis2-discovery-metadata-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 email required.

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

OpenAPI Specification

wmo-wis2-discovery-metadata-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  contact:
    name: GDC provider name
    url: https://www.canada.ca/en/services/environment/weather.html
    x-ogc-serviceContact:
      addresses:
      - administrativeArea: Canada
        city: Fredericton
        deliveryPoint:
        - 77 Westmorland Street, Suite 260
      contactInstructions: During hours of service
      emails:
      - value: tomkralidis@gmail.com
      hoursOfService: host
      links:
      - href: https://weather.gc.ca/mainmenu/contact_us_e.html
        type: text/html
      name: Tom Kralidis
      phones:
      - type: main
        value: None
      - type: fax
        value: +01-416-802-5741
      position: ${WIS2_GDC_METADATA_CONTACT_POSITION:Position name}
  description: Meteorological Service of Canada Global Discovery Catalogue (GDC)
  license:
    name: WMO Unified Data Policy
    url: https://library.wmo.int/idurl/4/58009
  termsOfService: https://eccc-msc.github.io/open-data/usage-policy/readme_en
  title: Meteorological Service of Canada Global Discovery Catalogue (GDC) jobs wis2-discovery-metadata API
  version: 0.23.3
  x-keywords:
  - wmo
  - wis2
  - gdc
servers:
- description: Meteorological Service of Canada Global Discovery Catalogue (GDC)
  url: https://wis2-gdc.weather.gc.ca
tags:
- description: WIS2 discovery metadata
  name: wis2-discovery-metadata
paths:
  /collections/wis2-discovery-metadata:
    get:
      description: WIS2 discovery metadata
      operationId: describeWis2-discovery-metadataCollection
      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
        '404':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/NotFound
        '500':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
      summary: Get WIS2 discovery metadata metadata
      tags:
      - wis2-discovery-metadata
  /collections/wis2-discovery-metadata/items:
    get:
      description: WIS2 discovery metadata
      operationId: getWis2-discovery-metadataFeatures
      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=1000, default=100).
        explode: false
        in: query
        name: limit
        required: false
        schema:
          default: 100
          maximum: 1000
          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:
            - centre-id
            - contacts.addresses.administrativeArea
            - contacts.addresses.city
            - contacts.addresses.country
            - contacts.addresses.deliveryPoint
            - contacts.addresses.name
            - contacts.addresses.postalCode
            - contacts.contactInstructions
            - contacts.emails.value
            - contacts.hoursOfService
            - contacts.identifier
            - contacts.name
            - contacts.organization
            - contacts.phones.value
            - contacts.position
            - contacts.roles
            - created
            - description
            - formats.name
            - keywords
            - language
            - rights
            - status.description
            - status.id
            - status.title
            - themes.concepts.description
            - themes.concepts.id
            - themes.concepts.title
            - themes.scheme
            - title
            - type
            - updated
            - wmo:dataPolicy
            - time.resolution
            type: string
          type: array
        style: form
      - $ref: '#/components/parameters/vendorSpecificParameters'
      - $ref: '#/components/parameters/skipGeometry'
      - $ref: https://raw.githubusercontent.com/opengeospatial/ogcapi-records/master/core/openapi/parameters/sortby.yaml
      - $ref: '#/components/parameters/offset'
      - $ref: https://raw.githubusercontent.com/opengeospatial/ogcapi-records/master/core/openapi/parameters/q.yaml
      - $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/parameters/datetime
      - explode: false
        in: query
        name: centre-id
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: contacts.addresses.administrativeArea
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: contacts.addresses.city
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: contacts.addresses.country
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: contacts.addresses.deliveryPoint
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: contacts.addresses.name
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: contacts.addresses.postalCode
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: contacts.contactInstructions
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: contacts.emails.value
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: contacts.hoursOfService
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: contacts.identifier
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: contacts.name
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: contacts.organization
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: contacts.phones.value
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: contacts.position
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: contacts.roles
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: created
        required: false
        schema:
          format: date
          type: string
        style: form
      - explode: false
        in: query
        name: description
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: formats.name
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: keywords
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: language
        required: false
        schema:
          type: object
        style: form
      - explode: false
        in: query
        name: rights
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: status.description
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: status.id
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: status.title
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: themes.concepts.description
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: themes.concepts.id
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: themes.concepts.title
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: themes.scheme
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: title
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: type
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: updated
        required: false
        schema:
          format: date
          type: string
        style: form
      - explode: false
        in: query
        name: wmo:dataPolicy
        required: false
        schema:
          type: string
        style: form
      - explode: false
        in: query
        name: time.resolution
        required: false
        schema:
          type: string
        style: form
      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
        '404':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/NotFound
        '500':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
      summary: Get WIS2 discovery metadata items
      tags:
      - wis2-discovery-metadata
    options:
      description: WIS2 discovery metadata
      operationId: optionsWis2-discovery-metadataFeatures
      responses:
        '200':
          description: options response
      summary: Options for WIS2 discovery metadata items
      tags:
      - wis2-discovery-metadata
    post:
      description: WIS2 discovery metadata
      operationId: getCQL2Wis2-discovery-metadataFeatures
      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
        '500':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
      summary: Get WIS2 discovery metadata items with CQL2
      tags:
      - wis2-discovery-metadata
  /collections/wis2-discovery-metadata/items/{featureId}:
    get:
      description: WIS2 discovery metadata
      operationId: getWis2-discovery-metadataFeature
      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
        '404':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/NotFound
        '500':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
      summary: Get WIS2 discovery metadata item by id
      tags:
      - wis2-discovery-metadata
    options:
      description: WIS2 discovery metadata
      operationId: optionsWis2-discovery-metadataFeature
      parameters:
      - $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/parameters/featureId
      responses:
        '200':
          description: options response
      summary: Options for WIS2 discovery metadata item by id
      tags:
      - wis2-discovery-metadata
  /collections/wis2-discovery-metadata/queryables:
    get:
      description: WIS2 discovery metadata
      operationId: getWis2-discovery-metadataQueryables
      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:
            - centre-id
            - contacts.addresses.administrativeArea
            - contacts.addresses.city
            - contacts.addresses.country
            - contacts.addresses.deliveryPoint
            - contacts.addresses.name
            - contacts.addresses.postalCode
            - contacts.contactInstructions
            - contacts.emails.value
            - contacts.hoursOfService
            - contacts.identifier
            - contacts.name
            - contacts.organization
            - contacts.phones.value
            - contacts.position
            - contacts.roles
            - created
            - description
            - formats.name
            - keywords
            - language
            - rights
            - status.description
            - status.id
            - status.title
            - themes.concepts.description
            - themes.concepts.id
            - themes.concepts.title
            - themes.scheme
            - title
            - type
            - updated
            - wmo:dataPolicy
            - time.resolution
            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
        '404':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/NotFound
        '500':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
      summary: Get WIS2 discovery metadata queryables
      tags:
      - wis2-discovery-metadata
  /collections/wis2-discovery-metadata/schema:
    get:
      description: WIS2 discovery metadata
      operationId: getWis2-discovery-metadataSchema
      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
        '404':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/NotFound
        '500':
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
      summary: Get WIS2 discovery metadata schema
      tags:
      - wis2-discovery-metadata
components:
  schemas:
    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
  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
    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
    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
    vendorSpecificParameters:
      description: Additional "free-form" parameters that are not explicitly defined
      in: query
      name: vendorSpecificParameters
      schema:
        additionalProperties: true
        type: object
      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.
      explode: false
      in: query
      name: f
      required: false
      schema:
        default: json
        enum:
        - json
        - html
        - jsonld
        type: string
      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
    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
    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
  responses:
    Queryables:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/queryables'
      description: successful queryables operation