Sprift · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Sprift v1 API

12 actions 12 updates documentation extends openapi/sprift-openapi.json
Derived by API Evangelist Built from the contracts Sprift publishes. Sprift did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-notedescriptionurlx-apievangelist-profilex-apievangelist-harvestedx-apievangelist-sourcex-access-modelname

Targets 11

$.info
$.info.contact
$.externalDocs
$.securityDefinitions
$.securityDefinitions.auth
$.definitions.inline_response_403
$.paths['/property/{uprn}/propertyid'].get
$.paths['/property/{uprn}/{status}'].get
$.paths['/property/search'].post
$.paths['/share'].post
$.paths['/user/login'].post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Sprift v1 API
  version: 1.0.0
extends: openapi/sprift-openapi.json
x-apievangelist:
  generated: '2026-07-26'
  method: generated
  source: openapi/sprift-openapi.json
  note: >-
    Captures API Evangelist enhancements to Sprift's harvested Swagger 2.0 contract
    without mutating the original. Everything asserted here is either observed live or
    quoted from a Sprift surface — no operation, parameter or schema is invented. Note
    that the base document is Swagger 2.0, so JSONPath targets address Swagger 2.0
    structures (securityDefinitions, definitions, parameters with `in`), not OpenAPI
    3.x ones.
actions:
- target: $.info
  update:
    description: >-
      Sprift's UK residential property data API. 27 operations across 7 tags at host
      sprift.com, basePath /dashboard/api/v1. The contract is served anonymously at
      https://sprift.com/dashboard/api-doc/sprift.json but every operation requires a
      SPRIFT-API-KEY header issued by Sprift Customer Success to existing subscribers;
      anonymous and invalid-key calls both return HTTP 401
      {"status":false,"error":"Unauthorized"}. UPRN is the join key for the whole
      product.
    x-apievangelist-profile: https://apis.io/provider/sprift/
    x-apievangelist-harvested: '2026-07-26'
    x-apievangelist-source: https://sprift.com/dashboard/api-doc/sprift.json
    x-access-model:
      pricing: paid
      onboarding: application-approval
      self-serve-signup: false
      request-access: customer.success@sprift.com
- target: $.info.contact
  update:
    name: Sprift Customer Success
    email: customer.success@sprift.com
    url: https://sprift.com/contact-us
- target: $.info
  update:
    termsOfService: https://sprift.com/terms-and-conditions
- target: $.externalDocs
  update:
    description: Sprift Data and API product page
    url: https://sprift.com/data-and-api
- target: $.securityDefinitions
  update:
    SpriftApiKey:
      type: apiKey
      name: SPRIFT-API-KEY
      in: header
      description: >-
        The operative authentication scheme. Every operation in this contract declares
        SPRIFT-API-KEY as a required header parameter, but the original document
        declares only a global HTTP Basic scheme, which contradicts it. This overlay
        adds the API key as a first-class security definition so generated clients
        pick it up. Keys are issued by Sprift Customer Success after review; there is
        no self-serve signup.
- target: $.securityDefinitions.auth
  update:
    description: >-
      Declared in the original contract and applied globally, but contradicted by the
      SPRIFT-API-KEY header on every operation and by the Bearer token described on
      https://sprift.com/data-and-api. Recorded verbatim; treat SpriftApiKey as the
      operative scheme.
- target: $.definitions.inline_response_403
  update:
    x-apievangelist-note: >-
      The contract documents 403 for an invalid key, but the live host returns 401 with
      the same {status,error} body for both a missing and an invalid key. Clients must
      handle 401. See errors/sprift-problem-types.yml.
- target: $.paths['/property/{uprn}/propertyid'].get
  update:
    x-apievangelist-note: >-
      The mandatory resolution hop. Ten of the twenty-seven operations key on Sprift's
      internal integer propertyID rather than the UPRN, so an agent holding only a UPRN
      must call this operation first. See data-model/sprift-data-model.yml.
- target: $.paths['/property/{uprn}/{status}'].get
  update:
    x-apievangelist-note: >-
      The {status} path parameter is declared as a free string with no enumeration, and
      an unrecognised value returns HTTP 400 "Unknown comparable type". Valid values are
      not published in the contract and must be obtained from Sprift support.
- target: $.paths['/property/search'].post
  update:
    x-apievangelist-note: >-
      A write operation with no idempotency contract. There is no Idempotency-Key
      parameter anywhere in this API, so a retry after a timeout may generate a
      duplicate report. See conventions/sprift-conventions.yml.
- target: $.paths['/share'].post
  update:
    x-apievangelist-note: >-
      A write operation with no idempotency contract; a retry may produce a second
      share link for the same report.
- target: $.paths['/user/login'].post
  update:
    x-apievangelist-note: >-
      Not the API authentication path. This exists so a partner platform can sign a
      Sprift end user into an embedded iFrame; the call itself still requires the
      SPRIFT-API-KEY header. See components/sprift-components.yml.

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/sprift-openapi-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.