Records

Records are the materialised projections that you read and write. Each record contains a flat data object where all fields — whether contributed by external sources or computed by the platform — appear as a single data surface.

Records are not created directly through the API. They are created by the platform's resolution pipeline when contributions are processed. You can read, update, and delete records.

Endpoints

Method
Path
Description

GET

/records

List records

GET

/records/{recordId}

Get a record

PATCH

/records/{recordId}

Update a record

DELETE

/records/{recordId}

Delete a record

PATCH

/records/bulk

Batch update records

DELETE

/records/bulk

Batch delete records

All endpoints are unscoped — the record UUID is globally unique.

Get a record

GET /records/{recordId}

Response 200 OK

{
  "recordId": "01957c3a-def0-7000-8000-000000000001",
  "modelId": "01957c3a-1234-7000-8000-000000000001",
  "contextId": "01957c3a-5678-7000-8000-000000000001",
  "freshness": "resolved",
  "sha256": "a1b2c3d4e5f6...",
  "data": {
    "firstName": "Sarah",
    "lastName": "Jones",
    "annualIncome": 54800,
    "totalExposure": 1250000
  },
  "createdAt": "2026-02-10T14:30:00Z",
  "updatedAt": "2026-02-13T09:15:00Z",
  "createdBy": "user_01957c3a-..."
}

Freshness

The freshness field indicates whether the record reflects all available evidence:

Value
Meaning

resolved

All evidence has been processed. The data is current.

stale

New evidence has arrived but has not been processed yet.

computing

The platform is currently re-resolving the record.

circle-info

Always check freshness before making decisions based on record data. If freshness is stale or computing, the data may not reflect the latest evidence.

Content integrity

The sha256 field is a SHA-256 hash of the record's data object, computed by the platform on every materialisation pass. You can compare a locally held hash against the current value to detect changes without re-fetching the full record body. The hash is immutable between version bumps — if the sha256 has not changed, the data has not changed.

For full details on ETags, optimistic concurrency, and content integrity, see Versioning & Concurrency.

Including model context

Pass ?include=modelContext to add field descriptions, types, resolution policies, and relationship topology to the response. This is useful for LLM consumers and UIs that need to understand the data shape:

List records

Supports standard filtering and sorting.

Useful filters

Update a record

Every update is a partial update — provide only the fields you want to change. The platform creates a contribution internally (at maximum confidence) and marks the containing context stale for reprocessing.

Request

Response 200 OK

The record is returned immediately with freshness: stale. Once the platform resolves the new contribution, freshness transitions to resolved.

circle-exclamation

Delete a record

Performs a soft delete — the record is excluded from list results and system operations but retained for auditing. Bound contributions are preserved as immutable evidence. Relationships involving the deleted record are also soft-deleted, and dependent rule evaluations are marked stale.

Response 204 No Content

Bulk operations

See Bulk Operations for the general pattern.

Each item in the array carries its own recordId and is processed independently with partial success semantics.

Last updated