CAA Consultations API

The Citizen Space (Delib) public consultation API deployed on the CAA's consultations domain. Two documented methods — json_search_results and json_consultation_details — return published CAA consultation activities as JSON with no API key and no signup. Versions 2.0 through 2.4 are served concurrently. Verified live 2026-07-28 (HTTP 200, JSON array). This is the only documented, publicly callable API on a caa.co.uk domain; it is the vendor's platform API, not a CAA aviation data API.

Operations 2

GET /json_search_results Search published consultation activities #
GET /json_consultation_details Get one consultation activity by department and activity ID #

Documentation

Specifications

Schemas & Data

Other Resources

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/caa-consultations-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

uk-caa-consultations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CAA API (Citizen Space 2.4) Consultations API
  version: '2.4'
  summary: Public consultation activities published by the UK Civil Aviation Authority.
  description: 'Machine-readable description of the Citizen Space (Delib) public consultation API deployed on the UK Civil Aviation Authority''s consultations domain.


    PROVENANCE: this document is NOT published by the UK CAA or by Delib. It was written by API Evangelist as a faithful transcription of the CAA''s own published API reference at https://consultations.caa.co.uk/api/2.4/ (HTTP 200, fetched 2026-07-28), with every parameter name, allowed value, description and response field copied from that page. Field names and types were then cross-checked against a live anonymous response (GET /api/2.4/json_search_results?st=open&fields=all -> HTTP 200, application/json, 57,395 bytes, 2026-07-28). Nothing was invented; where the published documentation and the live response disagree on a field name, both are recorded and the divergence is flagged with x-doc-name.


    The CAA publishes no OpenAPI of its own. Versions 2.0, 2.1, 2.2, 2.3 and 2.4 are served concurrently at https://consultations.caa.co.uk/api/. No API key, no signup and no documented rate limit.'
  contact:
    name: UK Civil Aviation Authority
    url: https://consultations.caa.co.uk/
  x-evidence:
    docs: https://consultations.caa.co.uk/api/2.4/
    docs_status: 200
    docs_probed: '2026-07-28'
    version_index: https://consultations.caa.co.uk/api/
    live_verification:
      url: https://consultations.caa.co.uk/api/2.4/json_search_results?st=open&fields=all
      status: 200
      content_type: application/json
      bytes: 57395
      probed: '2026-07-28'
    vendor_guide: https://help.delib.net/article/350-api-v2-x-developers-guide
    authored_by: API Evangelist enrichment pipeline
    method: generated
servers:
- url: https://consultations.caa.co.uk/api/2.4
  description: Citizen Space API version 2.4 (current)
- url: https://consultations.caa.co.uk/api/2.3
  description: Citizen Space API version 2.3
- url: https://consultations.caa.co.uk/api/2.2
  description: Citizen Space API version 2.2
- url: https://consultations.caa.co.uk/api/2.1
  description: Citizen Space API version 2.1
- url: https://consultations.caa.co.uk/api/2.0
  description: Citizen Space API version 2.0
tags:
- name: Consultations
  description: Published CAA consultation and engagement activities.
paths:
  /json_search_results:
    get:
      operationId: json_search_results
      summary: Search published consultation activities
      description: Accepts any of the documented search parameters. If no arguments are supplied, all published activities are returned. Any unsupported arguments are ignored. Returns a JSON array of activity objects.
      tags:
      - Consultations
      parameters:
      - name: tx
        in: query
        required: false
        description: Free text search, case insensitive (eg "Park")
        schema:
          type: string
      - name: pc
        in: query
        required: false
        description: Postcode, accepts partial postcodes (eg "BS8" or "BS8 111")
        schema:
          type: string
      - name: st
        in: query
        required: false
        description: State, must be one of `open`, `forthcoming` or `closed`
        schema:
          type: string
          enum:
          - open
          - forthcoming
          - closed
      - name: au
        in: query
        required: false
        description: Audience ID, must be one of the audiences configured on the site
        schema:
          type: string
      - name: in
        in: query
        required: false
        description: Interest ID, must be one of the interests configured on the site
        schema:
          type: string
      - name: de
        in: query
        required: false
        description: Department the activity sits within. Value must be the same as the ID of a department within the site
        schema:
          type: string
      - name: ar
        in: query
        required: false
        description: Area ID, must be one of the areas configured on the site
        schema:
          type: string
      - name: dk
        in: query
        required: false
        description: Date search type, must be one of `op` (open date) and `cl` (close date)
        schema:
          type: string
          enum:
          - op
          - cl
      - name: fd
        in: query
        required: false
        description: Date to search from. Must be used in conjunction with `dk` (dd/mm/yyyy)
        schema:
          type: string
      - name: td
        in: query
        required: false
        description: Date to search until. Must be used in conjunction with `dk` (dd/mm/yyyy)
        schema:
          type: string
      - name: at
        in: query
        required: false
        description: Activity type. Must be one of the activity types available to the site.
        schema:
          type: string
      - name: ct
        in: query
        required: false
        deprecated: true
        description: (deprecated) Legacy activity type. Must be one of `QuickConsult` (Online Survey), `File` (Email/Postal Activity), `Document` (Offline Activity), or `Link` (Link)
        schema:
          type: string
          enum:
          - QuickConsult
          - File
          - Document
          - Link
      - name: fields
        in: query
        required: false
        description: Determines which groups of metadata fields about the activities will be returned. Permissible values are 'basic', 'extended' and 'all'. Omitting this parameter is equivalent to 'basic'.
        schema:
          type: string
          enum:
          - basic
          - extended
          - all
          default: basic
      responses:
        '200':
          description: A JSON array of activities matching the search.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Activity'
  /json_consultation_details:
    get:
      operationId: json_consultation_details
      summary: Get one consultation activity by department and activity ID
      description: Returns a JSON structure containing the same fields as json_search_results. If dept or id are not specified or do not exist, a 404 status code is returned.
      tags:
      - Consultations
      parameters:
      - name: dept
        in: query
        required: true
        description: The ID of the department (eg 'parks-and-recreation')
        schema:
          type: string
      - name: id
        in: query
        required: true
        description: The ID of the activity (eg 'spring-planting-in-kings-gardens')
        schema:
          type: string
      - name: fields
        in: query
        required: false
        description: Determines which groups of metadata fields about the activities will be returned. Permissible values are 'basic', 'extended' and 'all'. Omitting this parameter is equivalent to 'basic'.
        schema:
          type: string
          enum:
          - basic
          - extended
          - all
          default: basic
      responses:
        '200':
          description: The activity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Activity'
        '404':
          description: Returned when dept or id are not specified or do not exist (documented verbatim in the CAA API reference).
components:
  schemas:
    RelatedLink:
      type: object
      properties:
        url:
          type: string
          description: The absolute url to link to
        title:
          type: string
          description: The human-readable title of the link. Used for display.
    Term:
      type: object
      description: An audience, area or interest term.
      properties:
        id:
          type: string
          description: The ID of the term. Used for searching.
        name:
          type: string
          description: The human-readable name of the term. Used for display.
    SupportingDocument:
      type: object
      properties:
        url:
          type: string
          description: The absolute url to link to
        title:
          type: string
          description: The human-readable title of the document, or filename if title was not specified. Used for display.
        size:
          type: string
          description: The size of the document including units (eg kB, MB). Used for display.
    Activity:
      type: object
      title: Consultation activity
      description: 'A published consultation or engagement activity. Field groups follow the `fields` parameter: basic fields are always present, fields marked extended require fields=extended or above, fields marked all require fields=all.'
      properties:
        id:
          type: string
          description: The ID of the activity
        title:
          type: string
          description: The title of the activity
        url:
          type: string
          description: The URL of the activity
        status:
          type: string
          enum:
          - open
          - forthcoming
          - closed
          description: 'State: one of `open`, `forthcoming` or `closed`'
        overview:
          type: string
          description: Overview of the activity (HTML)
        startdate:
          type: string
          description: The date the activity opens / opened on (observed format yyyy/mm/dd)
        enddate:
          type: string
          description: The date the activity closes / closed on (observed format yyyy/mm/dd)
        activity_type:
          type: string
          description: The activity type ID
        workspace_title:
          type: string
          description: The title of the workspace that the activity belongs to (extended and above)
        workspace_id:
          type: string
          description: The ID of the workspace that the activity belongs to (extended and above)
        department:
          type: string
          deprecated: true
          description: (deprecated) The name of the department that the activity belongs to (extended and above)
        dept:
          type: string
          deprecated: true
          description: (deprecated) The ID of the department that the activity belongs to (extended and above)
        type_string:
          type: string
          description: Human readable activity type (extended and above)
        type:
          type: string
          deprecated: true
          description: (deprecated) The legacy type (extended and above)
        participate_url:
          type: string
          x-doc-name: participation_url
          description: The direct URL to the participation method (survey etc), skipping the overview page (extended and above). The published reference names this field `participation_url`; the live 2.4 response emits `participate_url` — verified 2026-07-28.
        progress:
          type: string
          description: The current state of the activity (extended and above)
        visibility:
          type: string
          enum:
          - public
          - private
          description: Either 'public' or 'private' depending on if the activity has been hidden from end users (extended and above)
        why:
          type:
          - string
          - 'null'
          description: The contents of the 'why are we consulting?' field (all only)
        what_happens_next:
          type:
          - string
          - 'null'
          description: The contents of the 'what happens next?' field (all only)
        feedbackdate:
          type: string
          description: The date that activity feedback is/was expected (all only)
        resultdate:
          type: string
          x-doc-name: resultsdate
          description: The date that activity results are/were expected (all only). The published reference names this field `resultsdate`; the live 2.4 response emits `resultdate` — verified 2026-07-28.
        contact_name:
          type: string
          description: The full name entered in the activity's contact details (all only)
        contact_jobtitle:
          type: string
          description: The job title entered in the activity's contact details (all only)
        contact_team:
          type: string
          description: The team name entered in the activity's contact details (all only)
        contact_phone:
          type: string
          description: The phone number entered in the activity's contact details (all only)
        contact_email:
          type: string
          description: The email address entered in the activity's contact details (all only)
        related_links:
          type: array
          description: A list of related links (all only)
          items:
            $ref: '#/components/schemas/RelatedLink'
        related_consultations:
          type: array
          description: A list of related activities (all only)
          items:
            $ref: '#/components/schemas/RelatedLink'
        supporting_documents:
          type: array
          description: A list of supporting documents (all only)
          items:
            $ref: '#/components/schemas/SupportingDocument'
        audiences:
          type: array
          description: A list of audiences this activity applies to (all only)
          items:
            $ref: '#/components/schemas/Term'
        areas:
          type: array
          description: 'A list of ids for areas this activity applies to. NB: This field is omitted unless area support is installed (all only)'
          items:
            $ref: '#/components/schemas/Term'
        interests:
          type: array
          description: A list of ids for interests this activity applies to (all only)
          items:
            $ref: '#/components/schemas/Term'