Signer

Manage digital identities that authorize ledger operations.

A signer represents a digital identity in the ledger. Every operation requires authorization from a signer, establishing who is acting and ensuring accountability.

The recommended approach is to generate a key pair locally and register only the public key with the ledger. This allows the server to verify requests signed by the corresponding private key, without the private key ever leaving the client. If a private key is included in the request, it must be encrypted client-side — the server stores it as-is and cannot decrypt it.

System-managed signers such as system have their keys generated and encrypted by the server automatically.

Each signer can authenticate through one or more factors like cryptographic key pairs for direct signing or client credentials for OAuth tokens. Signers can also carry metadata like security constraints or links to external identity systems.

Endpoints

MethodPathDescription
POST/signersRegister a new digital identity in the ledger.
GET/signersQuery signers with filtering, sorting, and pagination.
GET/signers/{id}Retrieve a signer by its handle or LUID.
PUT/signers/{id}Submit a new version of a signer.
POST/signers/{id}/proofsSubmit a signed proof to a signer record.

Factors

MethodPathDescription
POST/signers/{signer}/factorsAdd a new authentication factor to a signer.
GET/signers/{signer}/factorsQuery authentication factors for a signer with filtering, sorting, and pagination.
GET/signers/{signer}/factors/{id}Retrieve a signer factor by its handle or LUID.
PUT/signers/{signer}/factors/{id}Submit a new version of a signer factor.
POST/signers/{signer}/factors/{id}/proofsSubmit a signed proof to a signer factor record.

Access & History

MethodPathDescription
POST/signers/{id}/access/!checkEvaluate what actions a signer can perform on this signer.
GET/signers/{id}/changesRetrieve the change history of a signer by its handle or LUID.
GET/signers/{id}/changes/{change}Retrieve a change record for a signer by handle or LUID and change number.
POST/signers/{signer}/factors/{id}/access/!checkEvaluate what actions a signer can perform on this factor.
GET/signers/{signer}/factors/{id}/changesRetrieve the change history of a signer factor by its handle or LUID.
GET/signers/{signer}/factors/{id}/changes/{change}Retrieve a change record for a signer factor by handle or LUID and change number.

On this page