Home / Developer Center / Event catalog MOBILE-ID · TRUSTED LTANS Event catalog 19 events: emission guards, proposed consumers, state semantics, reconciliation and current envelope limits.
VI–EN terminology
Envelope 2.0 and consistency boundary ArchiveRequested ArchiveAccepted ArchiveRejected EvidenceGenerationRequested EvidenceGenerated EvidenceGenerationFailed VerificationRequested VerificationCompleted RenewalDue RenewalStarted RenewalCompleted RenewalFailed ExportRequested Envelope 2.0 and consistency boundary Each event uses archiveId as aggregateId, an archive-scoped aggregateRevision and a typed referenced resource. Producers commit revision with a durable outbox. Consumers deduplicate eventId, detect revision gaps and reconcile authoritative state; occurredAt is not delivery order.
This is a new envelope design, not evidence of a running broker/consumer. Revisions in individual samples are illustrative; do not combine all events into a successful timeline because some branches are mutually exclusive.
ArchiveRequested Property Meaning and condition Emission guard Request registered for validation; completeness is not established. Consumer / responsibility Intake coordination checks source/rights once under the original transaction. Duplicates, delay and reconciliation Do not infer ACCEPTED from the request; reconcile the archive on late delivery. Aggregate ArchiveObject / archiveId / aggregateRevision Resource ArchiveObject / arc-test-001 state REQUESTED reference /v1/archives/arc-test-001
JSONCopy
{
"eventId": "evt-archiverequested-001",
"eventName": "ArchiveRequested",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 1,
"correlationId": "corr-test-001",
"idempotencyKey": "event-archiverequested-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "REQUESTED",
"resourceType": "ArchiveObject",
"resourceId": "arc-test-001",
"reference": "/v1/archives/arc-test-001"
}Download example ArchiveAccepted Property Meaning and condition Emission guard Validated intake and receipt recorded; evidence is not ready. Consumer / responsibility The source retains archiveId/jobId; approved coordination initiates evidence. Duplicates, delay and reconciliation Duplicates do not redeposit; EVIDENCE_READY needs a separate result. Aggregate ArchiveObject / archiveId / aggregateRevision Resource ArchiveObject / arc-test-001 state ACCEPTED reference /v1/archives/arc-test-001
JSONCopy
{
"eventId": "evt-archiveaccepted-001",
"eventName": "ArchiveAccepted",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 2,
"correlationId": "corr-test-001",
"idempotencyKey": "event-archiveaccepted-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "ACCEPTED",
"resourceType": "ArchiveObject",
"resourceId": "arc-test-001",
"reference": "/v1/archives/arc-test-001"
}Download example ArchiveRejected Property Meaning and condition Emission guard Intake validation failed with a recorded reason. Consumer / responsibility The source inspects the reason and submits corrected bytes/metadata with proper idempotency. Duplicates, delay and reconciliation Do not overwrite another record with an old event; reconcile source-request linkage. Aggregate ArchiveObject / archiveId / aggregateRevision Resource ArchiveObject / arc-test-001 state REJECTED reference /v1/archives/arc-test-001
JSONCopy
{
"eventId": "evt-archiverejected-001",
"eventName": "ArchiveRejected",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 3,
"correlationId": "corr-test-001",
"idempotencyKey": "event-archiverejected-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "REJECTED",
"resourceType": "ArchiveObject",
"resourceId": "arc-test-001",
"reference": "/v1/archives/arc-test-001"
}Download example EvidenceGenerationRequested Property Meaning and condition Emission guard Input set and processing profile pinned for generation. Consumer / responsibility Evidence reads custody-authorized data and retains internal job identity. Duplicates, delay and reconciliation Lost reread access blocks processing; a request is not an existing TSA token. Aggregate ArchiveObject / archiveId / aggregateRevision Resource EvidenceRecord / arc-test-001 state REQUESTED reference /v1/archives/arc-test-001/evidence/1
JSONCopy
{
"eventId": "evt-evidencegenerationrequested-001",
"eventName": "EvidenceGenerationRequested",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 4,
"correlationId": "corr-test-001",
"idempotencyKey": "event-evidencegenerationrequested-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "REQUESTED",
"resourceType": "EvidenceRecord",
"resourceId": "arc-test-001",
"reference": "/v1/archives/arc-test-001/evidence/1",
"evidenceVersion": 1
}Download example EvidenceGenerated Property Meaning and condition Emission guard Evidence revision persisted and checked before publication. Consumer / responsibility The source queries evidence/revision; renewal scheduling binds the actual result. Duplicates, delay and reconciliation The envelope lacks a dedicated revision: query the resource rather than infer from state alone. Aggregate ArchiveObject / archiveId / aggregateRevision Resource EvidenceRecord / arc-test-001 state PUBLISHED reference /v1/archives/arc-test-001/evidence/1
JSONCopy
{
"eventId": "evt-evidencegenerated-001",
"eventName": "EvidenceGenerated",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 5,
"correlationId": "corr-test-001",
"idempotencyKey": "event-evidencegenerated-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "PUBLISHED",
"resourceType": "EvidenceRecord",
"resourceId": "arc-test-001",
"reference": "/v1/archives/arc-test-001/evidence/1",
"evidenceVersion": 1
}Download example EvidenceGenerationFailed Property Meaning and condition Emission guard Generation/storage/checking did not complete; retain cause and job. Consumer / responsibility Operations distinguishes TSA, byte, access and profile errors before recovery. Duplicates, delay and reconciliation Retain earlier evidence if present; a started retry is not success. Aggregate ArchiveObject / archiveId / aggregateRevision Resource Job / job-evidence-001 state FAILED reference /v1/jobs/job-evidence-001
JSONCopy
{
"eventId": "evt-evidencegenerationfailed-001",
"eventName": "EvidenceGenerationFailed",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 6,
"correlationId": "corr-test-001",
"idempotencyKey": "event-evidencegenerationfailed-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "FAILED",
"resourceType": "Job",
"resourceId": "job-evidence-001",
"reference": "/v1/jobs/job-evidence-001"
}Download example VerificationRequested Property Meaning and condition Emission guard Assessment requested with context to be pinned. Consumer / responsibility Coordination pins time/policy/evidence revision; API scope does not grant byte access. Duplicates, delay and reconciliation The envelope uses generic aggregateId; deployment must agree verificationId/jobId mapping. Aggregate ArchiveObject / archiveId / aggregateRevision Resource VerificationReport / ver-test-001 state REQUESTED reference /v1/verifications/ver-test-001
JSONCopy
{
"eventId": "evt-verificationrequested-001",
"eventName": "VerificationRequested",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 7,
"correlationId": "corr-test-001",
"idempotencyKey": "event-verificationrequested-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "REQUESTED",
"resourceType": "VerificationReport",
"resourceId": "ver-test-001",
"reference": "/v1/verifications/ver-test-001"
}Download example VerificationCompleted Property Meaning and condition Emission guard Execution completed and a report is available. Consumer / responsibility The caller reads step outcomes: VALID / INVALID / INDETERMINATE. Duplicates, delay and reconciliation COMPLETED does not imply VALID; reconcile reference/reportId under the profile. Aggregate ArchiveObject / archiveId / aggregateRevision Resource VerificationReport / ver-test-001 state COMPLETED reference /v1/verifications/ver-test-001
JSONCopy
{
"eventId": "evt-verificationcompleted-001",
"eventName": "VerificationCompleted",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 8,
"correlationId": "corr-test-001",
"idempotencyKey": "event-verificationcompleted-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "COMPLETED",
"resourceType": "VerificationReport",
"resourceId": "ver-test-001",
"reference": "/v1/verifications/ver-test-001",
"outcome": "INDETERMINATE"
}Download example RenewalDue Property Meaning and condition Emission guard A selected cryptographic-policy review threshold is reached. Consumer / responsibility The owner assesses algorithms, renewal mode and reread rights. Duplicates, delay and reconciliation Notification is not approval; repeated alerts cannot multiply the same decision. Aggregate ArchiveObject / archiveId / aggregateRevision Resource ArchiveObject / arc-test-001 state DUE reference /v1/archives/arc-test-001
JSONCopy
{
"eventId": "evt-renewaldue-001",
"eventName": "RenewalDue",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 9,
"correlationId": "corr-test-001",
"idempotencyKey": "event-renewaldue-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "DUE",
"resourceType": "ArchiveObject",
"resourceId": "arc-test-001",
"reference": "/v1/archives/arc-test-001"
}Download example RenewalStarted Property Meaning and condition Emission guard Execution guards satisfied and starting revision pinned. Consumer / responsibility Operations monitors data access, TSA dependencies and revision conflicts. Duplicates, delay and reconciliation RUNNING publishes no new revision; reconcile the original job after timeout. Aggregate ArchiveObject / archiveId / aggregateRevision Resource Renewal / ren-test-001 state RUNNING reference /v1/renewals/ren-test-001
JSONCopy
{
"eventId": "evt-renewalstarted-001",
"eventName": "RenewalStarted",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 10,
"correlationId": "corr-test-001",
"idempotencyKey": "event-renewalstarted-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "RUNNING",
"resourceType": "Renewal",
"resourceId": "ren-test-001",
"reference": "/v1/renewals/ren-test-001"
}Download example RenewalCompleted Property Meaning and condition Emission guard Continuation verified and stored under the approved mode. Consumer / responsibility Update review scheduling after previous/next revision reconciliation; retain history. Duplicates, delay and reconciliation Late events cannot regress the current revision; the envelope lacks full revision history. Aggregate ArchiveObject / archiveId / aggregateRevision Resource Renewal / ren-test-001 state COMPLETED reference /v1/renewals/ren-test-001
JSONCopy
{
"eventId": "evt-renewalcompleted-001",
"eventName": "RenewalCompleted",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 11,
"correlationId": "corr-test-001",
"idempotencyKey": "event-renewalcompleted-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "COMPLETED",
"resourceType": "Renewal",
"resourceId": "ren-test-001",
"reference": "/v1/renewals/ren-test-001"
}Download example RenewalFailed Property Meaning and condition Emission guard Renewal did not complete and needs diagnosis. Consumer / responsibility Distinguish missing bytes, TSA failure and revision conflict before retry. Duplicates, delay and reconciliation Do not alter old evidence dates or evade failure by switching modes; retain unresolved risk. Aggregate ArchiveObject / archiveId / aggregateRevision Resource Renewal / ren-test-001 state FAILED reference /v1/renewals/ren-test-001
JSONCopy
{
"eventId": "evt-renewalfailed-001",
"eventName": "RenewalFailed",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 12,
"correlationId": "corr-test-001",
"idempotencyKey": "event-renewalfailed-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "FAILED",
"resourceType": "Renewal",
"resourceId": "ren-test-001",
"reference": "/v1/renewals/ren-test-001"
}Download example ExportRequested Property Meaning and condition Emission guard Export scope, authority and revisions registered. Consumer / responsibility Archive assembles authorized components; recipient custody has not changed. Duplicates, delay and reconciliation Duplicates do not create a different package under the same result; agree export/package mapping. Aggregate ArchiveObject / archiveId / aggregateRevision Resource ExportResult / exp-test-001 state QUEUED reference /v1/exports/exp-test-001
JSONCopy
{
"eventId": "evt-exportrequested-001",
"eventName": "ExportRequested",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 13,
"correlationId": "corr-test-001",
"idempotencyKey": "event-exportrequested-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "QUEUED",
"resourceType": "ExportResult",
"resourceId": "exp-test-001",
"reference": "/v1/exports/exp-test-001"
}Download example ExportCompleted Property Meaning and condition Emission guard Package created with reconcilable components/inventory. Consumer / responsibility The recipient uses an authorized channel to inventory and validate. Duplicates, delay and reconciliation EXPORTED establishes neither recipient acceptance nor source-deletion authority. Aggregate ArchiveObject / archiveId / aggregateRevision Resource ExportResult / exp-test-001 state EXPORTED reference /v1/exports/exp-test-001
JSONCopy
{
"eventId": "evt-exportcompleted-001",
"eventName": "ExportCompleted",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 14,
"correlationId": "corr-test-001",
"idempotencyKey": "event-exportcompleted-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "EXPORTED",
"resourceType": "ExportResult",
"resourceId": "exp-test-001",
"reference": "/v1/exports/exp-test-001"
}Download example TransferStarted Property Meaning and condition Emission guard Transfer opened with defined package/scope/recipient. Consumer / responsibility The recipient checks the exact package; current contractual source responsibility remains. Duplicates, delay and reconciliation No dedicated recipientId exists in the envelope; this message alone cannot authorize disclosure. Aggregate ArchiveObject / archiveId / aggregateRevision Resource TransferResult / trf-test-001 state TRANSFERRING reference /v1/transfers/trf-test-001
JSONCopy
{
"eventId": "evt-transferstarted-001",
"eventName": "TransferStarted",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 15,
"correlationId": "corr-test-001",
"idempotencyKey": "event-transferstarted-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "TRANSFERRING",
"resourceType": "TransferResult",
"resourceId": "trf-test-001",
"reference": "/v1/transfers/trf-test-001"
}Download example TransferCompleted Property Meaning and condition Emission guard Acknowledgement accepted for the correct transfer/scope. Consumer / responsibility Both parties reconcile the responsibility-transfer point and omissions. Duplicates, delay and reconciliation Never delete the source automatically; retention, holds and disposition remain separate. Aggregate ArchiveObject / archiveId / aggregateRevision Resource TransferResult / trf-test-001 state ACKNOWLEDGED reference /v1/transfers/trf-test-001
JSONCopy
{
"eventId": "evt-transfercompleted-001",
"eventName": "TransferCompleted",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 16,
"correlationId": "corr-test-001",
"idempotencyKey": "event-transfercompleted-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "ACKNOWLEDGED",
"resourceType": "TransferResult",
"resourceId": "trf-test-001",
"reference": "/v1/transfers/trf-test-001",
"exportId": "exp-test-001",
"recipientId": "recipient-test-001",
"acknowledgementId": "ack-test-001"
}Download example DispositionRequested Property Meaning and condition Emission guard Scoped disposition requested with basis, not yet effect authority. Consumer / responsibility Policy/Storage evaluates retention, every hold and storage locks. Duplicates, delay and reconciliation Expiry is not approval; reconcile object and source decision. Aggregate ArchiveObject / archiveId / aggregateRevision Resource ArchiveObject / arc-test-001 state REQUESTED reference /v1/archives/arc-test-001
JSONCopy
{
"eventId": "evt-dispositionrequested-001",
"eventName": "DispositionRequested",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 17,
"correlationId": "corr-test-001",
"idempotencyKey": "event-dispositionrequested-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "REQUESTED",
"resourceType": "ArchiveObject",
"resourceId": "arc-test-001",
"reference": "/v1/archives/arc-test-001",
"decisionId": "disp-test-001"
}Download example DispositionApproved Property Meaning and condition Emission guard Authorized separated-duty approval for frozen scope. Consumer / responsibility Storage rechecks guards immediately before each destination effect. Duplicates, delay and reconciliation New holds still block; no dedicated approvalId exists in the envelope, so reconcile the decision record. Aggregate ArchiveObject / archiveId / aggregateRevision Resource ArchiveObject / arc-test-001 state APPROVED reference /v1/archives/arc-test-001
JSONCopy
{
"eventId": "evt-dispositionapproved-001",
"eventName": "DispositionApproved",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 18,
"correlationId": "corr-test-001",
"idempotencyKey": "event-dispositionapproved-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "APPROVED",
"resourceType": "ArchiveObject",
"resourceId": "arc-test-001",
"reference": "/v1/archives/arc-test-001",
"decisionId": "disp-test-001"
}Download example DispositionCompleted Property Meaning and condition Emission guard Every decision-scoped destination reconciled. Consumer / responsibility Retain per-copy results, exclusions and agreed backup treatment. Duplicates, delay and reconciliation State alone cannot prove absolute erasure; partial results need separately defined records. Aggregate ArchiveObject / archiveId / aggregateRevision Resource ArchiveObject / arc-test-001 state COMPLETED reference /v1/archives/arc-test-001
JSONCopy
{
"eventId": "evt-dispositioncompleted-001",
"eventName": "DispositionCompleted",
"version": "2.0",
"aggregateType": "ArchiveObject",
"aggregateId": "arc-test-001",
"aggregateRevision": 19,
"correlationId": "corr-test-001",
"idempotencyKey": "event-dispositioncompleted-001",
"occurredAt": "2026-10-15T08:00:00Z",
"state": "COMPLETED",
"resourceType": "ArchiveObject",
"resourceId": "arc-test-001",
"reference": "/v1/archives/arc-test-001",
"decisionId": "disp-test-001"
}Download example