API Reference

Policy

A Policy is a ledger record that encapsulates a set of access rules applicable to other records. By defining policies, administrators can centralize and simplify the management of permissions across the ledger. Instead of specifying access rules individually for each record, policies allow for reusable sets of rules that can be applied uniformly, enhancing consistency and reducing administrative overhead.

List policies

GET
/policies

Authorization

BearerAuth
AuthorizationBearer <token>

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?

Page query parameters

filter?

Base filter parameters

Header Parameters

x-ledger?|

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/policies?limit=20&index=0" \  -H "x-ledger: rtp-ledger"
{
  "hash": "87e1d8686e1e7fc18a64ffb94155f117070faf10c4f1ac68132cf57332ff0f66",
  "meta": {
    "proofs": [
      {
        "method": "ed25519-v2",
        "public": "SYqAsweCOCByOQrC9DSjAmIVlyocndNaB/GyjxfQY5U=",
        "digest": "6be74fbf5ef247e3ac92fc1031051d606b2f3a4519a144cb65db91322d2ffa30",
        "result": "D+7PTZ41aRlrMy8wBRYjH5j1By2tjgQeIWruWhneAHt+kdNdRqrDYQI4vr017AYvINnWZrFLUPVCR7QdjXYBBA==",
        "custom": {
          "moment": "2025-04-02T05:10:33.360Z"
        }
      }
    ],
    "moment": "2025-04-02T05:10:33.360Z"
  },
  "data": [
    {
      "hash": "193e9f8fdfdce6b0ab19203011dede7dc51216235b7f7b3c2920e37eef0075f9",
      "data": {
        "parent": "5492a5f87a77a605bb270b37fbf0b615cb944e13d460735b312385d274afff0b",
        "handle": "studio",
        "access": [
          {
            "action": "any",
            "signer": {
              "$record": "owner"
            }
          },
          {
            "action": "read",
            "bearer": {
              "$signer": {
                "$record": "owner"
              }
            }
          }
        ],
        "values": [
          {
            "action": "any",
            "bearer": {
              "$signer": {
                "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
              }
            },
            "record": {
              "$in": [
                "schema",
                "wallet",
                "circle-signer",
                "circle"
              ]
            },
            "signer": {
              "$circle": "admin@bank17.com"
            }
          },
          {
            "action": {
              "$in": [
                "read",
                "query"
              ]
            },
            "filter": {
              "handle": "member"
            },
            "record": "schema"
          },
          {
            "action": "create",
            "record": {
              "$in": [
                "signer-proof",
                "report-proof"
              ]
            },
            "signer": {
              "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
            }
          },
          {
            "action": "update",
            "record": "signer",
            "signer": {
              "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
            }
          }
        ],
        "record": "any",
        "schema": "access"
      },
      "luid": "$plc.-08478j6t_PTkU7Xe",
      "meta": {
        "proofs": [
          {
            "custom": {
              "moment": "2025-04-02T05:10:32.132Z"
            },
            "digest": "e7308068245555fe23cdea6f3cd713a39fc39d0d9af7c91663c7d09e1be654b3",
            "method": "ed25519-v2",
            "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",
            "result": "Fi0Ckj+xNwvk3IMd//J1f6w6ejHJ5jEx/H+wPybdUSbwVOU6wFadIeYlixLfxIkhn8jHRgLsQroyzEvz1QmICQ=="
          },
          {
            "custom": {
              "luid": "$plc.-08478j6t_PTkU7Xe",
              "moment": "2025-04-02T05:10:32.150Z"
            },
            "digest": "72e9e6ae95506c054a1e8a37c6467447feeb1ee0b55fc1d4ffd63a74aa51b863",
            "method": "ed25519-v2",
            "public": "SYqAsweCOCByOQrC9DSjAmIVlyocndNaB/GyjxfQY5U=",
            "result": "PquGL90ulNmtvHw1mQdRDCiYB775JPAuqCreep/qVPgf3kFOwFOleJxB+SgyqKZZPu4qAgFNR1h1SOOU0C7yCw=="
          },
          {
            "custom": {
              "moment": "2025-04-02T05:10:30.823Z",
              "status": "approved",
              "operation": "authorization"
            },
            "digest": "bfae8a961721155583d9c2bb35c88bfe01a59d85eacd0412ad2544eb2165e6e5",
            "method": "ed25519-v2",
            "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",
            "result": "nOog0n7HTQOTh1VEy5TAHkxkee5LfRcE0Pq992gv6MxO9J+iZDYsMKxQnmB7Sz2wdnJ8c7ihmRQCjNKbzlwUDg=="
          }
        ],
        "status": "approved",
        "moment": "2025-04-02T05:10:32.148Z",
        "owners": [
          "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
        ]
      }
    },
    {
      "hash": "9bda81c4a1331f5649ccfa7b1ed647c8f8ced1db935acf35f6cb8e9c249bf0f9",
      "data": {
        "handle": "intent:status",
        "custom": {
          "description": "Defines quorum for changing an intent status"
        },
        "access": [
          {
            "action": "read"
          },
          {
            "action": "update",
            "signer": {
              "$record": "owner"
            }
          },
          {
            "action": "update",
            "signer": {
              "$ledger": "owner"
            }
          }
        ],
        "values": [
          {
            "quorum": [
              {
                "handle": "system"
              }
            ],
            "status": {
              "$in": [
                "created",
                "pending",
                "prepared",
                "committed",
                "completed",
                "failed",
                "aborted",
                "rejected",
                "expired"
              ]
            }
          }
        ],
        "record": "intent",
        "schema": "status"
      },
      "luid": "$plc.-08477rEYUyjcGlwb",
      "meta": {
        "proofs": [
          {
            "digest": "e119a970ced9a620bc04f6fa65467a090d7ca068483ee3820430bea459bb31ca",
            "method": "ed25519-v2",
            "public": "SYqAsweCOCByOQrC9DSjAmIVlyocndNaB/GyjxfQY5U=",
            "result": "XW4jjiMv0knseEziv+rrItzw9+rXRUFgjJEyTwMmqZf36ESFWbdaSHl1PX7z7xg6wR1dJv9yGMU4vc6wIK1NBw=="
          },
          {
            "custom": {
              "luid": "$plc.-08477rEYUyjcGlwb",
              "moment": "2025-04-02T05:10:30.683Z"
            },
            "digest": "ecae2bffeccd098b8d1a78d320ff416344e535e8178111afa9a35e766cc1c7a1",
            "method": "ed25519-v2",
            "public": "SYqAsweCOCByOQrC9DSjAmIVlyocndNaB/GyjxfQY5U=",
            "result": "gEZF6FmfOwB8LdQPsOcm+GI0dhcKFwTTIn2ruDuveEV5x1eB7w3zpGIH5nkFC9RSqCcUyYvzhhbST3+SrCizBg=="
          }
        ],
        "moment": "2025-04-02T05:10:30.583Z",
        "owners": [
          "SYqAsweCOCByOQrC9DSjAmIVlyocndNaB/GyjxfQY5U="
        ]
      }
    }
  ],
  "page": {
    "index": 0,
    "limit": 10
  }
}
{
  "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": "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 policy

POST
/policies

Authorization

BearerAuth
AuthorizationBearer <token>

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

x-ledger?|

The unique identifier of ledger in context for multi tenant requests.

Request Body

application/json

Policy 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 POST "http://localhost:3000/v2/policies" \  -H "x-ledger: rtp-ledger" \  -H "Content-Type: application/json" \  -d '{    "hash": "5492a5f87a77a605bb270b37fbf0b615cb944e13d460735b312385d274afff0b",    "data": {      "handle": "studio",      "access": [        {          "action": "any",          "signer": {            "$record": "owner"          }        },        {          "action": "read",          "bearer": {            "$signer": {              "$record": "owner"            }          }        }      ],      "values": [        {          "action": {            "$in": [              "read",              "query"            ]          },          "bearer": {            "$signer": {              "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="            }          },          "record": {            "$in": [              "ledger",              "signer",              "circle-signer",              "circle"            ]          }        },        {          "action": {            "$in": [              "read",              "query"            ]          },          "filter": {            "handle": "member"          },          "record": "schema"        },        {          "action": "create",          "record": {            "$in": [              "signer-proof",              "report-proof"            ]          },          "signer": {            "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="          }        },        {          "action": "update",          "record": "signer",          "signer": {            "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="          }        }      ],      "record": "any",      "schema": "access"    },    "meta": {      "proofs": [        {          "method": "ed25519-v2",          "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",          "digest": "d59c1229d9d7b2bafaf12cdcb770990c2c81eb159f6f1eacdef031a1445cf638",          "result": "C3zMQqrbS+zkLt6B7gIuM/0Z60LK90L9wAMrijQizkdku7Mteg0mw7eK3Ak7J1TewzRHgnc9iK3s4BWAd71mBw==",          "custom": {            "moment": "2025-04-02T05:10:31.803Z",            "status": "created"          }        }      ]    }  }'
{
  "hash": "5492a5f87a77a605bb270b37fbf0b615cb944e13d460735b312385d274afff0b",
  "data": {
    "handle": "studio",
    "access": [
      {
        "action": "any",
        "signer": {
          "$record": "owner"
        }
      },
      {
        "action": "read",
        "bearer": {
          "$signer": {
            "$record": "owner"
          }
        }
      }
    ],
    "values": [
      {
        "action": {
          "$in": [
            "read",
            "query"
          ]
        },
        "bearer": {
          "$signer": {
            "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
          }
        },
        "record": {
          "$in": [
            "ledger",
            "signer",
            "circle-signer",
            "circle"
          ]
        }
      },
      {
        "action": {
          "$in": [
            "read",
            "query"
          ]
        },
        "filter": {
          "handle": "member"
        },
        "record": "schema"
      },
      {
        "action": "create",
        "record": {
          "$in": [
            "signer-proof",
            "report-proof"
          ]
        },
        "signer": {
          "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
        }
      },
      {
        "action": "update",
        "record": "signer",
        "signer": {
          "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
        }
      }
    ],
    "record": "any",
    "schema": "access"
  },
  "luid": "$plc.-08478j6t_PTkU7Xe",
  "meta": {
    "proofs": [
      {
        "custom": {
          "moment": "2025-04-02T05:10:31.803Z",
          "status": "created"
        },
        "digest": "d59c1229d9d7b2bafaf12cdcb770990c2c81eb159f6f1eacdef031a1445cf638",
        "method": "ed25519-v2",
        "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",
        "result": "C3zMQqrbS+zkLt6B7gIuM/0Z60LK90L9wAMrijQizkdku7Mteg0mw7eK3Ak7J1TewzRHgnc9iK3s4BWAd71mBw=="
      },
      {
        "custom": {
          "luid": "$plc.-08478j6t_PTkU7Xe",
          "moment": "2025-04-02T05:10:31.820Z",
          "status": "created"
        },
        "digest": "949768b2c8009c21f5c1ac53e497df83b5793929995b1612ade57d54c1cfadf7",
        "method": "ed25519-v2",
        "public": "SYqAsweCOCByOQrC9DSjAmIVlyocndNaB/GyjxfQY5U=",
        "result": "pVIAnafvlXN4IdEwK/COnWfadXv+IE3lwo9CdcYlObSOdNxB9rIryI98wDFcmelplbX3Cl5XuU/Kjnca+iBOCg=="
      }
    ],
    "status": "created",
    "moment": "2025-04-02T05:10:31.817Z",
    "owners": [
      "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
    ]
  }
}
{
  "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=="
      }
    ]
  }
}

Read a policy

GET
/policies/{id}

Authorization

BearerAuth
AuthorizationBearer <token>

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

id*|

The unique identifier of the record - it is luid or handle (address).

Header Parameters

x-ledger?|

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/policies/admin" \  -H "x-ledger: rtp-ledger"
{
  "hash": "193e9f8fdfdce6b0ab19203011dede7dc51216235b7f7b3c2920e37eef0075f9",
  "data": {
    "parent": "5492a5f87a77a605bb270b37fbf0b615cb944e13d460735b312385d274afff0b",
    "handle": "studio",
    "access": [
      {
        "action": "any",
        "signer": {
          "$record": "owner"
        }
      },
      {
        "action": "read",
        "bearer": {
          "$signer": {
            "$record": "owner"
          }
        }
      }
    ],
    "values": [
      {
        "action": "any",
        "bearer": {
          "$signer": {
            "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
          }
        },
        "record": {
          "$in": [
            "schema",
            "wallet",
            "circle-signer",
            "circle"
          ]
        },
        "signer": {
          "$circle": "admin@bank17.com"
        }
      },
      {
        "action": {
          "$in": [
            "read",
            "query"
          ]
        },
        "filter": {
          "handle": "member"
        },
        "record": "schema"
      },
      {
        "action": "create",
        "record": {
          "$in": [
            "signer-proof",
            "report-proof"
          ]
        },
        "signer": {
          "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
        }
      },
      {
        "action": "update",
        "record": "signer",
        "signer": {
          "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
        }
      }
    ],
    "record": "any",
    "schema": "access"
  },
  "luid": "$plc.-08478j6t_PTkU7Xe",
  "meta": {
    "proofs": [
      {
        "custom": {
          "moment": "2025-04-02T05:10:32.132Z"
        },
        "digest": "e7308068245555fe23cdea6f3cd713a39fc39d0d9af7c91663c7d09e1be654b3",
        "method": "ed25519-v2",
        "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",
        "result": "Fi0Ckj+xNwvk3IMd//J1f6w6ejHJ5jEx/H+wPybdUSbwVOU6wFadIeYlixLfxIkhn8jHRgLsQroyzEvz1QmICQ=="
      },
      {
        "custom": {
          "luid": "$plc.-08478j6t_PTkU7Xe",
          "moment": "2025-04-02T05:10:32.150Z"
        },
        "digest": "72e9e6ae95506c054a1e8a37c6467447feeb1ee0b55fc1d4ffd63a74aa51b863",
        "method": "ed25519-v2",
        "public": "SYqAsweCOCByOQrC9DSjAmIVlyocndNaB/GyjxfQY5U=",
        "result": "PquGL90ulNmtvHw1mQdRDCiYB775JPAuqCreep/qVPgf3kFOwFOleJxB+SgyqKZZPu4qAgFNR1h1SOOU0C7yCw=="
      },
      {
        "custom": {
          "moment": "2025-04-02T05:10:30.823Z",
          "status": "approved",
          "operation": "authorization"
        },
        "digest": "bfae8a961721155583d9c2bb35c88bfe01a59d85eacd0412ad2544eb2165e6e5",
        "method": "ed25519-v2",
        "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",
        "result": "nOog0n7HTQOTh1VEy5TAHkxkee5LfRcE0Pq992gv6MxO9J+iZDYsMKxQnmB7Sz2wdnJ8c7ihmRQCjNKbzlwUDg=="
      }
    ],
    "status": "approved",
    "moment": "2025-04-02T05:10:32.148Z",
    "owners": [
      "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
    ]
  }
}
{
  "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=="
      }
    ]
  }
}

Drop a policy

DELETE
/policies/{id}

Authorization

BearerAuth
AuthorizationBearer <token>

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

id*|

The unique identifier of the record - it is luid or handle (address).

Header Parameters

x-ledger?|

The unique identifier of ledger in context for multi tenant requests.

Request Body

application/json

Policy drop body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

text/plain

application/json

application/json

application/json

application/json

application/json

curl -X DELETE "http://localhost:3000/v2/policies/admin" \  -H "x-ledger: rtp-ledger" \  -H "Content-Type: application/json" \  -d '{    "data": {      "parent": "193e9f8fdfdce6b0ab19203011dede7dc51216235b7f7b3c2920e37eef0075f9"    },    "hash": "b8f478d31f1a8f161753e0a78128b097bf1876dd24de404193cad4e347d5e17c",    "luid": "$plc.-08478j6t_PTkU7Xe",    "meta": {      "proofs": [        {          "method": "ed25519-v2",          "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",          "digest": "65af3595159da5ccddce35a989aa83d182bbe361b8d6fd7ce3b12fcff4ad72c7",          "result": "HU/pUMm9RGuvVjvH8ybcV3Lj97N/wgP8rN7DLMTrNFmrhLl70QWMpnzikvUs+kH12tvk7v0oCgONiglIb6dEDQ==",          "custom": {            "moment": "2025-04-02T05:10:33.895Z",            "status": "dropped"          }        }      ],      "status": "created",      "owners": [        "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="      ]    }  }'
""
{
  "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 policy

PUT
/policies/{id}

Authorization

BearerAuth
AuthorizationBearer <token>

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

id*|

The unique identifier of the record - it is luid or handle (address).

Header Parameters

x-ledger?|

The unique identifier of ledger in context for multi tenant requests.

Request Body

application/json

Policy 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/policies/admin" \  -H "x-ledger: rtp-ledger" \  -H "Content-Type: application/json" \  -d '{    "hash": "193e9f8fdfdce6b0ab19203011dede7dc51216235b7f7b3c2920e37eef0075f9",    "luid": "$plc.-08478j6t_PTkU7Xe",    "data": {      "handle": "studio",      "access": [        {          "action": "any",          "signer": {            "$record": "owner"          }        },        {          "action": "read",          "bearer": {            "$signer": {              "$record": "owner"            }          }        }      ],      "values": [        {          "action": "any",          "bearer": {            "$signer": {              "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="            }          },          "record": {            "$in": [              "schema",              "wallet",              "circle-signer",              "circle"            ]          },          "signer": {            "$circle": "admin@bank17.com"          }        },        {          "action": {            "$in": [              "read",              "query"            ]          },          "filter": {            "handle": "member"          },          "record": "schema"        },        {          "action": "create",          "record": {            "$in": [              "signer-proof",              "report-proof"            ]          },          "signer": {            "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="          }        },        {          "action": "update",          "record": "signer",          "signer": {            "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="          }        }      ],      "record": "any",      "schema": "access",      "parent": "5492a5f87a77a605bb270b37fbf0b615cb944e13d460735b312385d274afff0b"    },    "meta": {      "proofs": [        {          "method": "ed25519-v2",          "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",          "digest": "e7308068245555fe23cdea6f3cd713a39fc39d0d9af7c91663c7d09e1be654b3",          "result": "Fi0Ckj+xNwvk3IMd//J1f6w6ejHJ5jEx/H+wPybdUSbwVOU6wFadIeYlixLfxIkhn8jHRgLsQroyzEvz1QmICQ==",          "custom": {            "moment": "2025-04-02T05:10:32.132Z"          }        }      ]    }  }'
{
  "hash": "193e9f8fdfdce6b0ab19203011dede7dc51216235b7f7b3c2920e37eef0075f9",
  "data": {
    "parent": "5492a5f87a77a605bb270b37fbf0b615cb944e13d460735b312385d274afff0b",
    "handle": "studio",
    "access": [
      {
        "action": "any",
        "signer": {
          "$record": "owner"
        }
      },
      {
        "action": "read",
        "bearer": {
          "$signer": {
            "$record": "owner"
          }
        }
      }
    ],
    "values": [
      {
        "action": "any",
        "bearer": {
          "$signer": {
            "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
          }
        },
        "record": {
          "$in": [
            "schema",
            "wallet",
            "circle-signer",
            "circle"
          ]
        },
        "signer": {
          "$circle": "admin@bank17.com"
        }
      },
      {
        "action": {
          "$in": [
            "read",
            "query"
          ]
        },
        "filter": {
          "handle": "member"
        },
        "record": "schema"
      },
      {
        "action": "create",
        "record": {
          "$in": [
            "signer-proof",
            "report-proof"
          ]
        },
        "signer": {
          "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
        }
      },
      {
        "action": "update",
        "record": "signer",
        "signer": {
          "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
        }
      }
    ],
    "record": "any",
    "schema": "access"
  },
  "luid": "$plc.-08478j6t_PTkU7Xe",
  "meta": {
    "proofs": [
      {
        "custom": {
          "moment": "2025-04-02T05:10:32.132Z"
        },
        "digest": "e7308068245555fe23cdea6f3cd713a39fc39d0d9af7c91663c7d09e1be654b3",
        "method": "ed25519-v2",
        "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",
        "result": "Fi0Ckj+xNwvk3IMd//J1f6w6ejHJ5jEx/H+wPybdUSbwVOU6wFadIeYlixLfxIkhn8jHRgLsQroyzEvz1QmICQ=="
      },
      {
        "custom": {
          "luid": "$plc.-08478j6t_PTkU7Xe",
          "moment": "2025-04-02T05:10:32.150Z"
        },
        "digest": "72e9e6ae95506c054a1e8a37c6467447feeb1ee0b55fc1d4ffd63a74aa51b863",
        "method": "ed25519-v2",
        "public": "SYqAsweCOCByOQrC9DSjAmIVlyocndNaB/GyjxfQY5U=",
        "result": "PquGL90ulNmtvHw1mQdRDCiYB775JPAuqCreep/qVPgf3kFOwFOleJxB+SgyqKZZPu4qAgFNR1h1SOOU0C7yCw=="
      }
    ],
    "status": "created",
    "moment": "2025-04-02T05:10:32.148Z",
    "owners": [
      "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
    ]
  }
}
{
  "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 policy

POST
/policies/{id}/proofs

Authorization

BearerAuth
AuthorizationBearer <token>

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

id*|

The unique identifier of the record - it is luid or handle (address).

Header Parameters

x-ledger?|

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/policies/admin/proofs" \  -H "x-ledger: rtp-ledger" \  -H "Content-Type: application/json" \  -d '{    "method": "ed25519-v2",    "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",    "digest": "bfae8a961721155583d9c2bb35c88bfe01a59d85eacd0412ad2544eb2165e6e5",    "result": "nOog0n7HTQOTh1VEy5TAHkxkee5LfRcE0Pq992gv6MxO9J+iZDYsMKxQnmB7Sz2wdnJ8c7ihmRQCjNKbzlwUDg==",    "custom": {      "moment": "2025-04-02T05:10:30.823Z",      "status": "approved",      "operation": "authorization"    }  }'
{
  "hash": "193e9f8fdfdce6b0ab19203011dede7dc51216235b7f7b3c2920e37eef0075f9",
  "data": {
    "parent": "5492a5f87a77a605bb270b37fbf0b615cb944e13d460735b312385d274afff0b",
    "handle": "studio",
    "access": [
      {
        "action": "any",
        "signer": {
          "$record": "owner"
        }
      },
      {
        "action": "read",
        "bearer": {
          "$signer": {
            "$record": "owner"
          }
        }
      }
    ],
    "values": [
      {
        "action": "any",
        "bearer": {
          "$signer": {
            "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
          }
        },
        "record": {
          "$in": [
            "schema",
            "wallet",
            "circle-signer",
            "circle"
          ]
        },
        "signer": {
          "$circle": "admin@bank17.com"
        }
      },
      {
        "action": {
          "$in": [
            "read",
            "query"
          ]
        },
        "filter": {
          "handle": "member"
        },
        "record": "schema"
      },
      {
        "action": "create",
        "record": {
          "$in": [
            "signer-proof",
            "report-proof"
          ]
        },
        "signer": {
          "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
        }
      },
      {
        "action": "update",
        "record": "signer",
        "signer": {
          "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
        }
      }
    ],
    "record": "any",
    "schema": "access"
  },
  "luid": "$plc.-08478j6t_PTkU7Xe",
  "meta": {
    "proofs": [
      {
        "custom": {
          "moment": "2025-04-02T05:10:32.132Z"
        },
        "digest": "e7308068245555fe23cdea6f3cd713a39fc39d0d9af7c91663c7d09e1be654b3",
        "method": "ed25519-v2",
        "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",
        "result": "Fi0Ckj+xNwvk3IMd//J1f6w6ejHJ5jEx/H+wPybdUSbwVOU6wFadIeYlixLfxIkhn8jHRgLsQroyzEvz1QmICQ=="
      },
      {
        "custom": {
          "luid": "$plc.-08478j6t_PTkU7Xe",
          "moment": "2025-04-02T05:10:32.150Z"
        },
        "digest": "72e9e6ae95506c054a1e8a37c6467447feeb1ee0b55fc1d4ffd63a74aa51b863",
        "method": "ed25519-v2",
        "public": "SYqAsweCOCByOQrC9DSjAmIVlyocndNaB/GyjxfQY5U=",
        "result": "PquGL90ulNmtvHw1mQdRDCiYB775JPAuqCreep/qVPgf3kFOwFOleJxB+SgyqKZZPu4qAgFNR1h1SOOU0C7yCw=="
      },
      {
        "custom": {
          "moment": "2025-04-02T05:10:30.823Z",
          "status": "approved",
          "operation": "authorization"
        },
        "digest": "bfae8a961721155583d9c2bb35c88bfe01a59d85eacd0412ad2544eb2165e6e5",
        "method": "ed25519-v2",
        "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",
        "result": "nOog0n7HTQOTh1VEy5TAHkxkee5LfRcE0Pq992gv6MxO9J+iZDYsMKxQnmB7Sz2wdnJ8c7ihmRQCjNKbzlwUDg=="
      }
    ],
    "status": "approved",
    "moment": "2025-04-02T05:10:32.148Z",
    "owners": [
      "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
    ]
  }
}
{
  "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 policy

POST
/policies/{id}/access/\!check

Authorization

BearerAuth
AuthorizationBearer <token>

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

id*|

The unique identifier of the record - it is luid or handle (address).

Header Parameters

x-ledger?|

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/policies/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": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",          "digest": "d2f548f6dadd6800db9791a4a5fc3a5eeedf7e2f0848f9890d9b220ef822dae4",          "result": "kZ59e0PRDeSOGYaOcDKGxhIoxmS/wWtbrmGEwMEedtPr3lX5tdsQdGhcuytkUVtzSQEKxHqA3hsFstnR3y2DDg==",          "custom": {            "moment": "2025-04-02T05:10:32.834Z"          }        }      ]    }  }'
{
  "hash": "7e2d2b0185f46f4e38d368cb4cdd91f4ac9f4af638a38533368f10e7814377e1",
  "meta": {
    "proofs": [
      {
        "method": "ed25519-v2",
        "public": "SYqAsweCOCByOQrC9DSjAmIVlyocndNaB/GyjxfQY5U=",
        "digest": "73532bd31bc79a6045817967b3a95b52475dc24fb5d297090a66b3838c55dde1",
        "result": "9oovZMdqipiG5nd5YP7BGJZ2r1GbLARY3T4Pu5+xfX5hOcANQKUzrP+8Wbyc4o+jfgpsPAcITw2mJUOD6ne+Bg==",
        "custom": {
          "moment": "2025-04-02T05:10:32.846Z"
        }
      }
    ],
    "moment": "2025-04-02T05:10:32.846Z"
  },
  "data": [
    {
      "hash": "025df7863203da41282a910802a1f50a943adfdbb824152f81caea881d2a251d",
      "data": {
        "action": "any",
        "record": "any"
      },
      "meta": {
        "proofs": [
          {
            "method": "ed25519-v2",
            "public": "SYqAsweCOCByOQrC9DSjAmIVlyocndNaB/GyjxfQY5U=",
            "digest": "905f935e634beaf69f39bb8caa6c085fa6fa16995f6818a20c9f5b3291355a5e",
            "result": "4MET/hneTnJUdclUdgXf3wsePl+cKkY9s5TUApsadin742OP+0N8Qh+A9xrUrDRxFv19Ie4sppu8z+IwVaTKCw==",
            "custom": {
              "moment": "2025-04-02T05:10:32.845Z"
            }
          }
        ],
        "moment": "2025-04-02T05:10:32.845Z"
      }
    },
    {
      "hash": "cab43beb96d278283259799511c379b9c1477fb583af2ecd262c0d0f0788d664",
      "data": {
        "action": "any",
        "record": "policy"
      },
      "meta": {
        "proofs": [
          {
            "method": "ed25519-v2",
            "public": "SYqAsweCOCByOQrC9DSjAmIVlyocndNaB/GyjxfQY5U=",
            "digest": "f88194473abedd52214eea156f23d37d72f2c62d35e5d973a0d43b9b5a05c67b",
            "result": "qFC+1IXhQahTa3ZES7LP+7QrMDycYKdmTBnJc59Bk+pPNa/LtCVBAlLHwJh7eB448/Ha7iMlTkSCZ0NBpm/nDA==",
            "custom": {
              "moment": "2025-04-02T05:10:32.845Z"
            }
          }
        ],
        "moment": "2025-04-02T05:10:32.845Z"
      }
    }
  ]
}
{
  "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 policy changes

GET
/policies/{id}/changes

Authorization

BearerAuth
AuthorizationBearer <token>

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

id*|

The unique identifier of the record - it is luid or handle (address).

Query Parameters

page?

Page query parameters

filter?

Base filter parameters

Header Parameters

x-ledger?|

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/policies/admin/changes?limit=20&index=0&data.publicKey.%24eq=pjcf%2Fa9F0IRXTWqsgb7rtSTbI3HdeZ8DI5l8AcP%2B25Q%3D" \  -H "x-ledger: rtp-ledger"
{
  "hash": "d52ae30e4d806224df0b6344135f510059c716c898789a7618d1e00a7c69a91f",
  "meta": {
    "proofs": [
      {
        "method": "ed25519-v2",
        "public": "SYqAsweCOCByOQrC9DSjAmIVlyocndNaB/GyjxfQY5U=",
        "digest": "cb5cb1225650ccca9dcce93ed00ff50eff58ee57b2218764abd9ab0a9a926b02",
        "result": "YRFvjnLFj9ZDCt5ai7ldWuGgBkJPFYGmjdSikV/MbMC8iz63aNiqeMNwCEHifNhhA3i8i70kkyM6oSpH0SVKAA==",
        "custom": {
          "moment": "2025-04-02T05:10:33.384Z"
        }
      }
    ],
    "moment": "2025-04-02T05:10:33.384Z"
  },
  "data": [
    {
      "hash": "193e9f8fdfdce6b0ab19203011dede7dc51216235b7f7b3c2920e37eef0075f9",
      "luid": "$plc.-08478j6t_PTkU7Xe",
      "meta": {
        "proofs": [
          {
            "custom": {
              "moment": "2025-04-02T05:10:32.132Z"
            },
            "digest": "e7308068245555fe23cdea6f3cd713a39fc39d0d9af7c91663c7d09e1be654b3",
            "method": "ed25519-v2",
            "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",
            "result": "Fi0Ckj+xNwvk3IMd//J1f6w6ejHJ5jEx/H+wPybdUSbwVOU6wFadIeYlixLfxIkhn8jHRgLsQroyzEvz1QmICQ=="
          },
          {
            "custom": {
              "luid": "$plc.-08478j6t_PTkU7Xe",
              "moment": "2025-04-02T05:10:32.150Z"
            },
            "digest": "72e9e6ae95506c054a1e8a37c6467447feeb1ee0b55fc1d4ffd63a74aa51b863",
            "method": "ed25519-v2",
            "public": "SYqAsweCOCByOQrC9DSjAmIVlyocndNaB/GyjxfQY5U=",
            "result": "PquGL90ulNmtvHw1mQdRDCiYB775JPAuqCreep/qVPgf3kFOwFOleJxB+SgyqKZZPu4qAgFNR1h1SOOU0C7yCw=="
          },
          {
            "custom": {
              "moment": "2025-04-02T05:10:30.823Z",
              "status": "approved",
              "operation": "authorization"
            },
            "digest": "bfae8a961721155583d9c2bb35c88bfe01a59d85eacd0412ad2544eb2165e6e5",
            "method": "ed25519-v2",
            "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",
            "result": "nOog0n7HTQOTh1VEy5TAHkxkee5LfRcE0Pq992gv6MxO9J+iZDYsMKxQnmB7Sz2wdnJ8c7ihmRQCjNKbzlwUDg=="
          }
        ],
        "status": "approved",
        "moment": "2025-04-02T05:10:32.529Z",
        "change": 3,
        "action": "update",
        "owners": [
          "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
        ],
        "labels": null
      },
      "data": {
        "parent": "5492a5f87a77a605bb270b37fbf0b615cb944e13d460735b312385d274afff0b",
        "handle": "studio",
        "access": [
          {
            "action": "any",
            "signer": {
              "$record": "owner"
            }
          },
          {
            "action": "read",
            "bearer": {
              "$signer": {
                "$record": "owner"
              }
            }
          }
        ],
        "values": [
          {
            "action": "any",
            "bearer": {
              "$signer": {
                "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
              }
            },
            "record": {
              "$in": [
                "schema",
                "wallet",
                "circle-signer",
                "circle"
              ]
            },
            "signer": {
              "$circle": "admin@bank17.com"
            }
          },
          {
            "action": {
              "$in": [
                "read",
                "query"
              ]
            },
            "filter": {
              "handle": "member"
            },
            "record": "schema"
          },
          {
            "action": "create",
            "record": {
              "$in": [
                "signer-proof",
                "report-proof"
              ]
            },
            "signer": {
              "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
            }
          },
          {
            "action": "update",
            "record": "signer",
            "signer": {
              "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
            }
          }
        ],
        "record": "any",
        "schema": "access"
      }
    },
    {
      "hash": "193e9f8fdfdce6b0ab19203011dede7dc51216235b7f7b3c2920e37eef0075f9",
      "luid": "$plc.-08478j6t_PTkU7Xe",
      "meta": {
        "proofs": [
          {
            "custom": {
              "moment": "2025-04-02T05:10:32.132Z"
            },
            "digest": "e7308068245555fe23cdea6f3cd713a39fc39d0d9af7c91663c7d09e1be654b3",
            "method": "ed25519-v2",
            "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",
            "result": "Fi0Ckj+xNwvk3IMd//J1f6w6ejHJ5jEx/H+wPybdUSbwVOU6wFadIeYlixLfxIkhn8jHRgLsQroyzEvz1QmICQ=="
          },
          {
            "custom": {
              "luid": "$plc.-08478j6t_PTkU7Xe",
              "moment": "2025-04-02T05:10:32.150Z"
            },
            "digest": "72e9e6ae95506c054a1e8a37c6467447feeb1ee0b55fc1d4ffd63a74aa51b863",
            "method": "ed25519-v2",
            "public": "SYqAsweCOCByOQrC9DSjAmIVlyocndNaB/GyjxfQY5U=",
            "result": "PquGL90ulNmtvHw1mQdRDCiYB775JPAuqCreep/qVPgf3kFOwFOleJxB+SgyqKZZPu4qAgFNR1h1SOOU0C7yCw=="
          }
        ],
        "status": "created",
        "moment": "2025-04-02T05:10:32.148Z",
        "change": 2,
        "action": "update",
        "owners": [
          "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
        ],
        "labels": null
      },
      "data": {
        "parent": "5492a5f87a77a605bb270b37fbf0b615cb944e13d460735b312385d274afff0b",
        "handle": "studio",
        "access": [
          {
            "action": "any",
            "signer": {
              "$record": "owner"
            }
          },
          {
            "action": "read",
            "bearer": {
              "$signer": {
                "$record": "owner"
              }
            }
          }
        ],
        "values": [
          {
            "action": "any",
            "bearer": {
              "$signer": {
                "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
              }
            },
            "record": {
              "$in": [
                "schema",
                "wallet",
                "circle-signer",
                "circle"
              ]
            },
            "signer": {
              "$circle": "admin@bank17.com"
            }
          },
          {
            "action": {
              "$in": [
                "read",
                "query"
              ]
            },
            "filter": {
              "handle": "member"
            },
            "record": "schema"
          },
          {
            "action": "create",
            "record": {
              "$in": [
                "signer-proof",
                "report-proof"
              ]
            },
            "signer": {
              "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
            }
          },
          {
            "action": "update",
            "record": "signer",
            "signer": {
              "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
            }
          }
        ],
        "record": "any",
        "schema": "access"
      }
    },
    {
      "hash": "5492a5f87a77a605bb270b37fbf0b615cb944e13d460735b312385d274afff0b",
      "luid": "$plc.-08478j6t_PTkU7Xe",
      "meta": {
        "proofs": [
          {
            "custom": {
              "moment": "2025-04-02T05:10:31.803Z",
              "status": "created"
            },
            "digest": "d59c1229d9d7b2bafaf12cdcb770990c2c81eb159f6f1eacdef031a1445cf638",
            "method": "ed25519-v2",
            "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",
            "result": "C3zMQqrbS+zkLt6B7gIuM/0Z60LK90L9wAMrijQizkdku7Mteg0mw7eK3Ak7J1TewzRHgnc9iK3s4BWAd71mBw=="
          },
          {
            "custom": {
              "luid": "$plc.-08478j6t_PTkU7Xe",
              "moment": "2025-04-02T05:10:31.820Z",
              "status": "created"
            },
            "digest": "949768b2c8009c21f5c1ac53e497df83b5793929995b1612ade57d54c1cfadf7",
            "method": "ed25519-v2",
            "public": "SYqAsweCOCByOQrC9DSjAmIVlyocndNaB/GyjxfQY5U=",
            "result": "pVIAnafvlXN4IdEwK/COnWfadXv+IE3lwo9CdcYlObSOdNxB9rIryI98wDFcmelplbX3Cl5XuU/Kjnca+iBOCg=="
          }
        ],
        "status": "created",
        "moment": "2025-04-02T05:10:31.817Z",
        "change": 1,
        "action": "create",
        "owners": [
          "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
        ],
        "labels": null
      },
      "data": {
        "handle": "studio",
        "access": [
          {
            "action": "any",
            "signer": {
              "$record": "owner"
            }
          },
          {
            "action": "read",
            "bearer": {
              "$signer": {
                "$record": "owner"
              }
            }
          }
        ],
        "values": [
          {
            "action": {
              "$in": [
                "read",
                "query"
              ]
            },
            "bearer": {
              "$signer": {
                "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
              }
            },
            "record": {
              "$in": [
                "ledger",
                "signer",
                "circle-signer",
                "circle"
              ]
            }
          },
          {
            "action": {
              "$in": [
                "read",
                "query"
              ]
            },
            "filter": {
              "handle": "member"
            },
            "record": "schema"
          },
          {
            "action": "create",
            "record": {
              "$in": [
                "signer-proof",
                "report-proof"
              ]
            },
            "signer": {
              "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
            }
          },
          {
            "action": "update",
            "record": "signer",
            "signer": {
              "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
            }
          }
        ],
        "record": "any",
        "schema": "access"
      }
    }
  ],
  "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 policy change

GET
/policies/{id}/changes/{change}

Authorization

BearerAuth
AuthorizationBearer <token>

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

id*|

The unique identifier of the record - it is luid or handle (address).

change*integer

The change number of the record

Range1 <= value

Header Parameters

x-ledger?|

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/policies/admin/changes/3" \  -H "x-ledger: rtp-ledger"
{
  "hash": "5492a5f87a77a605bb270b37fbf0b615cb944e13d460735b312385d274afff0b",
  "luid": "$plc.-08478j6t_PTkU7Xe",
  "meta": {
    "proofs": [
      {
        "custom": {
          "moment": "2025-04-02T05:10:31.803Z",
          "status": "created"
        },
        "digest": "d59c1229d9d7b2bafaf12cdcb770990c2c81eb159f6f1eacdef031a1445cf638",
        "method": "ed25519-v2",
        "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",
        "result": "C3zMQqrbS+zkLt6B7gIuM/0Z60LK90L9wAMrijQizkdku7Mteg0mw7eK3Ak7J1TewzRHgnc9iK3s4BWAd71mBw=="
      },
      {
        "custom": {
          "luid": "$plc.-08478j6t_PTkU7Xe",
          "moment": "2025-04-02T05:10:31.820Z",
          "status": "created"
        },
        "digest": "949768b2c8009c21f5c1ac53e497df83b5793929995b1612ade57d54c1cfadf7",
        "method": "ed25519-v2",
        "public": "SYqAsweCOCByOQrC9DSjAmIVlyocndNaB/GyjxfQY5U=",
        "result": "pVIAnafvlXN4IdEwK/COnWfadXv+IE3lwo9CdcYlObSOdNxB9rIryI98wDFcmelplbX3Cl5XuU/Kjnca+iBOCg=="
      }
    ],
    "status": "created",
    "moment": "2025-04-02T05:10:31.817Z",
    "change": 1,
    "action": "create",
    "owners": [
      "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
    ],
    "labels": null
  },
  "data": {
    "handle": "studio",
    "access": [
      {
        "action": "any",
        "signer": {
          "$record": "owner"
        }
      },
      {
        "action": "read",
        "bearer": {
          "$signer": {
            "$record": "owner"
          }
        }
      }
    ],
    "values": [
      {
        "action": {
          "$in": [
            "read",
            "query"
          ]
        },
        "bearer": {
          "$signer": {
            "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
          }
        },
        "record": {
          "$in": [
            "ledger",
            "signer",
            "circle-signer",
            "circle"
          ]
        }
      },
      {
        "action": {
          "$in": [
            "read",
            "query"
          ]
        },
        "filter": {
          "handle": "member"
        },
        "record": "schema"
      },
      {
        "action": "create",
        "record": {
          "$in": [
            "signer-proof",
            "report-proof"
          ]
        },
        "signer": {
          "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
        }
      },
      {
        "action": "update",
        "record": "signer",
        "signer": {
          "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="
        }
      }
    ],
    "record": "any",
    "schema": "access"
  }
}
{
  "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=="
      }
    ]
  }
}

Drop a policy

POST
/policies/{id}/drop

Authorization

BearerAuth
AuthorizationBearer <token>

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

id*|

The unique identifier of the record - it is luid or handle (address).

Header Parameters

x-ledger?|

The unique identifier of ledger in context for multi tenant requests.

Request Body

application/json

Policy drop body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

text/plain

application/json

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:3000/v2/policies/admin/drop" \  -H "x-ledger: rtp-ledger" \  -H "Content-Type: application/json" \  -d '{    "data": {      "parent": "193e9f8fdfdce6b0ab19203011dede7dc51216235b7f7b3c2920e37eef0075f9"    },    "hash": "b8f478d31f1a8f161753e0a78128b097bf1876dd24de404193cad4e347d5e17c",    "luid": "$plc.-08478j6t_PTkU7Xe",    "meta": {      "proofs": [        {          "method": "ed25519-v2",          "public": "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck=",          "digest": "65af3595159da5ccddce35a989aa83d182bbe361b8d6fd7ce3b12fcff4ad72c7",          "result": "HU/pUMm9RGuvVjvH8ybcV3Lj97N/wgP8rN7DLMTrNFmrhLl70QWMpnzikvUs+kH12tvk7v0oCgONiglIb6dEDQ==",          "custom": {            "moment": "2025-04-02T05:10:33.895Z",            "reason": "Policy no longer needed",            "status": "dropped"          }        }      ],      "status": "created",      "owners": [        "gef6OID0o7ZFGTXutV62mh+zv5kgkFP3QLiR+N7syck="      ]    }  }'
""
{
  "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=="
      }
    ]
  }
}

On this page

No Headings