Open Mobility Foundation Requirements API

The Requirements API from Open Mobility Foundation — 1 operation(s) for requirements.

Operations 1

GET /requirements /requirements #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-trip-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-event-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-stop-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-telemetry-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-mutable-stop-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-vehicle-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-report-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-query-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-measures-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-data-types-iso-duration-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-data-types-iso-dayhourminute-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-column-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-data-types-uuid-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-requirements-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-policy-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-response-version-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-response-last-updated-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-data-types-timestamp-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-jurisdiction-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/open-mobility-foundation/refs/heads/main/json-schema/open-mobility-foundation-geography-schema.json

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/open-mobility-foundation:open-mobility-foundation-requirements-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

open-mobility-foundation-requirements-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Policy Requirements API
  version: '2.0'
  summary: The Policy API endpoints are intended to be implemented by regulatory agencies and consumed by mobility providers.
  contact:
    url: https://github.com/openmobilityfoundation/mobility-data-specification
    name: Open Mobility Foundation
    email: info@openmobilityfoundation.org
  license:
    name: Creative Commons Attribution 4.0 International Public License
    url: https://github.com/openmobilityfoundation/mobility-data-specification/blob/main/LICENSE
  description: The Policy API endpoints are intended to be implemented by regulatory agencies and consumed by mobility providers.
tags:
- name: Requirements
paths:
  /requirements:
    get:
      operationId: get-requirements
      description: 'Enumerates all of the parts of MDS, CDS, GBFS, and other specifications that an agency requires from

        providers for certain programs, including APIs, endpoints, and optional fields, as well as information for providers

        about the APIs the agency is hosting.'
      summary: /requirements
      responses:
        '200':
          description: Requirements found.
          content:
            application/json:
              schema:
                type: object
                description: Requirements data payload
                required:
                - requirements
                properties:
                  requirements:
                    $ref: '#/components/schemas/requirements'
        '404':
          description: Requirements not found.
        '406':
          description: MDS version in Accept header is unsupported or invalid.
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/response_error'
      tags:
      - Requirements
components:
  schemas:
    data-types_iso-duration:
      title: data-types/iso-duration
      type: string
      description: 'An [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) string, defining the amount of intervening time

        in a time interval.'
      x-stoplight:
        id: ll9uuz5vjj9hj
      examples:
      - P1M
      - PT1M
      pattern: ^P(?!$)(\d+(?:\.\d+)?Y)?(\d+(?:\.\d+)?M)?(\d+(?:\.\d+)?W)?(\d+(?:\.\d+)?D)?(T(?=\d)(\d+(?:\.\d+)?H)?(\d+(?:\.\d+)?M)?(\d+(?:\.\d+)?S)?)?$
    data-types_string:
      title: data-types/string
      description: A length-limited string type.
      examples:
      - ABC123
      maxLength: 255
      pattern: ^(.*)$
      type: string
      x-stoplight:
        id: 2vqv7166161kh
    requirements:
      title: models/requirements
      description: Enumerates all of the parts of MDS, CDS, GBFS, and other specifications that an agency requires from providers for certain programs.
      type: object
      x-stoplight:
        id: aymm62fj9psek
      $defs:
        metadata:
          additionalProperties: false
          required:
          - mds_release
          - file_version
          - last_updated
          - max_update_interval
          - agency_id
          - agency_name
          - agency_timezone
          - agency_language
          - agency_currency
          - agency_website_url
          - url
          properties:
            mds_release:
              $ref: '#/components/schemas/data-types_version'
              description: Release of MDS that the requirements data feed aligns to, based on official MDS releases.
            file_version:
              $ref: '#/components/schemas/data-types_integer-positive'
              description: Version of this file. Increment 1 with each modification.
            last_updated:
              $ref: '#/components/schemas/data-types_timestamp'
              description: When this `file_version` was last updated.
            max_update_interval:
              $ref: '#/components/schemas/data-types_iso-duration'
              description: The expected maximum frequency with which this file could be updated.
            agency_id:
              $ref: '#/components/schemas/data-types_uuid'
              description: UUID of the agency this file applies to.
            agency_name:
              $ref: '#/components/schemas/data-types_string'
              description: Name of the agency this file applies to.
            agency_timezone:
              $ref: '#/components/schemas/data-types_timezone'
              description: Used for dates and times in Requirements and across all MDS endpoints.
            agency_language:
              $ref: '#/components/schemas/data-types_language-tag'
              description: The language used across all MDS endpoints.
            agency_currency:
              $ref: '#/components/schemas/data-types_currency'
              description: Currency used for all monetary values across all MDS endpoints.
            agency_website_url:
              type: string
              format: uri
              description: URL of the agency's general transportation page.
            url:
              type: string
              format: uri
              description: URL of this file on the agency's website.
        program:
          additionalProperties: false
          required:
          - description
          - program_website_url
          - provider_ids
          - start_date
          - end_date
          - required_data_specs
          properties:
            description:
              $ref: '#/components/schemas/data-types_string'
              description: Simple agency program description of this combination of MDS, providers, vehicles, and time frame.
            program_website_url:
              type: string
              format: uri
              description: URL of the agency's transportation policy page.
            program_document_url:
              type: string
              format: uri
              description: URL of the agency's operating permit rules that mention data requirements.
            provider_ids:
              $ref: '#/components/schemas/data-types_uuid-array'
              description: Array of provider UUIDs that apply to this group of requirements.
              minItems: 1
            vehicle_type:
              $ref: '#/components/schemas/data-types_vehicle-type-array'
              description: Array of Vehicle Types that apply to this requirement. If absent it applies to all vehicle types.
            start_date:
              $ref: '#/components/schemas/data-types_timestamp'
              description: Beginning date/time of requirements.
            end_date:
              $ref: '#/components/schemas/data-types_timestamp'
              description: End date/time of requirements. Can be null. Keep data at least one year past `end_date` before removing.
            required_data_specs:
              type: array
              minItems: 1
              items:
                $ref: '#/components/schemas/requirements/$defs/data_spec'
        data_spec:
          required:
          - data_spec_name
          - version
          properties:
            data_spec_name:
              $ref: '#/components/schemas/data-types_string'
              description: Name of the data spec required.
              examples:
              - MDS
              - CDS
              - GBFS
            version:
              $ref: '#/components/schemas/data-types_string'
              description: Version number of the data spec required.
              examples:
              - 2.0.0
              - v1.2
            mode_id:
              $ref: '#/components/schemas/data-types_mode'
              description: The mode list shortname for MDS.
            required_apis:
              type: array
              description: Name of the Requirement APIs that need to be served by providers.
              minItems: 1
              items:
                $ref: '#/components/schemas/requirements/$defs/required_api'
            available_apis:
              type: array
              description: Name of the Requirement APIs that are being served by agencies.
              minItems: 1
              items:
                $ref: '#/components/schemas/requirements/$defs/available_api'
            use_cases:
              type: array
              description: The list of policy uses cases that this data standard's information covers for your program.
              minItems: 1
              items:
                type: object
                additionalProperties: false
                required:
                - external_url
                - ids
                properties:
                  external_url:
                    type: string
                    format: uri
                    description: An HTTP reference list or database of use cases.
                  ids:
                    type: array
                    description: Identifiers for each applicable use case in the external source.
                    minItems: 1
                    uniqueItems: true
                    items:
                      type: string
          anyOf:
          - title: Required API
            required:
            - required_apis
          - title: Available API
            required:
            - available_apis
        required_api:
          additionalProperties: false
          required:
          - api_name
          - required_endpoints
          properties:
            api_name:
              $ref: '#/components/schemas/data-types_string'
              description: Name of the applicable API required.
            required_endpoints:
              type: array
              description: Array of optional endpoints required by the agency.
              minItems: 1
              items:
                $ref: '#/components/schemas/requirements/$defs/required_endpoint'
        available_api:
          additionalProperties: false
          required:
          - api_name
          - available_endpoints
          properties:
            api_name:
              $ref: '#/components/schemas/data-types_string'
              description: Name of the applicable API required.
            available_endpoints:
              type: array
              description: Array of endpoints provided by the agency.
              minItems: 1
              items:
                $ref: '#/components/schemas/requirements/$defs/available_endpoint'
        required_endpoint:
          additionalProperties: false
          required:
          - endpoint_name
          properties:
            endpoint_name:
              $ref: '#/components/schemas/data-types_string'
              description: Name of the endpoint under the API.
            required_fields:
              type: array
              description: Array of optional field names required by the agency.
              items:
                type: string
            disallowed_fields:
              type: array
              description: Array of optional field names which must not be returned by in the endpoint, even if required in MDS.
              items:
                type: string
        available_endpoint:
          additionalProperties: false
          required:
          - endpoint_name
          properties:
            endpoint_name:
              $ref: '#/components/schemas/data-types_string'
              description: Name of the endpoint under the API.
            available_fields:
              type: array
              description: Array of optional field names provided by the agency.
              items:
                type: string
            url:
              type: string
              format: uri
              description: Location of API endpoint url. Required if the API is unauthenticated and public, optional if endpoint is authenticated and private.
      additionalProperties: false
      required:
      - metadata
      - programs
      properties:
        metadata:
          $ref: '#/components/schemas/requirements/$defs/metadata'
          description: Contains metadata applicable to the agency.
        programs:
          type: array
          description: Contains information about an agency's programs, with links to policy documents.
          minItems: 1
          items:
            $ref: '#/components/schemas/requirements/$defs/program'
    data-types_uuid:
      title: data-types/uuid
      description: A UUID used to uniquely identity an object.
      type: string
      x-stoplight:
        id: np9kodwmy2kqa
      format: uuid
      pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
      examples:
      - 3c9604d6-b5ee-11e8-96f8-529269fb1459
    data-types_mode:
      title: data-types/modes
      description: The modes supported in MDS.
      type: string
      x-stoplight:
        id: rjul1mcjyy8y2
      enum:
      - car-share
      - delivery-robots
      - micromobility
      - passenger-services
    data-types_currency:
      title: data-types/currency
      default: USD
      description: An [ISO 4217 Alphabetic Currency Code](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) representing currency of the payee. If null, USD cents is implied.
      examples:
      - USD
      - EUR
      - GBP
      pattern: ^[A-Z]{3}$
      type:
      - string
      - 'null'
      x-stoplight:
        id: 85j2txhx6x32o
    data-types_timezone:
      title: data-types/timezone
      description: '[TZ Database Name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) (default: UTC)'
      type: string
      x-stoplight:
        id: sv8rgu97fxmop
      default: UTC
      examples:
      - America/Los_Angeles
      - Europe/London
    data-types_language-tag:
      title: data-types/language-tag
      description: An [IETF BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag string.
      type: string
      x-stoplight:
        id: 5qws05ove0u6c
      pattern: ([A-Za-z]{2,3})([-][A-Za-z]{3}){0,3}([-]([A-Za-z]{4}))?([-]([A-Za-z]{2}|[0-9]{3}))?
      examples:
      - en-US
      - es-US
    response_error:
      title: response/error
      description: An error message for troubleshooting.
      type: object
      x-stoplight:
        id: 90yc58ni8u0ch
      required:
      - error
      - error_description
      - error_details
      properties:
        error:
          type: string
          description: Error message string.
        error_description:
          type: string
          description: Human readable error description (can be localized).
        error_details:
          type: array
          description: Human readable error description (can be localized).
          minItems: 1
          items:
            type: string
    data-types_uuid-array:
      title: data-types/uuid-array
      description: Array of UUID.
      type: array
      x-stoplight:
        id: v932clitbqv31
      uniqueItems: true
      items:
        $ref: '#/components/schemas/data-types_uuid'
    data-types_vehicle-type-array:
      title: data-types/vehicle-type-array
      description: An array of `vehicle_type`.
      type: array
      x-stoplight:
        id: 85v330buxsong
      uniqueItems: true
      items:
        $ref: '#/components/schemas/data-types_vehicle-type'
    data-types_integer-positive:
      title: data-types/integer-positive
      description: An integer greater than or equal to 0.
      minimum: 0
      type: integer
      x-stoplight:
        id: nfkphjmpm8yay
    data-types_version:
      title: data-type/version
      description: The version of MDS this data represents.
      type: string
      x-stoplight:
        id: bt49ntcbcuxbh
      pattern: ^2\.(\d|[1-9]\d+)\.(\d|[1-9]\d+)$
      examples:
      - 2.0.0
    data-types_vehicle-type:
      title: data-types/vehicle-type
      description: The allowed types of of vehicles in MDS. Based off of `form_factor` in [GBFS vehicle_types](https://github.com/MobilityData/gbfs/blob/master/gbfs.md#vehicle_typesjson), with some additional to support MDS modes.
      type: string
      x-stoplight:
        id: gbhhyditnvs5w
      enum:
      - bicycle
      - bus
      - cargo_bicycle
      - car
      - delivery_robot
      - moped
      - motorcycle
      - scooter_standing
      - scooter_seated
      - truck
      - other
    data-types_timestamp:
      title: data-types/timestamp
      description: Integer milliseconds since Unix epoch.
      examples:
      - 1514764800000
      - 1681855703000
      minimum: 1514764800000
      multipleOf: 1
      type: number
      x-stoplight:
        id: vliol1hqlxw6y
x-stoplight:
  id: q6wapocoxbhs1
x-bundled-from: https://github.com/openmobilityfoundation/mds-openapi/blob/v2.0/reference/policy.yaml (commit 0c07bc3d294237dd41c6273f059efb11b8149c66); external $refs into ../models/ inlined under components.schemas, no other changes