Developer platform

Build integrations on a CRM that ships like Stripe.

First-class REST API. Scoped keys with usage analytics + rate limits + idempotency. Signed webhooks over 20+ event types with delivery inspector, test-send, replay. Official SDKs for Node/TypeScript, Python, and PHP. OpenAPI 3.1, Scalar interactive docs, Postman, and an llms.txt doc your AI tools can consume in one shot.

Apache-2.0 SDKs · v1 stable · Victor drafts your receiver code if you ask

Quickstart
npm install @cortova/sdk

import {  Cortova } from '@cortova/sdk';
const ah = new Cortova({ apiKey: process.env.CORTOVA_API_KEY });

for await (const lead of ah.leads.iter()) {
  console.log(lead.companyName);
}
Built for developers. Signed webhooks · Scoped API keys · Per-key usage analytics · Cursor pagination · Idempotency · Rate limits · ETag

Official SDKs in every popular stack

Auto-paginating iterators, typed responses, zero runtime dependencies beyond your language's stdlib.

Node.js / TypeScript

Auto-paginating async iterators on every list resource. First-class TypeScript types.

npm install @cortova/sdk
npmjs.com/package/@cortova/sdk →

Python

Generator-based iterators with cursor handling. httpx-backed. Python 3.9+.

pip install cortova
pypi.org/project/cortova →

PHP

PSR-4 autoloading, PHP 8.1+, curl-based. Generators walk pagination cursors for you.

composer require cortova/sdk
packagist.org/packages/cortova/sdk →

Built like the developer tools you already love

Scoped API keys

Least-privilege scopes per key (read:companies, write:leads, …). Per-key rate limits, IP allowlist, and a daily usage rollup with top-endpoints + error count.

Signed webhooks · 20+ events

Stripe-style v2 signature (t=<unix>,v1=<hex>) defends against replay. Per-delivery inspector with payload + response body. Test-send, one-click replay, and secret rotation.

AI integration assistants

Chat with Victor to design an integration end-to-end. Paste a failure for an instant diagnosis. Auto-generate a receiver in Node, Python, or PHP. Auto-pick the minimum scope set.

Cursor pagination + idempotency

?after=/?limit= with opaque cursors. Idempotency-Key on every POST — retries replay the cached response for 24 hours. ETag/If-None-Match on GETs.

Sparse fieldsets

Ask for just what you need. ?fields=id,name,amount strips the response to those keys — works on every endpoint.

llms.txt for AI tooling

A single Markdown doc at /api/llms.txt describes every endpoint, scope, and webhook event with sample payloads. Drop the URL into Cursor / Claude Code / ChatGPT — your AI gets the whole API surface in one shot.

Build your integration in minutes, not weeks.

Start a free trial, grab an API key, and ship.

Start free trial Browse the API