Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.origami.chat/llms.txt

Use this file to discover all available pages before exploring further.

Building with an AI coding assistant? Download the full OpenAPI specification and paste it into your preferred tool.

Prerequisites

  • An Origami account with at least one table set up
  • An API key (create one in Settings → API Keys)

Step 1: List your tables

Find the table you want to enrich into. The response shows each table’s columns, so you know which fields to include in your rows.
curl https://origami.chat/api/v1/tables \
  -H "Authorization: Bearer og_live_YOUR_KEY"
Example response
{
  "tables": [
    {
      "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
      "name": "Series A SaaS Companies",
      "workspaceName": "Outbound Q2",
      "rowCount": 150,
      "columns": [
        { "name": "Company Name", "slug": "company-name", "kind": "input" },
        { "name": "Website", "slug": "website", "kind": "input" },
        { "name": "CEO Email", "slug": "ceo-email", "kind": "enrichment", "autoTrigger": true }
      ]
    }
  ],
  "total": 1,
  "page": 0,
  "pageSize": 50
}
Note the id and the input column slugs — you’ll use these as field names in the next step.

Step 2: Insert rows

Post your raw data using column slugs as field names (from Step 1). Enrichment starts automatically.
curl -X POST https://origami.chat/api/v1/tables/TABLE_ID/rows \
  -H "Authorization: Bearer og_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "rows": [
      { "company-name": "Acme Corp", "website": "acme.com" },
      { "company-name": "Beta Inc", "website": "beta.io" }
    ]
  }'
Response
{
  "batchId": "f47ac10b-58cc-4372-a567-0e02b2c3d479"
}
Set "enrich": false in the request body to insert rows without triggering enrichment.
For safe retries, include a "batchId" (any UUID you generate) in the request body. If the request is retried with the same batchId, Origami returns the existing batch instead of inserting duplicate rows.

Step 3: Poll for results

Use the batchId to check progress. Keep polling until status is "complete".
curl https://origami.chat/api/v1/batches/BATCH_ID \
  -H "Authorization: Bearer og_live_YOUR_KEY"
{
  "batchId": "f47ac10b-...",
  "tableId": "d290f1ee-...",
  "type": "insert",
  "status": "processing",
  "rowCount": 2,
  "enrichments": { "total": 4, "completed": 1, "pending": 3, "failed": 0 },
  "failures": {},
  "creditsUsed": 0,
  "createdAt": "2025-07-01T14:30:00Z",
  "completedAt": null
}

Step 4: Read all table data (optional)

To pull all rows from a table (not just from one batch), use the read endpoint:
curl "https://origami.chat/api/v1/tables/TABLE_ID/rows?pageSize=100" \
  -H "Authorization: Bearer og_live_YOUR_KEY"

What’s next

Authentication

Managing API keys and security best practices.

API Reference

Full endpoint docs with interactive playground.