Signer
A Signer is a ledger record that associates a cryptographic key pair with additional metadata. These key pairs are essential for signing and verifying requests to the ledger, ensuring authenticity and integrity. Signers can include extra information, such as security constraints or links to external records, providing context and enhancing the management of signing authorities.
List signers
Authorization
BearerAuth JWT signed by private key. The presence of this token is not mandatory. It becomes required through the configuration of authorization access rules that requires a token to grant access. Once sent, the token is validated for its format, signature and expiration, regardless of the presence of access rules.
In: header
Query Parameters
Page query parameters
Header Parameters
The unique identifier of ledger in context for multi tenant requests.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "http://localhost:3000/v2/signers?limit=20&index=0&handle.%24regex=.*%40minka.io" \ -H "x-ledger: rtp-ledger"{
"hash": "5b098c469e7f651c0abd11fc66869dab8ccdccdd98feed633dbd9de2eed0fab0",
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "r5x4G6WbGHJjG7cwMB46Hw2vKrQiQ0ETfrwc96ORoUM=",
"digest": "37f917075dd0d6057c08cf7e26251fe3ad2fd1cbcb169047ddf6068e481d6a14",
"result": "IFC2ZAaQiN6X/bR6DX1+L0KuYIXECg3vJ6gEw3Za8fwqMtdLDBuV9RaRX1E4cFpbhbII4mCM4kTts4JC5PbNDQ==",
"custom": {
"moment": "2025-03-07T16:08:57.303Z"
}
}
]
},
"data": [
{
"hash": "22205c19eaf65b85457c3706160fe19eab982353a64a4ddd47e63dd8503fa545",
"data": {
"parent": "c8079acc753f95b39ae345d6b81a8d924a9e5473a0782faaa92579a4c0f0011c",
"handle": "admin",
"custom": {
"role": "system-admin",
"firstName": "Jason",
"lastName": "Admin",
"department": "it"
},
"access": [
{
"action": "any",
"signer": {
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ="
}
}
],
"format": "ed25519-raw",
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=",
"secret": "MIGbMFcGCSqGSIb3DQEFDTBKMCkGCSqGSIb3DQEFDDAcBAijcsEhvZhcuQICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEASoEEDO77oqr6BSlPzmpI7/AZeEEQHhspvWQSsM/Nmh0eah/SQZ1poZhNywJuxG7nor5Fkix9k4yK6t1se0FCkd3wImJj+vLpYY4RjzRK6JyASlvcBw="
},
"luid": "$snr.-0-eKP5De7kFWdKa-",
"meta": {
"proofs": [
{
"custom": {
"moment": "2025-03-07T16:08:57.068Z"
},
"digest": "d7affb82271fce069a36157d0282b203877645363f0b51bc6e9cb85beebd7106",
"method": "ed25519-v2",
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=",
"result": "vufYr4bSQQpLIyX+PfaJn1lCMZYxk5QbvZAcblOU5YCKa8QgB1zB5awMCqHkptWUkJTZPnEnsL1859v5jBDAAQ=="
},
{
"custom": {
"luid": "$snr.-0-eKP5De7kFWdKa-",
"moment": "2025-03-07T16:08:57.110Z"
},
"digest": "1e9a180a20427687ca8f5792cb5b7be1a6cd639d51584629a55f22eeeb45d8a5",
"method": "ed25519-v2",
"public": "r5x4G6WbGHJjG7cwMB46Hw2vKrQiQ0ETfrwc96ORoUM=",
"result": "510duFXvBMcToQAYIN73VzJXbepPIazyoWPUM0pJkoRPpm/aKZ1WGAEXpHHSqs9/EDfMvxWxlAe1WgwTJtxGDQ=="
},
{
"custom": {
"moment": "2025-03-07T16:08:57.138Z",
"status": "active",
"blocked": false
},
"digest": "ee5fdd6da9ed01fa29197bf9cae81b4b88c373582f944ecd7ce2104d70241f64",
"method": "ed25519-v2",
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=",
"result": "wIa74daE07iTxfc4O0Yh9oIPQR5sdpUnvpJyyKhVsQo9+Qeimud0UuPD6ODov/hP6iV5znsa9oOdaJrPYVimDQ=="
}
],
"status": "active",
"moment": "2025-03-07T16:08:57.108Z",
"owners": [
"C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ="
]
}
},
{
"hash": "7d6e381e20a4599ead099ed311c8457b932761d8887006a1a852149ea4aed557",
"data": {
"handle": "treasury",
"custom": {
"role": "treasury-manager",
"department": "finance"
},
"access": [
{
"action": "create",
"record": "intent"
}
],
"format": "ed25519-raw",
"public": "WAweF9PHlboQoW0z8NqhZXFmzUTaV74NRFAd/aILprE="
},
"luid": "$snr.--zwEJl_pdCQNhSS0",
"meta": {
"proofs": [
{
"digest": "bb590e9dce5692f5961f483f6a65661f77766165eff015edfae0917384294f67",
"method": "ed25519-v2",
"public": "onDKz41cj2uOMjY0pr+4WZQZ2iIRQFCY1UFcS3ysjEQ=",
"result": "IFHMmBB5lbfnGD9juzQBYjRGlRxGnzOoV7qM9HOUjRp2TL4EJILwUhCXiI1EhKbu3+TzS3RHGYI/bYldOrnVAA=="
},
{
"custom": {
"luid": "$snr.--zwEJl_pdCQNhSS0",
"moment": "2025-03-05T11:42:10.358Z"
},
"digest": "dcd6991be3987aad7f044d32d467b8990911c1e69d16607a27fb19755ba10f7d",
"method": "ed25519-v2",
"public": "r5x4G6WbGHJjG7cwMB46Hw2vKrQiQ0ETfrwc96ORoUM=",
"result": "doWK8ahoPA5BJGYMMIP2Pd1bpQ7PhTgqRosC0mvdwyGsNOjukg2d82WxfaK6pjQKpcmUbCxvGYwV9LlPt1WnBA=="
}
],
"moment": "2025-03-05T11:42:10.357Z",
"owners": [
"onDKz41cj2uOMjY0pr+4WZQZ2iIRQFCY1UFcS3ysjEQ="
]
}
}
],
"page": {
"index": 0,
"limit": 2
}
}{
"hash": "7846195d1e2f8bc75aa0ab35a238b70dc28c809b8fde33ea7d29e9f8d6d6841b",
"data": {
"reason": "auth.unauthorized",
"detail": "Invalid token."
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "JdK8m5SqXGCiZ1TdXQbCe9ECqwL3Kg1UZxj4r9gT+cA=",
"digest": "7846195d1e2f8bc75aa0ab35a238b70dc28c809b8fde33ea7d29e9f8d6d6841b",
"result": "X2m5A9Yxh4FRPgj6wgJKN0dYrfgXSq3hx8UX1jnmJ7fVHtQCnAp8MepXDZQhNkMsJd7a9HPk96hmvYXTFcHzAw=="
}
]
}
}{
"hash": "4969e3c012b66d88cec597bf337fc01eab8d651e6ed2d5c40236cc1f7d93435a",
"data": {
"reason": "auth.forbidden",
"detail": "Request is not authorized"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "WAweF9PHlboQoW0z8NqhZXFmzUTaV74NRFAd/aILprE=",
"digest": "4969e3c012b66d88cec597bf337fc01eab8d651e6ed2d5c40236cc1f7d93435a",
"result": "0G2gvSfBx6MwPT8ShBaiYx7zwa5Kqc4Cq3S3NXV1m5/ZPozoH/SUouuhi9sQU+f0yo0eX4ygH7PzE3PAdlxsCQ=="
}
]
}
}{
"hash": "b29a7f4e1d5c3b6a8f7e0d9c2b5a8f7e0d3c6b9a8f7e1d4c7b0a3f6e9d2c5b8a",
"data": {
"reason": "record.not-found",
"detail": "Signer not found"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "7ZMqyx5Lk3PQwNrJvGIs9eT6ahcUKXZ8SbRj4WyF2dQ=",
"digest": "b29a7f4e1d5c3b6a8f7e0d9c2b5a8f7e0d3c6b9a8f7e1d4c7b0a3f6e9d2c5b8a",
"result": "VFp8RxnT2h+JK9W5/nJfLZdV1uLKXHBL5RwpnbZ4qDz3J1Ks4eOj7y9QVMhmwlIa5AQlNbdT3GJcvH8xo3WhBA=="
}
]
}
}{
"hash": "d48c4a6bb91c37c85625280d90a114b4983ea57089a00964e33e68d165fbecd8",
"data": {
"reason": "api.request-timeout",
"detail": "Processing of request on server timed out. Your request may or may not have been processed."
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "a/udgZN+Qebmkcw9GJ63MlvPiwwt6RZxzpc6+OyTTdE=",
"digest": "295ec195e7468e1514fe9eecc0b463f9efdb45341eb06af9115c6ad9f0e2f26d",
"result": "BJ7g1gTzJ/KeiwylEaiuzeMK7QXipBAkMaOndm3G0fjubmMCIS9wtl5wOm0X8BdYx3LLbyeh0C7zgQepsrCYBw==",
"custom": {
"moment": "2025-03-25T10:19:07.654Z"
}
}
]
}
}{
"hash": "3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4c7b0a3f6e",
"data": {
"reason": "record.schema-invalid",
"detail": "Schema validator error: data.handle must match pattern \"^[a-zA-Z0-9_\\\\-+.]+$\"",
"custom": {
"errors": [
{
"instancePath": "/handle",
"schemaPath": "#/properties/handle/pattern",
"keyword": "pattern",
"params": {
"pattern": "^[a-zA-Z0-9_\\\\-+.]+$"
},
"message": "must match pattern \"^[a-zA-Z0-9_\\\\-+.]+$\""
}
]
}
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "vL8jKxm5PqTnJfEaRs2uOdY7gzX4CS9WbHlN3cAiBV0=",
"digest": "3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4c7b0a3f6e",
"result": "uYxJLd2QGkEfT8rP7mCn1lHVzBvIaSK4jFqpO5ZwW9oADnMbg6yeiUsvN3tcXj0RwYxkrq5aLm9f4y2Ko8WwDw=="
}
]
}
}{
"hash": "e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4",
"data": {
"reason": "api.unexpected-error",
"detail": "An unexpected error occurred"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "KxiLpB3v8VEdmYsT2RwNq5o1Cz9gHJfU4aAySt7D0X8=",
"digest": "e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4",
"result": "LzRmNh7x5TQYoqjw30BKDaZnbGcFUsX8v4tpEsr9P6iW1dyJkVC2uALfY8HdpM3eX9w0On12cqYxEtveKoFZDQ=="
}
]
}
}Create a new signer
Authorization
BearerAuth JWT signed by private key. The presence of this token is not mandatory. It becomes required through the configuration of authorization access rules that requires a token to grant access. Once sent, the token is validated for its format, signature and expiration, regardless of the presence of access rules.
In: header
Header Parameters
The unique identifier of ledger in context for multi tenant requests.
Request Body
application/json
Signer body
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:3000/v2/signers" \ -H "x-ledger: rtp-ledger" \ -H "Content-Type: application/json" \ -d '{ "hash": "c8079acc753f95b39ae345d6b81a8d924a9e5473a0782faaa92579a4c0f0011c", "data": { "handle": "admin", "public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=", "format": "ed25519-raw", "access": [ { "action": "any", "signer": { "public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=" } } ] }, "meta": { "proofs": [ { "method": "ed25519-v2", "public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=", "digest": "563ff1cd08ec6f070b8d590df1bac7b7153dddeb98844a3f22cf2c2dd172b6b6", "result": "hpsUonIkThAcTyZaTldx4JutV8O1XrH4d2uEh7XSRmj3Yx/Z3ZpxruyUQY6bhEBgkjs0DKmjdwjT47MSebVKDQ==", "custom": { "moment": "2025-03-07T16:08:56.810Z", "status": "created" } } ] } }'{
"hash": "c8079acc753f95b39ae345d6b81a8d924a9e5473a0782faaa92579a4c0f0011c",
"data": {
"handle": "admin",
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=",
"format": "ed25519-raw",
"access": [
{
"action": "any",
"signer": {
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ="
}
}
]
},
"luid": "$snr.-0-eKP5De7kFWdKa-",
"meta": {
"proofs": [
{
"custom": {
"moment": "2025-03-07T16:08:56.810Z",
"status": "created"
},
"digest": "563ff1cd08ec6f070b8d590df1bac7b7153dddeb98844a3f22cf2c2dd172b6b6",
"method": "ed25519-v2",
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=",
"result": "hpsUonIkThAcTyZaTldx4JutV8O1XrH4d2uEh7XSRmj3Yx/Z3ZpxruyUQY6bhEBgkjs0DKmjdwjT47MSebVKDQ=="
},
{
"custom": {
"luid": "$snr.-0-eKP5De7kFWdKa-",
"moment": "2025-03-07T16:08:56.953Z",
"status": "created"
},
"digest": "2814f6dd20f63397da209f55a0938b37d1dc0b6458e5c736ba336fea4cbdf8f3",
"method": "ed25519-v2",
"public": "r5x4G6WbGHJjG7cwMB46Hw2vKrQiQ0ETfrwc96ORoUM=",
"result": "4OR+cgE6DEZxLSnFQZWkBQAHYMiez3cWBoao5aoEzNBDGsXtU6ThijvJhRHNhaJ556vIegZKaPONfArYblGEDw=="
}
],
"status": "created",
"moment": "2025-03-07T16:08:56.949Z",
"owners": [
"C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ="
]
}
}{
"hash": "7846195d1e2f8bc75aa0ab35a238b70dc28c809b8fde33ea7d29e9f8d6d6841b",
"data": {
"reason": "auth.unauthorized",
"detail": "Invalid token."
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "JdK8m5SqXGCiZ1TdXQbCe9ECqwL3Kg1UZxj4r9gT+cA=",
"digest": "7846195d1e2f8bc75aa0ab35a238b70dc28c809b8fde33ea7d29e9f8d6d6841b",
"result": "X2m5A9Yxh4FRPgj6wgJKN0dYrfgXSq3hx8UX1jnmJ7fVHtQCnAp8MepXDZQhNkMsJd7a9HPk96hmvYXTFcHzAw=="
}
]
}
}{
"hash": "4969e3c012b66d88cec597bf337fc01eab8d651e6ed2d5c40236cc1f7d93435a",
"data": {
"reason": "auth.forbidden",
"detail": "Request is not authorized"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "WAweF9PHlboQoW0z8NqhZXFmzUTaV74NRFAd/aILprE=",
"digest": "4969e3c012b66d88cec597bf337fc01eab8d651e6ed2d5c40236cc1f7d93435a",
"result": "0G2gvSfBx6MwPT8ShBaiYx7zwa5Kqc4Cq3S3NXV1m5/ZPozoH/SUouuhi9sQU+f0yo0eX4ygH7PzE3PAdlxsCQ=="
}
]
}
}{
"hash": "9e518d3f4a7c8b67ad43fcf9b6a21e0c5f9b2a5e7d6c3b8a1f4e7d0c9b8a7f5e",
"data": {
"reason": "record.duplicated",
"detail": "Ledger with handle ach already exists."
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "QpI4V3K6NzJLbRWCGxdHF7XYT9w2jVkArMpLoFa84s4=",
"digest": "9e518d3f4a7c8b67ad43fcf9b6a21e0c5f9b2a5e7d6c3b8a1f4e7d0c9b8a7f5e",
"result": "jR3PQvN7Dy4GcXshzZIa5qd6me9CyiTUwRlJo8fkHpv2jlYE+Hx/D0FSrT2y6MCcSjFnV3dlUmWxJrb5F+kzDQ=="
}
]
}
}{
"hash": "3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4c7b0a3f6e",
"data": {
"reason": "record.schema-invalid",
"detail": "Schema validator error: data.handle must match pattern \"^[a-zA-Z0-9_\\\\-+.]+$\"",
"custom": {
"errors": [
{
"instancePath": "/handle",
"schemaPath": "#/properties/handle/pattern",
"keyword": "pattern",
"params": {
"pattern": "^[a-zA-Z0-9_\\\\-+.]+$"
},
"message": "must match pattern \"^[a-zA-Z0-9_\\\\-+.]+$\""
}
]
}
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "vL8jKxm5PqTnJfEaRs2uOdY7gzX4CS9WbHlN3cAiBV0=",
"digest": "3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4c7b0a3f6e",
"result": "uYxJLd2QGkEfT8rP7mCn1lHVzBvIaSK4jFqpO5ZwW9oADnMbg6yeiUsvN3tcXj0RwYxkrq5aLm9f4y2Ko8WwDw=="
}
]
}
}{
"hash": "e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4",
"data": {
"reason": "api.unexpected-error",
"detail": "An unexpected error occurred"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "KxiLpB3v8VEdmYsT2RwNq5o1Cz9gHJfU4aAySt7D0X8=",
"digest": "e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4",
"result": "LzRmNh7x5TQYoqjw30BKDaZnbGcFUsX8v4tpEsr9P6iW1dyJkVC2uALfY8HdpM3eX9w0On12cqYxEtveKoFZDQ=="
}
]
}
}Read a signer
Authorization
BearerAuth JWT signed by private key. The presence of this token is not mandatory. It becomes required through the configuration of authorization access rules that requires a token to grant access. Once sent, the token is validated for its format, signature and expiration, regardless of the presence of access rules.
In: header
Path Parameters
The unique identifier of the record - it is luid or handle (address).
Header Parameters
The unique identifier of ledger in context for multi tenant requests.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "http://localhost:3000/v2/signers/admin" \ -H "x-ledger: rtp-ledger"{
"hash": "c8079acc753f95b39ae345d6b81a8d924a9e5473a0782faaa92579a4c0f0011c",
"data": {
"handle": "admin",
"access": [
{
"action": "any",
"signer": {
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ="
}
}
],
"format": "ed25519-raw",
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=",
"secret": "MIGbMFcGCSqGSIb3DQEFDTBKMCkGCSqGSIb3DQEFDDAcBAijcsEhvZhcuQICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEASoEEDO77oqr6BSlPzmpI7/AZeEEQHhspvWQSsM/Nmh0eah/SQZ1poZhNywJuxG7nor5Fkix9k4yK6t1se0FCkd3wImJj+vLpYY4RjzRK6JyASlvcBw="
},
"luid": "$snr.-0-eKP5De7kFWdKa-",
"meta": {
"proofs": [
{
"custom": {
"moment": "2025-03-07T16:08:56.810Z",
"status": "created"
},
"digest": "563ff1cd08ec6f070b8d590df1bac7b7153dddeb98844a3f22cf2c2dd172b6b6",
"method": "ed25519-v2",
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=",
"result": "hpsUonIkThAcTyZaTldx4JutV8O1XrH4d2uEh7XSRmj3Yx/Z3ZpxruyUQY6bhEBgkjs0DKmjdwjT47MSebVKDQ=="
},
{
"custom": {
"luid": "$snr.-0-eKP5De7kFWdKa-",
"moment": "2025-03-07T16:08:56.953Z",
"status": "created"
},
"digest": "2814f6dd20f63397da209f55a0938b37d1dc0b6458e5c736ba336fea4cbdf8f3",
"method": "ed25519-v2",
"public": "r5x4G6WbGHJjG7cwMB46Hw2vKrQiQ0ETfrwc96ORoUM=",
"result": "4OR+cgE6DEZxLSnFQZWkBQAHYMiez3cWBoao5aoEzNBDGsXtU6ThijvJhRHNhaJ556vIegZKaPONfArYblGEDw=="
}
],
"status": "created",
"moment": "2025-03-07T16:08:56.949Z",
"owners": [
"C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ="
]
}
}{
"hash": "7846195d1e2f8bc75aa0ab35a238b70dc28c809b8fde33ea7d29e9f8d6d6841b",
"data": {
"reason": "auth.unauthorized",
"detail": "Invalid token."
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "JdK8m5SqXGCiZ1TdXQbCe9ECqwL3Kg1UZxj4r9gT+cA=",
"digest": "7846195d1e2f8bc75aa0ab35a238b70dc28c809b8fde33ea7d29e9f8d6d6841b",
"result": "X2m5A9Yxh4FRPgj6wgJKN0dYrfgXSq3hx8UX1jnmJ7fVHtQCnAp8MepXDZQhNkMsJd7a9HPk96hmvYXTFcHzAw=="
}
]
}
}{
"hash": "4969e3c012b66d88cec597bf337fc01eab8d651e6ed2d5c40236cc1f7d93435a",
"data": {
"reason": "auth.forbidden",
"detail": "Request is not authorized"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "WAweF9PHlboQoW0z8NqhZXFmzUTaV74NRFAd/aILprE=",
"digest": "4969e3c012b66d88cec597bf337fc01eab8d651e6ed2d5c40236cc1f7d93435a",
"result": "0G2gvSfBx6MwPT8ShBaiYx7zwa5Kqc4Cq3S3NXV1m5/ZPozoH/SUouuhi9sQU+f0yo0eX4ygH7PzE3PAdlxsCQ=="
}
]
}
}{
"hash": "b29a7f4e1d5c3b6a8f7e0d9c2b5a8f7e0d3c6b9a8f7e1d4c7b0a3f6e9d2c5b8a",
"data": {
"reason": "record.not-found",
"detail": "Signer not found"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "7ZMqyx5Lk3PQwNrJvGIs9eT6ahcUKXZ8SbRj4WyF2dQ=",
"digest": "b29a7f4e1d5c3b6a8f7e0d9c2b5a8f7e0d3c6b9a8f7e1d4c7b0a3f6e9d2c5b8a",
"result": "VFp8RxnT2h+JK9W5/nJfLZdV1uLKXHBL5RwpnbZ4qDz3J1Ks4eOj7y9QVMhmwlIa5AQlNbdT3GJcvH8xo3WhBA=="
}
]
}
}{
"hash": "3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4c7b0a3f6e",
"data": {
"reason": "record.schema-invalid",
"detail": "Schema validator error: data.handle must match pattern \"^[a-zA-Z0-9_\\\\-+.]+$\"",
"custom": {
"errors": [
{
"instancePath": "/handle",
"schemaPath": "#/properties/handle/pattern",
"keyword": "pattern",
"params": {
"pattern": "^[a-zA-Z0-9_\\\\-+.]+$"
},
"message": "must match pattern \"^[a-zA-Z0-9_\\\\-+.]+$\""
}
]
}
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "vL8jKxm5PqTnJfEaRs2uOdY7gzX4CS9WbHlN3cAiBV0=",
"digest": "3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4c7b0a3f6e",
"result": "uYxJLd2QGkEfT8rP7mCn1lHVzBvIaSK4jFqpO5ZwW9oADnMbg6yeiUsvN3tcXj0RwYxkrq5aLm9f4y2Ko8WwDw=="
}
]
}
}{
"hash": "e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4",
"data": {
"reason": "api.unexpected-error",
"detail": "An unexpected error occurred"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "KxiLpB3v8VEdmYsT2RwNq5o1Cz9gHJfU4aAySt7D0X8=",
"digest": "e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4",
"result": "LzRmNh7x5TQYoqjw30BKDaZnbGcFUsX8v4tpEsr9P6iW1dyJkVC2uALfY8HdpM3eX9w0On12cqYxEtveKoFZDQ=="
}
]
}
}Update a Signer
Authorization
BearerAuth JWT signed by private key. The presence of this token is not mandatory. It becomes required through the configuration of authorization access rules that requires a token to grant access. Once sent, the token is validated for its format, signature and expiration, regardless of the presence of access rules.
In: header
Path Parameters
The unique identifier of the record - it is luid or handle (address).
Header Parameters
The unique identifier of ledger in context for multi tenant requests.
Request Body
application/json
Signer body
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "http://localhost:3000/v2/signers/admin" \ -H "x-ledger: rtp-ledger" \ -H "Content-Type: application/json" \ -d '{ "hash": "22205c19eaf65b85457c3706160fe19eab982353a64a4ddd47e63dd8503fa545", "luid": "$snr.-0-eKP5De7kFWdKa-", "data": { "handle": "admin", "access": [ { "action": "any", "signer": { "public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=" } } ], "format": "ed25519-raw", "public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=", "secret": "MIGbMFcGCSqGSIb3DQEFDTBKMCkGCSqGSIb3DQEFDDAcBAijcsEhvZhcuQICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEASoEEDO77oqr6BSlPzmpI7/AZeEEQHhspvWQSsM/Nmh0eah/SQZ1poZhNywJuxG7nor5Fkix9k4yK6t1se0FCkd3wImJj+vLpYY4RjzRK6JyASlvcBw=", "custom": { "firstName": "Jason", "lastName": "Admin", "department": "it", "role": "system-admin" }, "parent": "c8079acc753f95b39ae345d6b81a8d924a9e5473a0782faaa92579a4c0f0011c" }, "meta": { "proofs": [ { "method": "ed25519-v2", "public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=", "digest": "d7affb82271fce069a36157d0282b203877645363f0b51bc6e9cb85beebd7106", "result": "vufYr4bSQQpLIyX+PfaJn1lCMZYxk5QbvZAcblOU5YCKa8QgB1zB5awMCqHkptWUkJTZPnEnsL1859v5jBDAAQ==", "custom": { "moment": "2025-03-07T16:08:57.068Z" } } ] } }'{
"hash": "22205c19eaf65b85457c3706160fe19eab982353a64a4ddd47e63dd8503fa545",
"data": {
"parent": "c8079acc753f95b39ae345d6b81a8d924a9e5473a0782faaa92579a4c0f0011c",
"handle": "admin",
"custom": {
"role": "system-admin",
"firstName": "Jason",
"lastName": "Admin",
"department": "it"
},
"access": [
{
"action": "any",
"signer": {
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ="
}
}
],
"format": "ed25519-raw",
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=",
"secret": "MIGbMFcGCSqGSIb3DQEFDTBKMCkGCSqGSIb3DQEFDDAcBAijcsEhvZhcuQICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEASoEEDO77oqr6BSlPzmpI7/AZeEEQHhspvWQSsM/Nmh0eah/SQZ1poZhNywJuxG7nor5Fkix9k4yK6t1se0FCkd3wImJj+vLpYY4RjzRK6JyASlvcBw="
},
"luid": "$snr.-0-eKP5De7kFWdKa-",
"meta": {
"proofs": [
{
"custom": {
"moment": "2025-03-07T16:08:57.068Z"
},
"digest": "d7affb82271fce069a36157d0282b203877645363f0b51bc6e9cb85beebd7106",
"method": "ed25519-v2",
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=",
"result": "vufYr4bSQQpLIyX+PfaJn1lCMZYxk5QbvZAcblOU5YCKa8QgB1zB5awMCqHkptWUkJTZPnEnsL1859v5jBDAAQ=="
},
{
"custom": {
"luid": "$snr.-0-eKP5De7kFWdKa-",
"moment": "2025-03-07T16:08:57.110Z"
},
"digest": "1e9a180a20427687ca8f5792cb5b7be1a6cd639d51584629a55f22eeeb45d8a5",
"method": "ed25519-v2",
"public": "r5x4G6WbGHJjG7cwMB46Hw2vKrQiQ0ETfrwc96ORoUM=",
"result": "510duFXvBMcToQAYIN73VzJXbepPIazyoWPUM0pJkoRPpm/aKZ1WGAEXpHHSqs9/EDfMvxWxlAe1WgwTJtxGDQ=="
}
],
"status": "created",
"moment": "2025-03-07T16:08:57.108Z",
"owners": [
"C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ="
]
}
}{
"hash": "7846195d1e2f8bc75aa0ab35a238b70dc28c809b8fde33ea7d29e9f8d6d6841b",
"data": {
"reason": "auth.unauthorized",
"detail": "Invalid token."
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "JdK8m5SqXGCiZ1TdXQbCe9ECqwL3Kg1UZxj4r9gT+cA=",
"digest": "7846195d1e2f8bc75aa0ab35a238b70dc28c809b8fde33ea7d29e9f8d6d6841b",
"result": "X2m5A9Yxh4FRPgj6wgJKN0dYrfgXSq3hx8UX1jnmJ7fVHtQCnAp8MepXDZQhNkMsJd7a9HPk96hmvYXTFcHzAw=="
}
]
}
}{
"hash": "4969e3c012b66d88cec597bf337fc01eab8d651e6ed2d5c40236cc1f7d93435a",
"data": {
"reason": "auth.forbidden",
"detail": "Request is not authorized"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "WAweF9PHlboQoW0z8NqhZXFmzUTaV74NRFAd/aILprE=",
"digest": "4969e3c012b66d88cec597bf337fc01eab8d651e6ed2d5c40236cc1f7d93435a",
"result": "0G2gvSfBx6MwPT8ShBaiYx7zwa5Kqc4Cq3S3NXV1m5/ZPozoH/SUouuhi9sQU+f0yo0eX4ygH7PzE3PAdlxsCQ=="
}
]
}
}{
"hash": "b29a7f4e1d5c3b6a8f7e0d9c2b5a8f7e0d3c6b9a8f7e1d4c7b0a3f6e9d2c5b8a",
"data": {
"reason": "record.not-found",
"detail": "Signer not found"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "7ZMqyx5Lk3PQwNrJvGIs9eT6ahcUKXZ8SbRj4WyF2dQ=",
"digest": "b29a7f4e1d5c3b6a8f7e0d9c2b5a8f7e0d3c6b9a8f7e1d4c7b0a3f6e9d2c5b8a",
"result": "VFp8RxnT2h+JK9W5/nJfLZdV1uLKXHBL5RwpnbZ4qDz3J1Ks4eOj7y9QVMhmwlIa5AQlNbdT3GJcvH8xo3WhBA=="
}
]
}
}{
"hash": "9e518d3f4a7c8b67ad43fcf9b6a21e0c5f9b2a5e7d6c3b8a1f4e7d0c9b8a7f5e",
"data": {
"reason": "record.duplicated",
"detail": "Ledger with handle ach already exists."
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "QpI4V3K6NzJLbRWCGxdHF7XYT9w2jVkArMpLoFa84s4=",
"digest": "9e518d3f4a7c8b67ad43fcf9b6a21e0c5f9b2a5e7d6c3b8a1f4e7d0c9b8a7f5e",
"result": "jR3PQvN7Dy4GcXshzZIa5qd6me9CyiTUwRlJo8fkHpv2jlYE+Hx/D0FSrT2y6MCcSjFnV3dlUmWxJrb5F+kzDQ=="
}
]
}
}{
"hash": "3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4c7b0a3f6e",
"data": {
"reason": "record.schema-invalid",
"detail": "Schema validator error: data.handle must match pattern \"^[a-zA-Z0-9_\\\\-+.]+$\"",
"custom": {
"errors": [
{
"instancePath": "/handle",
"schemaPath": "#/properties/handle/pattern",
"keyword": "pattern",
"params": {
"pattern": "^[a-zA-Z0-9_\\\\-+.]+$"
},
"message": "must match pattern \"^[a-zA-Z0-9_\\\\-+.]+$\""
}
]
}
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "vL8jKxm5PqTnJfEaRs2uOdY7gzX4CS9WbHlN3cAiBV0=",
"digest": "3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4c7b0a3f6e",
"result": "uYxJLd2QGkEfT8rP7mCn1lHVzBvIaSK4jFqpO5ZwW9oADnMbg6yeiUsvN3tcXj0RwYxkrq5aLm9f4y2Ko8WwDw=="
}
]
}
}{
"hash": "e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4",
"data": {
"reason": "api.unexpected-error",
"detail": "An unexpected error occurred"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "KxiLpB3v8VEdmYsT2RwNq5o1Cz9gHJfU4aAySt7D0X8=",
"digest": "e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4",
"result": "LzRmNh7x5TQYoqjw30BKDaZnbGcFUsX8v4tpEsr9P6iW1dyJkVC2uALfY8HdpM3eX9w0On12cqYxEtveKoFZDQ=="
}
]
}
}Sign a signer
Authorization
BearerAuth JWT signed by private key. The presence of this token is not mandatory. It becomes required through the configuration of authorization access rules that requires a token to grant access. Once sent, the token is validated for its format, signature and expiration, regardless of the presence of access rules.
In: header
Path Parameters
The unique identifier of the record - it is luid or handle (address).
Header Parameters
The unique identifier of ledger in context for multi tenant requests.
Request Body
application/json
Proof body
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:3000/v2/signers/admin/proofs" \ -H "x-ledger: rtp-ledger" \ -H "Content-Type: application/json" \ -d '{ "method": "ed25519-v2", "public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=", "digest": "ee5fdd6da9ed01fa29197bf9cae81b4b88c373582f944ecd7ce2104d70241f64", "result": "wIa74daE07iTxfc4O0Yh9oIPQR5sdpUnvpJyyKhVsQo9+Qeimud0UuPD6ODov/hP6iV5znsa9oOdaJrPYVimDQ==", "custom": { "moment": "2025-03-07T16:08:57.138Z", "status": "active", "blocked": false } }'{
"hash": "22205c19eaf65b85457c3706160fe19eab982353a64a4ddd47e63dd8503fa545",
"data": {
"parent": "c8079acc753f95b39ae345d6b81a8d924a9e5473a0782faaa92579a4c0f0011c",
"handle": "admin",
"custom": {
"role": "system-admin",
"firstName": "Jason",
"lastName": "Admin",
"department": "it"
},
"access": [
{
"action": "any",
"signer": {
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ="
}
}
],
"format": "ed25519-raw",
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=",
"secret": "MIGbMFcGCSqGSIb3DQEFDTBKMCkGCSqGSIb3DQEFDDAcBAijcsEhvZhcuQICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEASoEEDO77oqr6BSlPzmpI7/AZeEEQHhspvWQSsM/Nmh0eah/SQZ1poZhNywJuxG7nor5Fkix9k4yK6t1se0FCkd3wImJj+vLpYY4RjzRK6JyASlvcBw="
},
"luid": "$snr.-0-eKP5De7kFWdKa-",
"meta": {
"proofs": [
{
"custom": {
"moment": "2025-03-07T16:08:57.068Z"
},
"digest": "d7affb82271fce069a36157d0282b203877645363f0b51bc6e9cb85beebd7106",
"method": "ed25519-v2",
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=",
"result": "vufYr4bSQQpLIyX+PfaJn1lCMZYxk5QbvZAcblOU5YCKa8QgB1zB5awMCqHkptWUkJTZPnEnsL1859v5jBDAAQ=="
},
{
"custom": {
"luid": "$snr.-0-eKP5De7kFWdKa-",
"moment": "2025-03-07T16:08:57.110Z"
},
"digest": "1e9a180a20427687ca8f5792cb5b7be1a6cd639d51584629a55f22eeeb45d8a5",
"method": "ed25519-v2",
"public": "r5x4G6WbGHJjG7cwMB46Hw2vKrQiQ0ETfrwc96ORoUM=",
"result": "510duFXvBMcToQAYIN73VzJXbepPIazyoWPUM0pJkoRPpm/aKZ1WGAEXpHHSqs9/EDfMvxWxlAe1WgwTJtxGDQ=="
},
{
"custom": {
"moment": "2025-03-07T16:08:57.138Z",
"status": "active",
"blocked": false
},
"digest": "ee5fdd6da9ed01fa29197bf9cae81b4b88c373582f944ecd7ce2104d70241f64",
"method": "ed25519-v2",
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=",
"result": "wIa74daE07iTxfc4O0Yh9oIPQR5sdpUnvpJyyKhVsQo9+Qeimud0UuPD6ODov/hP6iV5znsa9oOdaJrPYVimDQ=="
}
],
"status": "active",
"moment": "2025-03-07T16:08:57.108Z",
"owners": [
"C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ="
]
}
}{
"hash": "7846195d1e2f8bc75aa0ab35a238b70dc28c809b8fde33ea7d29e9f8d6d6841b",
"data": {
"reason": "auth.unauthorized",
"detail": "Invalid token."
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "JdK8m5SqXGCiZ1TdXQbCe9ECqwL3Kg1UZxj4r9gT+cA=",
"digest": "7846195d1e2f8bc75aa0ab35a238b70dc28c809b8fde33ea7d29e9f8d6d6841b",
"result": "X2m5A9Yxh4FRPgj6wgJKN0dYrfgXSq3hx8UX1jnmJ7fVHtQCnAp8MepXDZQhNkMsJd7a9HPk96hmvYXTFcHzAw=="
}
]
}
}{
"hash": "4969e3c012b66d88cec597bf337fc01eab8d651e6ed2d5c40236cc1f7d93435a",
"data": {
"reason": "auth.forbidden",
"detail": "Request is not authorized"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "WAweF9PHlboQoW0z8NqhZXFmzUTaV74NRFAd/aILprE=",
"digest": "4969e3c012b66d88cec597bf337fc01eab8d651e6ed2d5c40236cc1f7d93435a",
"result": "0G2gvSfBx6MwPT8ShBaiYx7zwa5Kqc4Cq3S3NXV1m5/ZPozoH/SUouuhi9sQU+f0yo0eX4ygH7PzE3PAdlxsCQ=="
}
]
}
}{
"hash": "b29a7f4e1d5c3b6a8f7e0d9c2b5a8f7e0d3c6b9a8f7e1d4c7b0a3f6e9d2c5b8a",
"data": {
"reason": "record.not-found",
"detail": "Signer not found"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "7ZMqyx5Lk3PQwNrJvGIs9eT6ahcUKXZ8SbRj4WyF2dQ=",
"digest": "b29a7f4e1d5c3b6a8f7e0d9c2b5a8f7e0d3c6b9a8f7e1d4c7b0a3f6e9d2c5b8a",
"result": "VFp8RxnT2h+JK9W5/nJfLZdV1uLKXHBL5RwpnbZ4qDz3J1Ks4eOj7y9QVMhmwlIa5AQlNbdT3GJcvH8xo3WhBA=="
}
]
}
}{
"hash": "3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4c7b0a3f6e",
"data": {
"reason": "record.schema-invalid",
"detail": "Schema validator error: data.handle must match pattern \"^[a-zA-Z0-9_\\\\-+.]+$\"",
"custom": {
"errors": [
{
"instancePath": "/handle",
"schemaPath": "#/properties/handle/pattern",
"keyword": "pattern",
"params": {
"pattern": "^[a-zA-Z0-9_\\\\-+.]+$"
},
"message": "must match pattern \"^[a-zA-Z0-9_\\\\-+.]+$\""
}
]
}
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "vL8jKxm5PqTnJfEaRs2uOdY7gzX4CS9WbHlN3cAiBV0=",
"digest": "3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4c7b0a3f6e",
"result": "uYxJLd2QGkEfT8rP7mCn1lHVzBvIaSK4jFqpO5ZwW9oADnMbg6yeiUsvN3tcXj0RwYxkrq5aLm9f4y2Ko8WwDw=="
}
]
}
}{
"hash": "e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4",
"data": {
"reason": "api.unexpected-error",
"detail": "An unexpected error occurred"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "KxiLpB3v8VEdmYsT2RwNq5o1Cz9gHJfU4aAySt7D0X8=",
"digest": "e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4",
"result": "LzRmNh7x5TQYoqjw30BKDaZnbGcFUsX8v4tpEsr9P6iW1dyJkVC2uALfY8HdpM3eX9w0On12cqYxEtveKoFZDQ=="
}
]
}
}Check access in a signer instance
Authorization
BearerAuth JWT signed by private key. The presence of this token is not mandatory. It becomes required through the configuration of authorization access rules that requires a token to grant access. Once sent, the token is validated for its format, signature and expiration, regardless of the presence of access rules.
In: header
Path Parameters
The unique identifier of the record - it is luid or handle (address).
Header Parameters
The unique identifier of ledger in context for multi tenant requests.
Request Body
application/json
Access check payload
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:3000/v2/signers/admin/access/\!check" \ -H "x-ledger: rtp-ledger" \ -H "Content-Type: application/json" \ -d '{ "hash": "82ec2db864a10213d3a53faf0c48b482adf95be5b7cecfa05fdce05887db0a70", "data": { "action": "update" }, "meta": { "proofs": [ { "method": "ed25519-v2", "public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=", "digest": "8ba0115db43032c345acc26d3a63a24b8adda05426b47b3d8210efc951a85666", "result": "0cld1llpW8LHbV4cUajnlSEwkrYfmP7rpcTigwH78gSs4JQeMQl1Kupqno7j4YBNd2lq5QQsohTAngwMPwRtCA==", "custom": { "moment": "2025-03-07T17:37:29.671Z" } } ] } }'{
"hash": "d218b00c25884373e94ea797d3e00dd81157a74ac9ac5e95e003a001d7d9f743",
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "r5x4G6WbGHJjG7cwMB46Hw2vKrQiQ0ETfrwc96ORoUM=",
"digest": "1c775aec35841ed51900069f2fdacf16d3759a03eda8f25844aa80aaf908e934",
"result": "gHkftaScsQ5TB7hgdObmR8QXgKx+2hMRRXRPvBtJRuxOrCo15E8lBAqx0Xx0uXpE8TW1HW5hObe9I9NxJCxODA==",
"custom": {
"moment": "2025-03-07T16:08:57.341Z"
}
}
]
},
"data": [
{
"hash": "025df7863203da41282a910802a1f50a943adfdbb824152f81caea881d2a251d",
"data": {
"action": "any",
"record": "any"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "r5x4G6WbGHJjG7cwMB46Hw2vKrQiQ0ETfrwc96ORoUM=",
"digest": "0040e432d85092ad0ebbe81968442372e922a4ed3017c7981997042561f3d033",
"result": "HTjd5p4fGEkArh9rrvXB3+A8tmzUr+lyyNI6upA3Xsaz3LrWbTs31uYV9BRdqvXMaTr7i24GmytfqQFO2XqSAQ==",
"custom": {
"moment": "2025-03-07T16:08:57.339Z"
}
}
]
}
},
{
"hash": "9a4327c311bf1bb3fb38c1f4acf3535d69cbea8eeca6797b194f08b2090435c2",
"data": {
"action": "any",
"record": "signer"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "r5x4G6WbGHJjG7cwMB46Hw2vKrQiQ0ETfrwc96ORoUM=",
"digest": "faf5d64cc8cbcb63d0f30715ed416e721c20ea5638f0c8ba9400379b158fb870",
"result": "niTfcvpOsteAywsWyqxJ3i/+/aLxhlfRbFnwUNV5CrMGj3YrbPNfGRBBqHLaA18kmmCTSAxBMPU07D9MOiaaDg==",
"custom": {
"moment": "2025-03-07T16:08:57.340Z"
}
}
]
}
}
]
}{
"hash": "7846195d1e2f8bc75aa0ab35a238b70dc28c809b8fde33ea7d29e9f8d6d6841b",
"data": {
"reason": "auth.unauthorized",
"detail": "Invalid token."
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "JdK8m5SqXGCiZ1TdXQbCe9ECqwL3Kg1UZxj4r9gT+cA=",
"digest": "7846195d1e2f8bc75aa0ab35a238b70dc28c809b8fde33ea7d29e9f8d6d6841b",
"result": "X2m5A9Yxh4FRPgj6wgJKN0dYrfgXSq3hx8UX1jnmJ7fVHtQCnAp8MepXDZQhNkMsJd7a9HPk96hmvYXTFcHzAw=="
}
]
}
}{
"hash": "4969e3c012b66d88cec597bf337fc01eab8d651e6ed2d5c40236cc1f7d93435a",
"data": {
"reason": "auth.forbidden",
"detail": "Request is not authorized"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "WAweF9PHlboQoW0z8NqhZXFmzUTaV74NRFAd/aILprE=",
"digest": "4969e3c012b66d88cec597bf337fc01eab8d651e6ed2d5c40236cc1f7d93435a",
"result": "0G2gvSfBx6MwPT8ShBaiYx7zwa5Kqc4Cq3S3NXV1m5/ZPozoH/SUouuhi9sQU+f0yo0eX4ygH7PzE3PAdlxsCQ=="
}
]
}
}{
"hash": "b29a7f4e1d5c3b6a8f7e0d9c2b5a8f7e0d3c6b9a8f7e1d4c7b0a3f6e9d2c5b8a",
"data": {
"reason": "record.not-found",
"detail": "Signer not found"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "7ZMqyx5Lk3PQwNrJvGIs9eT6ahcUKXZ8SbRj4WyF2dQ=",
"digest": "b29a7f4e1d5c3b6a8f7e0d9c2b5a8f7e0d3c6b9a8f7e1d4c7b0a3f6e9d2c5b8a",
"result": "VFp8RxnT2h+JK9W5/nJfLZdV1uLKXHBL5RwpnbZ4qDz3J1Ks4eOj7y9QVMhmwlIa5AQlNbdT3GJcvH8xo3WhBA=="
}
]
}
}{
"hash": "3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4c7b0a3f6e",
"data": {
"reason": "record.schema-invalid",
"detail": "Schema validator error: data.handle must match pattern \"^[a-zA-Z0-9_\\\\-+.]+$\"",
"custom": {
"errors": [
{
"instancePath": "/handle",
"schemaPath": "#/properties/handle/pattern",
"keyword": "pattern",
"params": {
"pattern": "^[a-zA-Z0-9_\\\\-+.]+$"
},
"message": "must match pattern \"^[a-zA-Z0-9_\\\\-+.]+$\""
}
]
}
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "vL8jKxm5PqTnJfEaRs2uOdY7gzX4CS9WbHlN3cAiBV0=",
"digest": "3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4c7b0a3f6e",
"result": "uYxJLd2QGkEfT8rP7mCn1lHVzBvIaSK4jFqpO5ZwW9oADnMbg6yeiUsvN3tcXj0RwYxkrq5aLm9f4y2Ko8WwDw=="
}
]
}
}{
"hash": "e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4",
"data": {
"reason": "api.unexpected-error",
"detail": "An unexpected error occurred"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "KxiLpB3v8VEdmYsT2RwNq5o1Cz9gHJfU4aAySt7D0X8=",
"digest": "e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4",
"result": "LzRmNh7x5TQYoqjw30BKDaZnbGcFUsX8v4tpEsr9P6iW1dyJkVC2uALfY8HdpM3eX9w0On12cqYxEtveKoFZDQ=="
}
]
}
}List a signer changes
Authorization
BearerAuth JWT signed by private key. The presence of this token is not mandatory. It becomes required through the configuration of authorization access rules that requires a token to grant access. Once sent, the token is validated for its format, signature and expiration, regardless of the presence of access rules.
In: header
Path Parameters
The unique identifier of the record - it is luid or handle (address).
Query Parameters
Page query parameters
Base filter parameters
Header Parameters
The unique identifier of ledger in context for multi tenant requests.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "http://localhost:3000/v2/signers/admin/changes?limit=20&index=0&data.publicKey.%24eq=pjcf%2Fa9F0IRXTWqsgb7rtSTbI3HdeZ8DI5l8AcP%2B25Q%3D" \ -H "x-ledger: rtp-ledger"{
"hash": "fa134a4d353c2ec3e583d6a12378571ad54db9538c3a6bd4a58ac5dc2ebb7531",
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "r5x4G6WbGHJjG7cwMB46Hw2vKrQiQ0ETfrwc96ORoUM=",
"digest": "5e78904d6f378a4e6084f5ae3b77c6bdb8cd3e6da5299f4d97592c6979108a9e",
"result": "5Rc62gYz8+poyJQDcpPRh6G9k0QPdUuloFJ+J/GUH9muHZ0goeB9BgT2bLk28cpmWTh2UcKLB2Lb/sWlR2TfBA==",
"custom": {
"moment": "2025-03-07T16:08:57.227Z"
}
}
]
},
"data": [
{
"hash": "22205c19eaf65b85457c3706160fe19eab982353a64a4ddd47e63dd8503fa545",
"luid": "$snr.-0-eKP5De7kFWdKa-",
"meta": {
"moment": "2025-03-07T16:08:57.169Z",
"change": 3,
"action": "update"
},
"data": {
"parent": "c8079acc753f95b39ae345d6b81a8d924a9e5473a0782faaa92579a4c0f0011c",
"handle": "admin",
"custom": {
"role": "system-admin",
"firstName": "Jason",
"lastName": "Admin",
"department": "it"
},
"access": [
{
"action": "any",
"signer": {
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ="
}
}
],
"format": "ed25519-raw",
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=",
"secret": "MIGbMFcGCSqGSIb3DQEFDTBKMCkGCSqGSIb3DQEFDDAcBAijcsEhvZhcuQICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEASoEEDO77oqr6BSlPzmpI7/AZeEEQHhspvWQSsM/Nmh0eah/SQZ1poZhNywJuxG7nor5Fkix9k4yK6t1se0FCkd3wImJj+vLpYY4RjzRK6JyASlvcBw="
}
},
{
"hash": "22205c19eaf65b85457c3706160fe19eab982353a64a4ddd47e63dd8503fa545",
"luid": "$snr.-0-eKP5De7kFWdKa-",
"meta": {
"moment": "2025-03-07T16:08:57.108Z",
"change": 2,
"action": "update"
},
"data": {
"parent": "c8079acc753f95b39ae345d6b81a8d924a9e5473a0782faaa92579a4c0f0011c",
"handle": "admin",
"custom": {
"role": "system-admin",
"firstName": "Jason",
"lastName": "Admin",
"department": "it"
},
"access": [
{
"action": "any",
"signer": {
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ="
}
}
],
"format": "ed25519-raw",
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=",
"secret": "MIGbMFcGCSqGSIb3DQEFDTBKMCkGCSqGSIb3DQEFDDAcBAijcsEhvZhcuQICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEASoEEDO77oqr6BSlPzmpI7/AZeEEQHhspvWQSsM/Nmh0eah/SQZ1poZhNywJuxG7nor5Fkix9k4yK6t1se0FCkd3wImJj+vLpYY4RjzRK6JyASlvcBw="
}
},
{
"hash": "c8079acc753f95b39ae345d6b81a8d924a9e5473a0782faaa92579a4c0f0011c",
"luid": "$snr.-0-eKP5De7kFWdKa-",
"meta": {
"moment": "2025-03-07T16:08:56.949Z",
"change": 1,
"action": "create"
},
"data": {
"handle": "admin",
"access": [
{
"action": "any",
"signer": {
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ="
}
}
],
"format": "ed25519-raw",
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=",
"secret": "MIGbMFcGCSqGSIb3DQEFDTBKMCkGCSqGSIb3DQEFDDAcBAijcsEhvZhcuQICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEASoEEDO77oqr6BSlPzmpI7/AZeEEQHhspvWQSsM/Nmh0eah/SQZ1poZhNywJuxG7nor5Fkix9k4yK6t1se0FCkd3wImJj+vLpYY4RjzRK6JyASlvcBw="
}
}
],
"page": {
"index": 0,
"limit": 10,
"total": 3
}
}{
"hash": "7846195d1e2f8bc75aa0ab35a238b70dc28c809b8fde33ea7d29e9f8d6d6841b",
"data": {
"reason": "auth.unauthorized",
"detail": "Invalid token."
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "JdK8m5SqXGCiZ1TdXQbCe9ECqwL3Kg1UZxj4r9gT+cA=",
"digest": "7846195d1e2f8bc75aa0ab35a238b70dc28c809b8fde33ea7d29e9f8d6d6841b",
"result": "X2m5A9Yxh4FRPgj6wgJKN0dYrfgXSq3hx8UX1jnmJ7fVHtQCnAp8MepXDZQhNkMsJd7a9HPk96hmvYXTFcHzAw=="
}
]
}
}{
"hash": "4969e3c012b66d88cec597bf337fc01eab8d651e6ed2d5c40236cc1f7d93435a",
"data": {
"reason": "auth.forbidden",
"detail": "Request is not authorized"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "WAweF9PHlboQoW0z8NqhZXFmzUTaV74NRFAd/aILprE=",
"digest": "4969e3c012b66d88cec597bf337fc01eab8d651e6ed2d5c40236cc1f7d93435a",
"result": "0G2gvSfBx6MwPT8ShBaiYx7zwa5Kqc4Cq3S3NXV1m5/ZPozoH/SUouuhi9sQU+f0yo0eX4ygH7PzE3PAdlxsCQ=="
}
]
}
}{
"hash": "b29a7f4e1d5c3b6a8f7e0d9c2b5a8f7e0d3c6b9a8f7e1d4c7b0a3f6e9d2c5b8a",
"data": {
"reason": "record.not-found",
"detail": "Signer not found"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "7ZMqyx5Lk3PQwNrJvGIs9eT6ahcUKXZ8SbRj4WyF2dQ=",
"digest": "b29a7f4e1d5c3b6a8f7e0d9c2b5a8f7e0d3c6b9a8f7e1d4c7b0a3f6e9d2c5b8a",
"result": "VFp8RxnT2h+JK9W5/nJfLZdV1uLKXHBL5RwpnbZ4qDz3J1Ks4eOj7y9QVMhmwlIa5AQlNbdT3GJcvH8xo3WhBA=="
}
]
}
}{
"hash": "3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4c7b0a3f6e",
"data": {
"reason": "record.schema-invalid",
"detail": "Schema validator error: data.handle must match pattern \"^[a-zA-Z0-9_\\\\-+.]+$\"",
"custom": {
"errors": [
{
"instancePath": "/handle",
"schemaPath": "#/properties/handle/pattern",
"keyword": "pattern",
"params": {
"pattern": "^[a-zA-Z0-9_\\\\-+.]+$"
},
"message": "must match pattern \"^[a-zA-Z0-9_\\\\-+.]+$\""
}
]
}
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "vL8jKxm5PqTnJfEaRs2uOdY7gzX4CS9WbHlN3cAiBV0=",
"digest": "3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4c7b0a3f6e",
"result": "uYxJLd2QGkEfT8rP7mCn1lHVzBvIaSK4jFqpO5ZwW9oADnMbg6yeiUsvN3tcXj0RwYxkrq5aLm9f4y2Ko8WwDw=="
}
]
}
}{
"hash": "e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4",
"data": {
"reason": "api.unexpected-error",
"detail": "An unexpected error occurred"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "KxiLpB3v8VEdmYsT2RwNq5o1Cz9gHJfU4aAySt7D0X8=",
"digest": "e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4",
"result": "LzRmNh7x5TQYoqjw30BKDaZnbGcFUsX8v4tpEsr9P6iW1dyJkVC2uALfY8HdpM3eX9w0On12cqYxEtveKoFZDQ=="
}
]
}
}Read a signer change
Authorization
BearerAuth JWT signed by private key. The presence of this token is not mandatory. It becomes required through the configuration of authorization access rules that requires a token to grant access. Once sent, the token is validated for its format, signature and expiration, regardless of the presence of access rules.
In: header
Path Parameters
The unique identifier of the record - it is luid or handle (address).
The change number of the record
1 <= valueHeader Parameters
The unique identifier of ledger in context for multi tenant requests.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "http://localhost:3000/v2/signers/admin/changes/3" \ -H "x-ledger: rtp-ledger"{
"hash": "22205c19eaf65b85457c3706160fe19eab982353a64a4ddd47e63dd8503fa545",
"luid": "$snr.-0-eKP5De7kFWdKa-",
"meta": {
"moment": "2025-03-07T16:08:57.169Z",
"change": 3,
"action": "update"
},
"data": {
"parent": "c8079acc753f95b39ae345d6b81a8d924a9e5473a0782faaa92579a4c0f0011c",
"handle": "admin",
"custom": {
"role": "system-admin",
"firstName": "Jason",
"lastName": "Admin",
"department": "it"
},
"access": [
{
"action": "any",
"signer": {
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ="
}
}
],
"format": "ed25519-raw",
"public": "C8d/bkdi2MJDxkOaaLHUdZCnlcczpg430TRI2O3miSQ=",
"secret": "MIGbMFcGCSqGSIb3DQEFDTBKMCkGCSqGSIb3DQEFDDAcBAijcsEhvZhcuQICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEASoEEDO77oqr6BSlPzmpI7/AZeEEQHhspvWQSsM/Nmh0eah/SQZ1poZhNywJuxG7nor5Fkix9k4yK6t1se0FCkd3wImJj+vLpYY4RjzRK6JyASlvcBw="
}
}{
"hash": "7846195d1e2f8bc75aa0ab35a238b70dc28c809b8fde33ea7d29e9f8d6d6841b",
"data": {
"reason": "auth.unauthorized",
"detail": "Invalid token."
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "JdK8m5SqXGCiZ1TdXQbCe9ECqwL3Kg1UZxj4r9gT+cA=",
"digest": "7846195d1e2f8bc75aa0ab35a238b70dc28c809b8fde33ea7d29e9f8d6d6841b",
"result": "X2m5A9Yxh4FRPgj6wgJKN0dYrfgXSq3hx8UX1jnmJ7fVHtQCnAp8MepXDZQhNkMsJd7a9HPk96hmvYXTFcHzAw=="
}
]
}
}{
"hash": "4969e3c012b66d88cec597bf337fc01eab8d651e6ed2d5c40236cc1f7d93435a",
"data": {
"reason": "auth.forbidden",
"detail": "Request is not authorized"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "WAweF9PHlboQoW0z8NqhZXFmzUTaV74NRFAd/aILprE=",
"digest": "4969e3c012b66d88cec597bf337fc01eab8d651e6ed2d5c40236cc1f7d93435a",
"result": "0G2gvSfBx6MwPT8ShBaiYx7zwa5Kqc4Cq3S3NXV1m5/ZPozoH/SUouuhi9sQU+f0yo0eX4ygH7PzE3PAdlxsCQ=="
}
]
}
}{
"hash": "b29a7f4e1d5c3b6a8f7e0d9c2b5a8f7e0d3c6b9a8f7e1d4c7b0a3f6e9d2c5b8a",
"data": {
"reason": "record.not-found",
"detail": "Signer not found"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "7ZMqyx5Lk3PQwNrJvGIs9eT6ahcUKXZ8SbRj4WyF2dQ=",
"digest": "b29a7f4e1d5c3b6a8f7e0d9c2b5a8f7e0d3c6b9a8f7e1d4c7b0a3f6e9d2c5b8a",
"result": "VFp8RxnT2h+JK9W5/nJfLZdV1uLKXHBL5RwpnbZ4qDz3J1Ks4eOj7y9QVMhmwlIa5AQlNbdT3GJcvH8xo3WhBA=="
}
]
}
}{
"hash": "3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4c7b0a3f6e",
"data": {
"reason": "record.schema-invalid",
"detail": "Schema validator error: data.handle must match pattern \"^[a-zA-Z0-9_\\\\-+.]+$\"",
"custom": {
"errors": [
{
"instancePath": "/handle",
"schemaPath": "#/properties/handle/pattern",
"keyword": "pattern",
"params": {
"pattern": "^[a-zA-Z0-9_\\\\-+.]+$"
},
"message": "must match pattern \"^[a-zA-Z0-9_\\\\-+.]+$\""
}
]
}
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "vL8jKxm5PqTnJfEaRs2uOdY7gzX4CS9WbHlN3cAiBV0=",
"digest": "3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4c7b0a3f6e",
"result": "uYxJLd2QGkEfT8rP7mCn1lHVzBvIaSK4jFqpO5ZwW9oADnMbg6yeiUsvN3tcXj0RwYxkrq5aLm9f4y2Ko8WwDw=="
}
]
}
}{
"hash": "e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4",
"data": {
"reason": "api.unexpected-error",
"detail": "An unexpected error occurred"
},
"meta": {
"proofs": [
{
"method": "ed25519-v2",
"public": "KxiLpB3v8VEdmYsT2RwNq5o1Cz9gHJfU4aAySt7D0X8=",
"digest": "e1d4c7b0a3f6e9d2c5b8a1f4e7d0c3b6a9f2e5d8c1b4a7f0e3d6c9b2a5f8e1d4",
"result": "LzRmNh7x5TQYoqjw30BKDaZnbGcFUsX8v4tpEsr9P6iW1dyJkVC2uALfY8HdpM3eX9w0On12cqYxEtveKoFZDQ=="
}
]
}
}Schema
A Schema is a ledger record that specifies the structure and validation constraints for other records. When a record references a schema, it must conform to the schema's rules before it can be stored in the ledger. Schemas enable a flexible and extensible data model, allowing the ledger to adapt to new use cases while maintaining data integrity.
Report
A Report is a ledger record that contains generated data or documents based on the ledger's information. The structure and content of a report are determined by its schema, while specific generation parameters are stored in the custom field. Reports can be used for auditing, compliance, reconciliation or providing insights into ledger activities.