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.
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
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.
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.