Skip to main content
Origami is an AI-powered lead generation and data enrichment platform. The v3 API is the current way to drive it from your own code. You call named operations for lists, campaigns, and account — and every async call returns a Job.
  • Find leads. Hand Origami a brief; it creates a list, sources rows, and enriches them.
  • Bring your own data. Upsert rows into a list, let its columns enrich them, and read the results back.
  • Run outreach. Build a campaign as a linear recipe: people, templates, senders, launch.
The API is resource-oriented and self-describing. If you’ve used Stripe, it will feel familiar. Start with the v3 API for the conventions, then the quickstart to run your first search.
Building with an AI coding assistant? Download the OpenAPI spec for client generators, Postman, or your editor — or install the Origami skill.

Base URL

HTTP requests go to:
The hosted MCP endpoint is https://origami.chat/mcp. Same bearer. See the v3 overview for the client config. Authenticate with a Bearer API key. See authentication.

Core conventions

A few conventions hold across every v3 endpoint:
  • snake_case. Request and response fields are snake_case. Unknown fields are 400 VALIDATION_ERROR.
  • Self-describing objects. Every object carries an object field naming its type ("job", "list", "campaign", …).
  • One list envelope. Every list endpoint returns { "object": "list", "items": [...], "next_cursor": string | null, "url": string }. Pass next_cursor back as cursor to page; null means the last page.
  • Async work is a Job. Async POSTs return 202 with a Job. Poll until status is terminal, honoring next_poll_at, or subscribe to job.* webhooks.
  • Idempotency. Any POST may send an Idempotency-Key header for safe retries.
  • Errors. Every error is { error, code, details?, handoff? } with an UPPERCASE_SNAKE_CASE code.

v3 API

Named operations, the Job object, and how the three sections fit together.

Quickstart

Find leads with a brief, poll the Job, and read the rows back.

Authentication

API keys, roles, rate limits, and project scoping.

Webhooks

Signed POSTs for sequencer activity, table runs, and Job transitions.

Migrating from v2

Map every v2 flow to its v3 operation.

v2 API

The previous API. Still fully functional; deprecated for new work.
v1 and v2 remain available with the same keys, with no removal date. New integrations should target v3. See the v2 → v3 and v1 → v2 migration guides.