DEVELOPERS

REST API, SDK and protocol schemas. The public API is under development — the specifications below reflect the Official Vocabulary and may evolve until launch.

REST API

Protocol endpoints

POST/v1/identitygenerates the AC⚡IDN from the submitted element
POST/v1/parityparity query — returns AC⚡UNI · AC⚡DUP · AC⚡PAR · AC⚡QTN · AC⚡INL
GET/v1/timelineasset genealogy and events (canonicalTimeline)
GET/v1/registrypermanent registry query
POST/v1/profileholder identity (acProfileId)
POST/v1/access/*login, approve, challenge, sign, verify — AC⚡ACCESS layer
POST/v1/security/*device, recovery, kyc, policy — AC⚡SECURITY layer
JSON Schema

Parity response

{ "acIdn": "AC-…", // Canonical Identity Number "parityStatus": "AC⚡DUP", // AC⚡UNI | AC⚡DUP | AC⚡PAR | AC⚡QTN | AC⚡INL "canonicalTimeline": { "ancestor": "AC-…", "timelineEvents": [ … ] }, "anchoredAt": "2026-07-19T14:32:07Z" // blockchain-agnostic anchoring }

Code legend: AC⚡UNI [Uniqueness] · AC⚡DUP [Duplication] · AC⚡PAR [Parity] · AC⚡QTN [Quarantine] · AC⚡INL [Identity not located or document illegible].
Official Vocabulary conventions: kebab-case endpoints, camelCase JSON fields; internal engine codes are never exposed — the response is always one of the 5 public codes.

Operations

Register × Query

The same situation may produce different answers depending on the operation. Register compares the new occurrence with the registry and may establish an identity. Query reports the asset's current canonical state and never creates identity.

SituationRegisterQuery
Illegible documentAC⚡INLAC⚡INL
Identity or occurrence not determinable or not verifiable with certaintyAC⚡QTNAC⚡QTN
Valid key, no existing identityAC⚡UNIcreates the identityAC⚡INLnot located
Same key, no documentary differenceAC⚡DUPAC⚡UNIlocated and intact, unless an adverse state is already recorded
Same key, different documentary contentAC⚡PARAC⚡PARunless an adverse state is already recorded
  1. Illegible document → AC⚡INL
  2. Identity or key not determinable or not verifiable with certainty → AC⚡QTN
  3. Identity located → current canonical state, with the most critical signal already recorded for it, regardless of the occurrence queried

AC⚡UNI on query means identity located, with no adverse state recorded. It is not an authorization to carry out a new operation on the asset.

Authentication · SDK

SDK and authentication

// SDK — official names (under development) ACProtocol.identity() ACSecurity.login() ACProtocol.parity() ACSecurity.approve() ACProtocol.timeline() ACSecurity.device() ACProtocol.registry() ACSecurity.policy()

Tiered API-key authentication (land registries · banks · retail) and, for holder-level operations, the AC⚡ACCESS flow with a dynamic single-session challenge. Full details in the specification to be published.

GitHub & Developer Program

Public repositories, examples and the early-access program open together with the API. Register your interest: contact@acprotocol.org