Skip to main content

For developers

You move data in and consume golden records.

Start here

  1. The platform model
  2. API reference — every endpoint
  3. Error codes — the envelope and how to branch on it

Your work

TaskPage
Load data at volumeRun a bulk load
Read golden recordsRead the 360 view
Find recordsSearch for entities
React to changesSubscribe to events
Connect an agentConnect an AI agent

Integration advice

Branch on the error code, never the message. Messages are display text and may be reworded or translated; codes are stable.

Surface the trace identifier. An error a user can report by identifier is diagnosable; one described from memory usually is not.

Do not treat webhooks as a complete change feed. Delivery is at-most-once with no retry queue. Treat them as a low-latency notification and reconcile against the API for correctness.

Handle 429 and 503 by honouring the retry interval. Retrying immediately makes the condition worse.

Expect masked values. What you receive depends on the caller's permissions. Do not assume a field is present because it was present in a different caller's response.

Loading well

Load in dependency order — reference data, entities, relationships — and use the initial-load option for the first load into a tenant. Match after loading: matching a partially loaded dataset scores agreements too highly, because value frequencies are computed over a fraction of the data.

Partial success is normal. Read the per-row errors and resubmit only the rows that failed.

Next


Last verified against commit 944761c7 (2026-08-03)