TwentyCi · OpenAPI Overlay 1.0.0

API Evangelist enhancements for TwentyAPI (TwentyCi) v2

11 actions 11 updates update extends openapi/twentyci-twentyapi-openapi.json
Derived by API Evangelist Built from the contracts TwentyCi publishes. TwentyCi did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-provider-documentation-defectx-apievangelist-providerx-apievangelist-provider-published-specx-apievangelist-advertised-specx-apievangelist-advertised-spec-statusx-apievangelist-harvest-sourcex-apievangelist-artifactsx-access

Targets 7

$.info
$
$.tags
$.paths['/propertiesavm2/{property}'].post
$.paths['/{uprn}/likely-to-sell'].get
$.paths['/this-is-now/search-national'].get
$.paths['/trigger/{trigger}'].get

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for TwentyAPI (TwentyCi) v2
  version: 1.0.0
x-provenance:
  generated: '2026-07-26'
  method: generated
  source: openapi/twentyci-twentyapi-openapi.json
  note: >-
    Captures API Evangelist's enrichment of the harvested TwentyAPI contract without mutating the
    harvested document. Every value asserted here is sourced from TwentyCi's own public documentation
    corpus (https://api.twentyci.co.uk/api/documentation/markdocs) or from a live probe recorded in
    this repo. Nothing is invented; no response schema is fabricated, because TwentyCi publishes none.
extends: openapi/twentyci-twentyapi-openapi.json
actions:
- target: $.info
  description: Record the provenance of the contract itself and the artifacts derived from it.
  update:
    x-apievangelist-provider: twentyci
    x-apievangelist-provider-published-spec: false
    x-apievangelist-advertised-spec: https://api.twentyci.co.uk/docs/v2/spec.json
    x-apievangelist-advertised-spec-status: 404
    x-apievangelist-harvest-source: https://api.twentyci.co.uk/api/documentation/markdocs
    x-apievangelist-artifacts:
      conventions: conventions/twentyci-conventions.yml
      errors: errors/twentyci-problem-types.yml
      examples: examples/twentyci-examples.yml
      vocabulary: vocabulary/twentyci-vocabulary.yml
      data_model: data-model/twentyci-data-model.yml
      lifecycle: lifecycle/twentyci-lifecycle.yml
      conformance: conformance/twentyci-conformance.yml
      authentication: authentication/twentyci-authentication.yml
      scopes: scopes/twentyci-scopes.yml
      security: security/twentyci-domain-security.yml
      mcp: mcp/twentyci-mcp.yml
      skills: skills/_index.yml
- target: $.info
  description: Record the access gate, which is the single most important integration fact.
  update:
    x-access:
      gate: partner-only
      self_serve_signup: false
      free_tier: false
      sandbox: false
      published_pricing: false
      anonymous_response: 401 Unauthenticated.
      credential_issuance: >-
        TwentyCi issues client_id, client_secret, username and password under a commercial data
        agreement. There is no registration route.
- target: $
  description: Record the cross-cutting conventions TwentyCi documents globally rather than per operation.
  update:
    x-conventions:
      pagination:
        style: page-number
        request_params: [page, per_page, limit]
        response_block: meta.pagination
        response_fields: [total, last_page, per_page, current_page]
      error_envelopes:
      - '{ message, error: { status, messages } }'
      - '{ message, success, errors }'
      error_envelope_note: TwentyCi publishes two competing error envelopes and reconciles neither.
      rfc9457: false
      idempotency: false
      request_id_header: null
      rate_limit_headers: null
      date_format: epoch-seconds
      required_headers:
        Content-Type: application/json
        Accept: application/json
- target: $
  description: >-
    Record the API-wide HTTP statuses TwentyCi publishes on its status-code page but does not declare
    per operation. The harvested spec declares only 200/401/404/422 because that is all TwentyCi
    declares per endpoint.
  update:
    x-http-status-catalog:
      documented_by_provider: [200, 400, 401, 403, 404, 406, 422, 500, 502, 503, 504]
      declared_per_operation: [200, 401, 404, 422]
      source: https://api.twentyci.co.uk/documentation#http-status-response-codes
      detail: errors/twentyci-problem-types.yml
- target: $.info
  description: Record the identity model - UPRN rather than any MLS/RESO identifier.
  update:
    x-identity:
      primary_key: uprn
      primary_key_name: Unique Property Reference Number
      issuer: Ordnance Survey / GeoPlace
      reso_applicable: false
      reso_note: >-
        The United Kingdom has no MLS and no RESO regime. Zero word-boundary matches for RESO, MLS,
        IDX, VOW, OData, Data Dictionary, Universal Property Identifier or UPI across TwentyCi's full
        247,074-byte documentation corpus.
- target: $.info
  description: Record the absent surfaces so a consumer does not go looking for them.
  update:
    x-absent-surfaces:
      webhooks: false
      asyncapi: false
      graphql: false
      grpc: false
      sdks: false
      cli: false
      postman_collection: false
      sandbox: false
      status_page: false
      changelog: false
      deprecation_policy: false
      rate_limits_documented: false
      mcp_server: false
      well_known_documents: false
- target: $.tags
  description: Point each product family at the documentation section that defines it.
  update:
    x-tag-docs:
      Properties: https://api.twentyci.co.uk/documentation#properties
      Categories: https://api.twentyci.co.uk/documentation#categories
      Trigger Information: https://api.twentyci.co.uk/documentation#trigger-information
      Agent Performance: https://api.twentyci.co.uk/documentation#agent-performance
      Address Match: https://api.twentyci.co.uk/documentation#address-match
      Schools: https://api.twentyci.co.uk/documentation#schools
      UK Housing Market Metrics: https://api.twentyci.co.uk/documentation#uk-housing-market-metrics
      This is Now | Retail Propensity To Buy Goods: https://api.twentyci.co.uk/documentation#this-is-now-retail-propensity-to-buy-goods
- target: $.paths['/propertiesavm2/{property}'].post
  description: Flag the published route defect rather than silently correcting it.
  update:
    x-provider-documentation-defect: >-
      TwentyCi publishes this route as "api/v2/propertiesavm2/{property}" - a missing slash between
      the collection and the AVM segment. Transcribed verbatim from the provider's documentation; not
      corrected, because the live behaviour cannot be verified without credentials.
- target: $.paths['/{uprn}/likely-to-sell'].get
  description: Flag the published route defect rather than silently correcting it.
  update:
    x-provider-documentation-defect: >-
      TwentyCi publishes this route as "api/v2/{uprn}/likely-to-sell" with no resource segment.
      Transcribed verbatim; not corrected.
- target: $.paths['/this-is-now/search-national'].get
  description: Flag that the provider's own page for this operation declares a different route.
  update:
    x-provider-documentation-defect: >-
      TwentyCi's "National Search" page declares the Local Search route (/api/v2/this-is-now/search).
      The path here comes from the section index. Example bodies bound to this operation are marked
      medium confidence in examples/twentyci-examples.yml.
- target: $.paths['/trigger/{trigger}'].get
  description: Flag that the provider's own page for this operation declares a different route.
  update:
    x-provider-documentation-defect: >-
      TwentyCi's "Obtain a Specific Trigger" page declares GET /categories, contradicting its own
      section index route /trigger/{trigger} - a copy-paste defect in the corpus.

Work with this as data

Every overlay 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 openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay 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 overlay
curl "https://apis.io/api/v1/overlays/twentyci-twentyapi-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.