← Developers

API reference

Build on Reapdat from your own systems. One key, one base URL, and an integration per product area.

Basehttps://api.reapdat.com/api/v1

Overview#

One REST API, one credential, JSON in and JSON out. Every endpoint is scoped to your account by the credential you send, which is why no request in this reference carries an account id — there is no way to ask for someone else's data.

Base URL
https://api.reapdat.com/api/v1
Request bodyapplication/json, except where a file is being uploaded
TimestampsISO 8601, UTC. A naive value on input is read as UTC
ErrorsAlways { "detail": "..." }, with a meaningful status code
VersioningThe /v1 prefix. Breaking changes ship under a new prefix

Authentication#

Send an admin API key on every request. One header — no login call, no token to refresh, no expiry to handle.

X-API-Key: ua_admin_xxxxxxxxxxxxxxxxxxxxxxxxxxxx

A key may also be sent as Authorization: Bearer ua_admin_... — keys are recognised by their ua_ prefix, so either header carries one.

Find your key under Portal → Integrations → API Keys. It is shown once, because only a hash is stored: a lost key is regenerated, never recovered. Revoking one takes effect immediately and leaves your other keys working.

A browser session (the portal's own sign-in) is accepted too, on every endpoint here.

Errors#

StatusMeans
400The request was understood and refused. detail says why
401No credential, or a malformed / expired browser session
403The API key is unknown, revoked, expired, or is not an admin key
404No such record on your account. Never confirms one exists elsewhere
422The body did not validate. detail names the offending field
429Rate limited. Back off and retry
403
{
  "detail": "Admin API key required"
}
live

Purpose-built links — a shareable chat page per campaign, role or product, each with its own isolated knowledge base.

Something missing, or an endpoint behaving differently from this page? Tell us — the reference is written from the code, so a mismatch is a bug in one of them.