Levitate · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Levitate Public API

8 actions 8 updates documentation extends openapi/levitate-public-v1-openapi.json
Derived by API Evangelist Built from the contracts Levitate publishes. Levitate did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-agentic-accessdescriptioncontacttermsOfServicePersonalApiKey

Targets 8

$.info
$.servers
$.security
$.components.securitySchemes
$.tags
$.paths['/public/v1/Contacts'].post
$.paths['/public/v1/Companies/{id}'].delete
$.paths['/public/v1/Contacts/{id}'].patch

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Levitate Public API
  version: 1.0.0
extends: openapi/levitate-public-v1-openapi.json
x-provenance:
  generated: '2026-08-25'
  method: generated
  source: >-
    Derived from openapi/levitate-public-v1-openapi.json plus facts published at
    https://help.levitate.ai/article/735-levitate-public-api and
    https://help.levitate.ai/article/736-oauth-clients-for-the-public-api. The original specification is
    never mutated; every statement below is traceable to Levitate's own documentation.
actions:
  - target: $.info
    description: Add contact, licence-neutral description and terms pointers absent from the published spec.
    update:
      description: >-
        The Levitate Public API reads and writes Levitate contacts, contact key facts, companies and
        notes. All endpoints live under https://api.levitate.ai/public/v1 and take a bearer credential:
        either a Personal API Key (tied to one user, fixed 30/90/180/365-day expiry, not renewable) or
        an OAuth 2.0 authorization-code + PKCE token issued by https://login.levitate.ai. The Public API
        feature must be enabled on an account by Levitate Support before keys can be generated. The API
        is not a connector and does not sync — it never reaches out to a CRM or AMS on its own.
      contact:
        name: Levitate Support
        url: https://help.levitate.ai/
      termsOfService: https://www.levitate.ai/terms-of-service
  - target: $.servers
    description: Pin the documented base path rather than the bare host, so generated clients hit /public/v1.
    update:
      - url: https://api.levitate.ai
        description: Production. All Public API paths are prefixed /public/v1.
  - target: $.security
    description: >-
      The published spec declares an OAuth2 securityScheme but applies no top-level security requirement
      and sets `security: null` on every operation, so a generated client would emit unauthenticated
      calls. Every operation in fact requires a bearer credential with the levitate:contacts scope.
    update:
      - OAuth2:
          - levitate:contacts
  - target: $.components.securitySchemes
    description: >-
      Record the Personal API Key credential, which the docs describe as the primary path for scripts
      but which the specification omits entirely. Both credentials travel in the same Authorization
      bearer header.
    update:
      PersonalApiKey:
        type: http
        scheme: bearer
        description: >-
          Personal API Key generated in the Levitate app under Integrations. Tied to one user, requires
          at least one scope, expires after a chosen 30/90/180/365 days and cannot be renewed or
          extended. A key scoped to the Levitate MCP Server or a Zapier account key will NOT
          authenticate against the Public API.
  - target: $.tags
    description: Add descriptions to the three declared tags, which the published spec leaves bare.
    update:
      - name: Contacts
        description: The central Levitate record — names, emails, phones, address, tags, custom fields and key facts, plus a boolean search endpoint.
      - name: Companies
        description: Organization records. A contact's company is inferred from its primary email domain and cannot be set directly.
      - name: Notes
        description: Activity records with a sanitized HTML body, attached to up to 25 contacts and/or companies.
  - target: $.paths['/public/v1/Contacts'].post
    description: Flag the non-idempotent create so agent tooling does not blind-retry it.
    update:
      x-agentic-access:
        action-class: write
        consequence: creates a durable customer record
        reversible: false
        note: >-
          There is no DELETE operation for a contact in public-v1, so a contact created through the API
          cannot be removed through the API. There is no Idempotency-Key header — a retry after a
          timeout returns 409 Conflict rather than the original 201 body.
  - target: $.paths['/public/v1/Companies/{id}'].delete
    description: Flag the irreversible delete.
    update:
      x-agentic-access:
        action-class: delete
        consequence: permanently removes a company record
        reversible: false
        note: Levitate's own description says "Permanently removes a company." No restore operation and no recovery window are published.
  - target: $.paths['/public/v1/Contacts/{id}'].patch
    description: Warn that array fields are replaced, not merged — the most destructive quiet behaviour in this API.
    update:
      x-agentic-access:
        action-class: update
        consequence: overwrites array fields wholesale
        reversible: false
        note: >-
          A supplied array REPLACES the whole array. Sending `tags` overwrites the contact's entire tag
          list; the same applies to emailAddresses, phoneNumbers and customFields. Read the current
          array, append, and send the full list back.

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/levitate-public-v1-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?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.