Docs

API reference

Orphica's public REST API lives at /api/v1. Authenticate with a Bearer token: Authorization: Bearer orphica_live_...

Authentication

Generate a key in Settings → API keys. Keys are scoped to a workspace. Treat them like passwords.

curl -H "Authorization: Bearer orphica_live_..." https://orphica.app/api/v1/objects
GET/api/v1/records?object=companies&limit=50

List records

Returns up to 500 records from a given object, with values_flat hydrated.

Response
{
  "object": "companies",
  "total": 10,
  "records": [
    {
      "id": "...",
      "values": { "name": "Acme", "domain": "acme.com" },
      "created_at": "...",
      "updated_at": "..."
    }
  ]
}
GET/api/v1/records/{id}

Get a single record

Returns one record by id. 404 if not found or in another workspace.

POST/api/v1/records

Create a record

Creates a record. values are coerced to the matching attribute type.

Body
{
  "object": "companies",
  "values": { "name": "Acme", "domain": "acme.com" }
}
PATCH/api/v1/records/{id}

Update a record

Partial update. Only fields you send are changed.

Body
{ "values": { "industry": "Manufacturing" } }
DELETE/api/v1/records/{id}

Delete a record

Soft delete is not yet supported. Use revoke + restore in the UI if you need recovery.

GET/api/v1/objects

List objects with schema

Returns every object in the workspace, hydrated with its attribute definitions.

Webhooks

Subscribe in Settings → Webhooks. Orphica signs the body with HMAC-SHA256 using your webhook's secret. The signature is in the X-Orphica-Signature header.

POST https://you.example.com/webhook
X-Orphica-Event: record.created
X-Orphica-Signature: sha256-hex
{
  "event": "record.created",
  "workspace_id": "...",
  "delivered_at": "2026-05-14T12:00:00Z",
  "data": { "record_id": "...", "values": { ... } }
}