openapi: 3.0.0
servers:
  - description: Production
    url: https://catalogue.data.gov.bc.ca/api/3
  - description: Test
    url: https://cat.data.gov.bc.ca/api/3
  - description: Delivery
    url: https://cad.data.gov.bc.ca/api/3
info:
  contact:
    email: data@gov.bc.ca
    name: Data BC
    url: http://data.gov.bc.ca/
  description: |-
    This API provides live access to the BC Data Catalogue. Further documentation on the API is available from http://docs.ckan.org/en/latest/ Confirm the version of the API available from the catalogue by requesting https://catalogue.data.gov.bc.ca/api/3/action/status_show. 

    Please note that you may experience issues when submitting requests to the delivery or test environment if using this [OpenAPI specification](https://github.com/bcgov/api-specs) in other API console viewers.
  license:
    name: Open Government License - British Columbia
    url: https://www2.gov.bc.ca/gov/content?id=A519A56BC2BF44E4A008B33FCF527F61
  termsOfService: https://www2.gov.bc.ca/gov/content?id=D1EE0A405E584363B205CD4353E02C88
  title: BC Data Catalogue API
  version: 3.0.1
  x-apisguru-categories:
    - open_data
  x-logo:
    url: https://avatars1.githubusercontent.com/u/916280?v=3&s=200
  x-origin:
    - converter:
        url: https://github.com/mermade/oas-kit
        version: 7.0.4
      format: openapi
      url: https://raw.githubusercontent.com/bcgov/api-specs/master/bcdc/bcdc.json
      version: "3.0"
  x-providerName: gov.bc.ca
  x-serviceName: bcdc
security:
  - githubAccessCode:
      - user
      - user:email
      - user:follow
      - public_repo
      - repo
      - repo_deployment
      - repo:status
      - delete_repo
      - notifications
      - gist
      - read:repo_hook
      - write:repo_hook
      - admin:repo_hook
      - read:org
      - write:org
      - admin:org
      - read:public_key
      - write:public_key
      - admin:public_key
  - internalApiKey: []
tags:
  - description: CKAN's Action API is a powerful, RPC-style API that exposes all of CKAN's core features to API clients.
    externalDocs:
      description: Find out more
      url: http://docs.ckan.org/en/ckan-2.5.3/api/index.html
    name: action
paths:
  /action/organization_activity_list:
    get:
      description: Return an organization's activity stream
      parameters:
        - description: The id or name of the organization
          in: query
          name: id
          schema:
            default: ministry-of-agriculture
            type: string
      responses:
        "200":
          description: List of an organization's activities
      summary: Get the activity stream of an organization
      tags:
        - action
  /action/organization_activity_list_html:
    get:
      description: Return an organization's activity stream as HTML
      parameters:
        - description: The id or name of the organization
          in: query
          name: id
          schema:
            default: ministry-of-agriculture
            type: string
      responses:
        "200":
          description: List of an organization's activities in HTML
      summary: Get the activity stream of an organization, HTML format
      tags:
        - action
  /action/organization_autocomplete:
    get:
      description: Return a list of organization names that contain a string
      parameters:
        - description: The string to search for
          in: query
          name: q
          schema:
            default: ministry
            type: string
        - description: The maximum number of organizations to return (optional)
          in: query
          name: limit
          schema:
            default: 20
            type: integer
      responses:
        "200":
          description: List of organizations
      summary: Get names of organizations that match a query string
      tags:
        - action
  /action/organization_follower_count:
    get:
      description: Return the number of followers of an organization
      parameters:
        - description: The id or name of the organization
          in: query
          name: id
          schema:
            default: ministry-of-agriculture
            type: string
      responses:
        "200":
          description: Count of organization followers
      summary: Get number of followers of an organization
      tags:
        - action
  /action/organization_follower_list:
    get:
      description: Return a list of users that are following a given organization
      parameters:
        - description: The id or name of the organization
          in: query
          name: id
          schema:
            default: ministry-of-agriculture
            type: string
      responses:
        "200":
          description: List of organization followers
      summary: Get users following an organization
      tags:
        - action
  /action/organization_list:
    get:
      description: Returns the names of all indexed organizations
      parameters:
        - description: The offset (index) of the first organizations to return
          in: query
          name: offset
          schema:
            default: 0
            type: integer
        - description: The number of organizations to be returned per page
          in: query
          name: limit
          schema:
            default: 100
            type: integer
      responses:
        "200":
          description: List of organizations
      summary: Get names of all organizations
      tags:
        - action
  /action/organization_list_for_user:
    get:
      description: Return the organizations that the user has a given permission for
      parameters:
        - description: The permission the user has against the returned organization
          in: query
          name: permission
          schema:
            default: '"edit_group"'
            type: string
      responses:
        "200":
          description: List of organizations for given permission
      summary: Get organizations that a user has a given permission for
      tags:
        - action
  /action/organization_revision_list:
    get:
      description: Return an organization's revisions
      parameters:
        - description: The name or id of the organization
          in: query
          name: id
          schema:
            default: ministry-of-agriculture
            type: string
      responses:
        "200":
          description: List of an organization's revisions
      summary: Get organization revisions
      tags:
        - action
  /action/organization_show:
    get:
      description: Return the details of an organization
      parameters:
        - description: The id or name of the organization
          in: query
          name: id
          schema:
            default: ministry-of-agriculture
            type: string
        - description: include a list of the organization's datasets
          in: query
          name: include_datasets
          schema:
            default: true
            type: boolean
      responses:
        "200":
          description: List organization details
      summary: Get details of a specific organization
      tags:
        - action
  /action/package_activity_list:
    get:
      description: Returns a package's activity stream
      parameters:
        - description: The id or name of the package
          in: query
          name: id
          schema:
            default: grizzly-bear-population-units
            type: string
        - description: Where to start getting activity items from
          in: query
          name: offset
          schema:
            default: 0
            type: integer
        - description: The maximum number of activities to return
          in: query
          name: limit
          schema:
            default: 31
            type: integer
      responses:
        "200":
          description: List of activities
      summary: Get the activity stream of a package (dataset)
      tags:
        - action
  /action/package_activity_list_html:
    get:
      description: The activity stream is rendered as a snippet of HTML meant to be included in an HTML pag, i.e it doesn't have any header or footer.
      parameters:
        - description: The id or name of the package
          in: query
          name: id
          schema:
            default: grizzly-bear-population-units
            type: string
        - description: Where to start getting activity items from
          in: query
          name: offset
          schema:
            default: 0
            type: integer
        - description: The maximum number of activities to return
          in: query
          name: limit
          schema:
            default: 31
            type: integer
      responses:
        "200":
          description: List of activities rendered as HTML snippet
      summary: Get the activity stream of a package (dataset), HTML format
      tags:
        - action
  /action/package_autocomplete:
    get:
      description: Return a list of datasets that match a string
      parameters:
        - description: The string to query
          in: query
          name: q
          schema:
            default: '"Okanagan Lake"'
            type: string
        - description: The maximum number of resource formats to return
          in: query
          name: limit
          schema:
            default: 10
            type: integer
      responses:
        "200":
          description: List of datasets that match a string
      summary: Find packages (datasets) matching a query
      tags:
        - action
  /action/package_list:
    get:
      description: Returns the names of all indexed packages (datasets)
      parameters:
        - description: The offset (index) of the first package to return
          in: query
          name: offset
          schema:
            default: 0
            type: integer
        - description: The number of packages to be returned per page
          in: query
          name: limit
          schema:
            default: 100
            type: integer
      responses:
        "200":
          description: List of packages
      summary: Get a list of all packages (datasets)
      tags:
        - action
  /action/package_relationships_list:
    get:
      description: Return a dataset's relationships
      parameters:
        - description: The id or name of the first package
          in: query
          name: id
          schema:
            default: grizzly-bear-population-units
            type: string
        - description: The id or name of the second package
          in: query
          name: id2
          schema:
            default: important-fossil-areas
            type: string
        - description: relationship as string
          in: query
          name: rel
          schema:
            type: string
      responses:
        "200":
          description: List of dataset relationships
      summary: Get package (dataset) relationships
      tags:
        - action
  /action/package_revision_list:
    get:
      description: Return a dataset's revision as a list of dictionaries
      parameters:
        - description: The id or name of the dataset
          in: query
          name: id
          schema:
            default: grizzly-bear-population-units
            type: string
      responses:
        "200":
          description: List of dataset revisions
      summary: Get list of revisions for a package (dataset)
      tags:
        - action
  /action/package_search:
    get:
      description: Searches for packages (datasets) matching the specified query terms
      parameters:
        - description: A query string
          in: query
          name: q
          schema:
            default: '"Okanagan Lake"'
            type: string
      responses:
        "200":
          description: List of packages
      summary: Find packages (datasets) matching query terms
      tags:
        - action
  /action/package_show:
    get:
      description: Returns metadata about the package (dataset) corresponding to the specified unique name
      parameters:
        - description: The package name
          in: query
          name: id
          schema:
            default: grizzly-bear-population-units
            type: string
      responses:
        "200":
          description: A package metadata object
      summary: Get metadata about one specific package (dataset)
      tags:
        - action
  /action/related_list:
    get:
      description: Returns a dataset's related items.
      parameters:
        - description: id or name of the dataset (optional)
          in: query
          name: id
          schema:
            type: string
        - description: Dataset dictionary of the dataset (optional)
          in: query
          name: dataset
          schema:
            type: string
        - description: The type of related item to show (optional)
          in: query
          name: type_filter
          schema:
            type: string
        - description: The order to sort the related items in
          in: query
          name: sort
          schema:
            type: string
        - description: whether or not to restrict the results to only featured items
          in: query
          name: featured
          schema:
            type: string
      responses:
        "200":
          description: Search for related items
      summary: Gets items related to a package (dataset)
      tags:
        - action
  /action/resource_search:
    get:
      description: Returns a dictionary with two fields ``count`` and ``results``.             The ``count`` field contains the total number of Resources                found without the limit or query parameters having an effect.             The ``results`` field is a list of dictized Resource objects.             The query parameter is a required field. It is a string in                the form ``{field}:{term}`` or a list of strings, each of the             same form. Within each string, ``{field}`` is a field or extra             field on the Resource domain object.
      parameters:
        - description: The search criteria string or list of strings of the form ``{field}:{term1}``
          in: query
          name: query
          schema:
            default: format:csv
            type: string
        - description: Depreciated
          in: query
          name: fields
          schema:
            type: string
        - description: A field on the resource model that orders the results
          in: query
          name: order_by
          schema:
            type: string
        - description: Apply an offset to the query
          in: query
          name: offset
          schema:
            default: 0
            type: integer
        - description: Apply a limit to the query
          in: query
          name: limit
          schema:
            default: 0
            type: integer
      responses:
        "200":
          description: Search for resources
      summary: Find resources
      tags:
        - action
  /action/resource_show:
    get:
      description: Return the metadata of a resource
      parameters:
        - description: The id of the resource
          in: query
          name: id
          schema:
            default: e6c8bb1d-3726-418b-9b7e-1d97a9bbb817
            type: string
        - description: Add tracking information to dataset
          in: query
          name: include_tracking
          schema:
            default: false
            type: boolean
      responses:
        "200":
          description: Return metadata of a resource
      summary: Get metadata for a specific resource
      tags:
        - action
  /action/status_show:
    get:
      description: Returns the site status
      responses:
        "200":
          description: Returns the site status, version, installed extensions
      summary: Get the site status
      tags:
        - action
  /action/tag_list:
    get:
      description: Returns the names of all indexed tags
      parameters:
        - description: The offset (index) of the first tag to return
          in: query
          name: offset
          schema:
            default: 0
            type: integer
        - description: The number of tags to be returned per page
          in: query
          name: limit
          schema:
            default: 100
            type: integer
      responses:
        "200":
          description: List of tags
      summary: Get a list of tags
      tags:
        - action
components:
  schemas: {}
  securitySchemes:
    githubAccessCode:
      flows:
        authorizationCode:
          authorizationUrl: https://github.com/login/oauth/authorize
          scopes:
            admin:org: Fully manage organization, teams, and memberships.
            admin:public_key: Fully manage public keys.
            admin:repo_hook: Grants read, write, ping, and delete access to hooks in public or private repositories.
            delete_repo: Grants access to delete adminable repositories.
            gist: Grants write access to gists.
            notifications: Grants read access to a user's notifications. repo also provides this access.
            public_repo: Grants read/write access to code, commit statuses, and deployment statuses for public repositories and organizations.
            read:org: Read-only access to organization, teams, and membership.
            read:public_key: List and view details for public keys.
            read:repo_hook: Grants read and ping access to hooks in public or private repositories.
            repo: Grants read/write access to code, commit statuses, and deployment statuses for public and private repositories and organizations.
            repo:status: Grants read/write access to public and private repository commit statuses. This scope is only necessary to grant other users or services access to private repository commit statuses without granting access to the code.
            repo_deployment: Grants access to deployment statuses for public and private repositories. This scope is only necessary to grant other users or services access to deployment statuses, without granting access to the code.
            user: Grants read/write access to profile info only. Note that this scope includes user:email and user:follow.
            user:email: Grants read access to a user's email addresses.
            user:follow: Grants access to follow or unfollow other users.
            write:org: Publicize and unpublicize organization membership.
            write:public_key: Create, list, and view details for public keys.
            write:repo_hook: Grants read, write, and ping access to hooks in public or private repositories.
          tokenUrl: https://github.com/login/oauth/access_token
      type: oauth2
    internalApiKey:
      in: header
      name: ckan_api_key
      type: apiKey
