Skip to main content
POST
/
v1
/
tenants
/
{tenant_id}
/
entity-states
Create initial identity state
curl --request POST \
  --url https://tally-platform-api-xwka6vu2kq-ue.a.run.app/v1/tenants/{tenant_id}/entity-states \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "envelope_version": "entity_state_envelope_v1",
  "snapshot_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "snapshot_version": 2,
  "generated_at": "2023-11-07T05:31:56Z",
  "subject": {
    "subject_id": "<string>"
  },
  "attributes": {},
  "evidence": [
    {
      "evidence_id": "<string>",
      "evidence_type": "<string>",
      "source": "<string>",
      "captured_at": "2023-11-07T05:31:56Z",
      "retrieved_at": "2023-11-07T05:31:56Z",
      "locator": "<string>",
      "notes": "<string>"
    }
  ],
  "audit": {
    "created_by": "<string>",
    "created_at": "2023-11-07T05:31:56Z",
    "source": "<string>",
    "request_id": "<string>",
    "correlation_id": "<string>"
  },
  "attribute_paths": {}
}
'
{
  "snapshot_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "snapshot_version": 123,
  "envelope_hash": "<string>"
}

Authorizations

Authorization
string
header
required

Firebase Auth JWT issued by Google Identity Platform. Obtain a token by signing in at your app domain and calling firebase.auth().currentUser.getIdToken().

Path Parameters

tenant_id
string
required

Tenant identifier.

Body

application/json

Immutable versioned identity state envelope. Stored as a snapshot. attributes is an open map — the canonical v1 field lists for organization and individual subjects are defined in the schema package and documented in the identity model.

envelope_version
enum<string>
required
Available options:
entity_state_envelope_v1
snapshot_id
string<uuid>
required

Deterministic UUIDv5 derived from subject and patch content.

snapshot_version
integer
required

Monotonically increasing version number per subject.

Required range: x >= 1
generated_at
string<date-time>
required
subject
object
required
attributes
object
required

Identity attributes. Open map — any key/value is accepted. Canonical v1 fields for entity subjects: legal_name, entity_kind, legal_form, legal_form_code, formation_jurisdiction_code, registry_identifier, formation_date, registered_address, entity_status, lei, tax_identifier, website. Canonical v1 fields for individual subjects: name (first_name, middle_name, last_name, name_suffix), birth_date, nationalities, residential_address, tax_identifier, email, phone.

evidence
object[]
required
audit
object
required
attribute_paths
object

Maps JSON Pointer paths to arrays of evidence references. Encodes which evidence supports each attribute value.

diff
object

Response

Snapshot created.

snapshot_id
string<uuid>
snapshot_version
integer
envelope_hash
string | null