DiscGolfAPI Countries API

Country coverage index.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

discgolfapi-countries-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: DiscGolf Countries API
  version: 1.0.0
  description: DiscGolfAPI is a read-only API for structured disc golf course data. It provides stable course records, location fields, country and region indexes, update metadata, confidence signals and attribution information for developer projects, maps, directories, websites and AI systems.
  termsOfService: https://discgolfapi.com/terms/
  contact:
    name: DiscGolfAPI
    url: https://discgolfapi.com/contact/
  license:
    name: Free to use with attribution
    url: https://discgolfapi.com/licence/
servers:
- url: https://io.discgolfapi.com/v1
  description: Production API
tags:
- name: Countries
  description: Country coverage index.
paths:
  /countries:
    get:
      tags:
      - Countries
      summary: List Countries
      description: Returns countries represented in the current public dataset.
      operationId: listCountries
      responses:
        '200':
          description: A country coverage response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountriesResponse'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/ServerError'
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
      required:
      - error
      additionalProperties: true
    CommonEnvelope:
      type: object
      properties:
        schema_version:
          type: string
        generated_at:
          type: string
          format: date-time
        attribution:
          type: string
        attribution_required:
          type: boolean
        license:
          type: string
        license_url:
          type: string
          format: uri
        terms_url:
          type: string
          format: uri
        no_warranty:
          type: string
        meta:
          $ref: '#/components/schemas/ResponseMeta'
      required:
      - schema_version
      - generated_at
      - attribution
      - attribution_required
      - license
      - license_url
      - terms_url
      - no_warranty
    Country:
      type: object
      properties:
        country_code:
          type: string
        country_name:
          type: string
        course_count:
          type: integer
          minimum: 0
        updated_at:
          type: string
          format: date-time
      required:
      - country_code
      - country_name
      - course_count
      - updated_at
    CountriesResponse:
      allOf:
      - $ref: '#/components/schemas/CommonEnvelope'
      - type: object
        properties:
          countries:
            type: array
            items:
              $ref: '#/components/schemas/Country'
        required:
        - countries
    ResponseMeta:
      type: object
      properties:
        publish_version:
          type: string
        release_scope:
          type: string
      additionalProperties: true
  responses:
    ServerError:
      description: Temporary server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    TooManyRequests:
      description: Too many requests.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
externalDocs:
  description: DiscGolfAPI documentation
  url: https://discgolfapi.com/docs/