# Origami

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> AI research agents for person lookup, work-email discovery, company research, and other record enrichment, returned as structured tables.

**Category:** AI Research | **Website:** [origami.chat](https://origami.chat) | **Docs:** [docs.origami.chat](https://docs.origami.chat)

## Access Methods

| Method | Base URL | Auth |
|--------|----------|------|
| **x402 (Base)** | `https://origami.x402.beta.paywithlocus.com/origami/` | HTTP 402 auto-payment |
| **MPP (Tempo)** | `https://origami.mpp.paywithlocus.com/origami/` | HTTP 402 auto-payment |
| **Wrapped API** | `https://api.beta.paywithlocus.com/api/wrapped/origami/` | `Authorization: Bearer <LOCUS_API_KEY>` |

**OpenAPI discovery:** `GET https://origami.x402.beta.paywithlocus.com/openapi.json`

## Endpoints

### Research

Run an isolated research agent for person lookup, work-email discovery, company research, or other record enrichment, then return structured tables and rows.

**Estimated cost:** $0.018 per settled credit (authorization maximum set by maxCredits)

**Payment:** x402 `upto` — the challenge amount is a maximum; the receipt contains the actual settled usage.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `prompt` | string | Yes | Research brief (1-10,000 characters) |
| `maxCredits` | integer | Yes | Hard Origami credit budget (5-10000); Origami requires at least 5 credits to admit a run |
| `model` | string | No | Model: "origami-lite" or "origami-max" |
| `maxRows` | integer | No | Maximum rows returned across all result tables (default 200, max 200) |
| `includeTranscript` | boolean | No | Include Origami public transcript messages (default false) |
| `timeoutSeconds` | integer | No | Overall wait limit (default 1200, max 1740) |

```bash
curl -X POST https://origami.x402.beta.paywithlocus.com/origami/research \
  -H "Content-Type: application/json" \
  -H "x-locus-request-id: <UUID from the 402 response>" \
  -d '{"prompt":"Return one concise sentence explaining HTTP status 402.","maxCredits":5,"model":"origami-lite","maxRows":1,"includeTranscript":false,"timeoutSeconds":120}'
```
