InsuredAuditDeveloper Portal

Authentication

Every request to api.insuredaudit.com/v1 requires an API key passed as an HTTP Authorization header:

Authorization: Bearer ck_live_abc123...

API key model

  • Tenant-scoped. A key only authorizes operations on its issuing tenant. Cross-tenant operations are impossible by construction.
  • Scope-limited. Each key carries a set of scopes (e.g. events:write, bundles:export). A request that needs a scope the key lacks returns 403 FORBIDDEN.
  • Hashed at rest. Only an Argon2 hash is stored server-side; the secret can’t be retrieved after creation. Lost keys must be rotated.
  • Revocable. DELETE /v1/api-keys/{id} permanently removes a key; existing in-flight requests still complete.

Scope reference

ScopeGrants
events:readSearch + read events, member timelines, dashboard counts.
events:writePOST /v1/events, /v1/events/validate.
documents:readGET document metadata + bytes.
documents:writePOST /v1/documents, redactions.
bundles:requestPOST /v1/bundles, regenerate.
bundles:readList + inspect bundles, diff, verify-signature.
bundles:exportDownload sealed bundle ZIP / eDX export.
rules:read / rules:writeRule corpus list / ingest.
legal-holds:read / legal-holds:writeHold management.
legal-matters:read / legal-matters:writeMatter management.
exceptions:read / exceptions:writeOperator exception queue.
feeds:read / feeds:writeSource feed monitor.
custody:readChain-of-custody log.
graph:readEvent graph queries.
connectors:writeAdapter connector lifecycle.
signing-keys:read / signing-keys:writeBundle signing keys.
search:readFull-text search.
ai-provenance:writePOST AI decision provenance.
adminTenant + actor + role administration, webhook CRUD, quarantine release.

Tenant resolution

Routes that target a tenant accept tenant_id on the query string, or via the X-Tenant-Id header. If the SDK was constructed with a default tenantId, every request gets it automatically.

Rate limits

Limits are enforced per (tenant, route family) and surface as 429 RATE_LIMITED with a Retry-After header. Default budgets:

  • POST /v1/events: 600 envelopes/min (batches count toward this).
  • POST /v1/documents: 120 uploads/min.
  • All other write routes: 300 req/min.
  • Read routes: 1200 req/min.

Operators can lift caps per-tenant by editing tenant.rate_limit_overrides_json.

Authentication errors

StatusCodeCause
401UNAUTHENTICATEDHeader missing or malformed.
401INVALID_KEYKey not found or revoked.
403FORBIDDENKey lacks the required scope.
429RATE_LIMITEDPer-tenant budget exceeded.