British Columbia Data Catalogue · Authentication Profile

British Columbia Data Catalogue Authentication

Authentication

British Columbia Data Catalogue secures its APIs with none and apiKey across 3 declared security schemes, as derived from its OpenAPI definitions.

Open DataGovernmentCanadian GovernmentBritish ColumbiaProvincial DataCKANGeospatialOGCWMSWFSDataset SearchPublic Sector
Methods: none, apiKey Schemes: 3 OAuth flows: API key in: header

Security Schemes

none none
internalApiKey apiKey
· in: header (ckan_api_key)
githubAccessCode oauth2
· flows: authorizationCode

Source

Authentication Profile

Raw ↑
generated: '2026-09-04'
method: searched
source: >-
  openapi/british-columbia-data-catalogue-bcdc-api-openapi.json (the first-party spec),
  https://bcgov.github.io/data-publication/pages/dps_bcdc_api_w_how_to_use.html,
  https://bcgov.github.io/data-publication/pages/dps_bcdc_api_w_resource_mgmt.html, and a
  live probe of POST /api/3/action/package_create.
docs: https://bcgov.github.io/data-publication/pages/dps_bcdc_api_w_how_to_use.html
provider: British Columbia Data Catalogue
providerId: british-columbia-data-catalogue
summary:
  types:
    - none
    - apiKey
  api_key_in:
    - header
  read_access: anonymous
  write_access: api-key
headline: >-
  Public reads need no credential at all. DataBC states it plainly: "You do not need an API
  key nor an account if you are only accessing publicly available data." Writes need a
  catalogue account with editor/publisher rights and its token in the ckan_api_key header.
schemes:
  - name: none
    type: none
    applies_to: all public read actions
    detail: >-
      package_search, package_list, package_show, organization_*, group_*, tag_* and
      resource_* answered anonymously on every probe.
    evidence: https://catalogue.data.gov.bc.ca/api/3/action/status_show
  - name: internalApiKey
    type: apiKey
    in: header
    parameter: ckan_api_key
    applies_to: write actions
    obtained_from: >-
      Account Settings after signing in to catalogue.data.gov.bc.ca. Requires
      editor/publisher rights in a B.C. government organization — an internal entitlement,
      not a self-service signup.
    sources:
      - openapi/british-columbia-data-catalogue-bcdc-api-openapi.json
      - https://bcgov.github.io/data-publication/pages/dps_bcdc_api_w_resource_mgmt.html
    evidence:
      url: https://catalogue.data.gov.bc.ca/api/3/action/package_create
      method: POST
      status: 403
      body: '{"error": {"__type": "Authorization Error", "message": "Access denied: User  not authorized to create packages"}, "success": false}'
  - name: githubAccessCode
    type: oauth2
    applies_to: nothing
    disregard: true
    declared_in: openapi/british-columbia-data-catalogue-bcdc-api-openapi.json
    flows:
      - flow: authorizationCode
        authorizationUrl: https://github.com/login/oauth/authorize
        tokenUrl: https://github.com/login/oauth/access_token
        scopes: 19
    finding: >-
      This oauth2 scheme is Swagger-editor boilerplate, NOT a BC Data Catalogue
      authorization server. Its endpoints are github.com and its 19 scopes are GitHub's own
      (repo, gist, delete_repo, admin:org, write:public_key). Treating it as a BC OAuth
      surface would credit the Province with an authorization server it does not operate
      and would hand an agent a scope list that has nothing to do with B.C. data. No
      OAuthScopes artifact or pointer is emitted for this provider for the same reason.
    remedy: >-
      Removing the githubAccessCode block from bcdc.json, or replacing it with the
      catalogue's real OpenID Connect metadata, would make the contract's security section
      truthful.
sso:
  protocol: OpenID Connect
  applies_to: interactive sign-in to the catalogue web application
  evidence:
    - url: https://catalogue.data.gov.bc.ca/api/3/action/status_show
      note: 'extensions[] includes "sso"'
    - url: https://github.com/bcgov/ckanext-sso
      note: '"OpenID connect plugin for CKAN used by the B.C. Catalogue."'
  discovery_document: null
  discovery_note: >-
    No /.well-known/openid-configuration is served on any host in this record — every
    probe returned the SPA catch-all or a 404. See
    well-known/british-columbia-data-catalogue-well-known.yml.
mtls: false

Work with this as data

Every security artifact 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 security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • 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 security artifact
curl "https://apis.io/api/v1/security/british-columbia-data-catalogue-authentication"
All security posture
curl "https://apis.io/api/v1/security?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.