List schemas
Use this endpoint to review validation rules defined for a resource type, or find schemas by record type.
Supported filters:
data.record— target resource typedata.schema— schema identifiermeta.status— record statusmeta.labels— record labelsmeta.domain— domain scopedata.custom.<field>— any custom field (may be slower on large datasets)
Usage Examples
curl -X GET "http://localhost:3000/v2/schemas" \ -H "x-ledger: <YOUR LEDGER HANDLE>"{
"hash": "817c84806617f4a2b396d949e3db4d2ce9857ef41e67a7003a6bb5a40753cd9f",
"data": [
{
"luid": "$sch.-01xK8yZAB9kZ1DE0",
"hash": "4eefc033339bc5d1cee0f45156ac4d4854393985228429a913dcaae48040301c",
"data": {
"handle": "bank-wallet",
"format": "json-schema",
"schema": {
"type": "object",
"title": "Bank Wallet",
"required": [
"handle"
],
"properties": {
"handle": {
"type": "string",
"pattern": "^[a-z0-9.-]+$"
},
"custom": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Display name for the wallet"
},
"description": {
"type": "string",
"description": "Purpose or details of the wallet"
}
}
}
}
},
"record": "wallet"
},
"meta": {
"status": "created",
"moment": "2025-04-05T14:30:00.050Z",
"owners": [
"AN6XpZ7T8FDCkjbSpIVE2cioQ7hajp8DBTOioz/TSZ8="
],
"proofs": [
{
"signer": "ach-admin",
"method": "ed25519-v2",
"digest": "e04f4fdfd1f77d0b0bed97474f85d5bd8c8190546f7ca2bb20861b261832521c",
"public": "AN6XpZ7T8FDCkjbSpIVE2cioQ7hajp8DBTOioz/TSZ8=",
"result": "TAO9iluaI5QanY5xyQmTJQDajleny9gU8oyJtIAOob9UARbqmx+IgZ1fpeYlphikcluRfgMQy2BsPWB3WGFGDA==",
"custom": {
"moment": "2025-04-05T14:30:00.000Z",
"status": "created"
}
},
{
"signer": "system",
"method": "ed25519-v2",
"digest": "e81ed089c8edba16e21c216035a9c44e3dd6f82d960fde0015e5ce83dd803d1d",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "zRUUQuJo+gooqucUYWDlgoo2uTn9l6Dt7ucM+0XpVDwy/Uiu0hDVxmCWOQLoS+kcJCbMa6QuxLVK6B/9+6u4Bg==",
"custom": {
"luid": "$sch.-01xK8yZAB9kZ1DE0",
"moment": "2025-04-05T14:30:00.050Z",
"status": "created"
}
}
]
}
},
{
"luid": "$sch.-01xG06D0ykJJ2EF0",
"hash": "6ac0806374ec2f8fb6837f91e448328dc6259fc8bbb8999c432f33034eab2d28",
"data": {
"handle": "merchant-wallet",
"parent": "4eefc033339bc5d1cee0f45156ac4d4854393985228429a913dcaae48040301c",
"format": "json-schema",
"schema": {
"type": "object",
"title": "Merchant Wallet",
"required": [
"handle"
],
"properties": {
"handle": {
"type": "string"
},
"custom": {
"type": "object",
"properties": {
"merchantId": {
"type": "string",
"description": "Merchant identifier"
},
"category": {
"type": "string",
"description": "Business category"
}
}
}
}
},
"record": "wallet"
},
"meta": {
"status": "created",
"moment": "2025-04-05T14:21:40.025Z",
"owners": [
"AN6XpZ7T8FDCkjbSpIVE2cioQ7hajp8DBTOioz/TSZ8="
],
"proofs": [
{
"signer": "ach-admin",
"method": "ed25519-v2",
"digest": "0f088e7ac2b08e382e98dfb303096e755f7c5c11c58856e5870641a29d6097d6",
"public": "AN6XpZ7T8FDCkjbSpIVE2cioQ7hajp8DBTOioz/TSZ8=",
"result": "b7+AUDLNK++fmglPpiDPpHQGH7P162CL9/MZIKXh9AuJ84MCmiuk0RF006nol8Z9XvtgwUwgejphNlkVoy/+DQ==",
"custom": {
"moment": "2025-04-05T14:21:40.000Z",
"status": "created"
}
},
{
"signer": "system",
"method": "ed25519-v2",
"digest": "8c2685ef4d16a428f5cbb2e5d123983adb380611ffe008862ec7ffc583424c43",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "VhZ9M4rQurNmK92qzep2c5CvWA8rx8l9ZFfCp2VCQuuoEGn9YjwupZ4xZ12kN4fmQ3XPUtJlL6S1nSakDcCxAg==",
"custom": {
"luid": "$sch.-01xG06D0ykJJ2EF0",
"moment": "2025-04-05T14:21:40.025Z",
"status": "created"
}
}
]
}
}
],
"page": {
"index": 0,
"limit": 20
},
"meta": {
"proofs": [
{
"signer": "system",
"method": "ed25519-v2",
"digest": "3b89ba313042ee63c5414b6653172ef531000083d6c53c1896c6b3db7f484e63",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "6vmNAHZpWBoi7Vl2oKwrJrb9w/eeuEkHA7l1iAiKBKAuF7EeqkjAyqYmTptxbMtwmA4ZP2t1oC45oUc0YX/EAw==",
"custom": {
"moment": "2025-04-05T14:30:00.100Z"
}
}
]
}
}{
"hash": "b7eb7ccf5ffc126951e13e29a8dcfdaf95db859715d4edfc2d16f59a79d4cd58",
"data": {
"reason": "auth.unauthorized",
"detail": "Invalid token."
},
"meta": {
"proofs": [
{
"signer": "system",
"method": "ed25519-v2",
"digest": "3acece870c4118bfe4223118e4d2f3cfd5b8947a7093785b66d49aa57fa2890a",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "gnK63DqqWDY/UXvnZHixDKPKS6tfeGHgdARylnPiJLwQGyYxuD97TYbSg2wrzsf/bDrHwQYZaf8Gu5ryYP0UAA==",
"custom": {
"moment": "2025-04-05T14:30:00.000Z"
}
}
]
}
}{
"hash": "9ec02726b50650add8acfd124c6defeb978a9ac252a5de888f9493ddc701e927",
"data": {
"reason": "auth.forbidden",
"detail": "Request is not authorized"
},
"meta": {
"proofs": [
{
"signer": "system",
"method": "ed25519-v2",
"digest": "4f8cbdc38d73348de0c31805c783c84a0fecc6be736d7e187004ba68cd00e675",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "P3hRnveehtuobb4AIO56XBmiduvmYJbpdmOHltG/IifBEH7QSWdv/0pqled4SO9x1Ne3oXuWxJy40DzMvx1MBA==",
"custom": {
"moment": "2025-04-05T14:30:00.000Z"
}
}
]
}
}{
"hash": "bd1e78b47e837376b7994e3e481aa547c110c4d6a1c1d8ecd047cc465edd33bd",
"data": {
"reason": "api.request-timeout",
"detail": "Processing of request on server timed out. Your request may or may not have been processed."
},
"meta": {
"proofs": [
{
"signer": "system",
"method": "ed25519-v2",
"digest": "cdf5b09c809ec52934cd76ca3b0aa59310049e3cae8b171aee3cf9e0f98bddb2",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "6h1lhq3TOccWrfIdtOa9pkz9pIHVAN9tyXuNaucvLpbspWACog6HpSAdr0FSwGzn0zAKwx8YppGOVjFhfeBLBw==",
"custom": {
"moment": "2025-04-05T14:30:00.000Z"
}
}
]
}
}{
"hash": "1c084e8dcfb9bb84bc8ea96e9e137b149a34b2bbd85f8e60b4263f5aba980476",
"data": {
"custom": {
"errors": [
{
"instancePath": "/handle",
"schemaPath": "#/properties/handle/pattern",
"keyword": "pattern",
"params": {
"pattern": "^[a-zA-Z0-9_\\-+.]+$"
},
"message": "must match pattern \"^[a-zA-Z0-9_\\-+.]+$\""
}
]
},
"reason": "record.schema-invalid",
"detail": "Schema validator error: data.handle must match pattern \"^[a-zA-Z0-9_\\-+.]+$\""
},
"meta": {
"proofs": [
{
"signer": "system",
"method": "ed25519-v2",
"digest": "7a5febb431719b6f43d7e88e79211308e16ac651b71b339276373fdb4e7c3760",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "2/1zYw4AaIzsIHfOIC6V/CHw6owbjYHt48cwmFOig0ibeT0IbojLmj1RCRi8W00ka0udPa9WsacWDd7ObMY8CA==",
"custom": {
"moment": "2025-04-05T14:30:00.000Z"
}
}
]
}
}{
"hash": "93a5f4d97a42c2df97f827c58ff7768d02568c15aca931e22b81fa3160ba0df3",
"data": {
"reason": "api.unexpected-error",
"detail": "An unexpected error occurred"
},
"meta": {
"proofs": [
{
"signer": "system",
"method": "ed25519-v2",
"digest": "efaf5360143b586917d9636779ad6e08571c5b06909a20dd0f5eba4bf3be7eae",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "hERh6Aecj59iR+Fb25OQsHJScOi4t8EiffKSfjlMQdjHMccTnfDlgZFdaJzXzUtpSwy/NHq0l+7ydh3HSWCoAg==",
"custom": {
"moment": "2025-04-05T14:30:00.000Z"
}
}
]
}
}Query Parameters
Pagination options. Set limit and index to page through results.
Query by record type
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
Create schema POST
Once the first schema for a resource type is created, all new records of that type must reference a valid schema. Existing records remain valid until updated, at which point they must conform to a valid schema. Schemas use JSON Schema format and support standard features including type constraints, `required` fields, `oneOf`/`anyOf` composition, `$ref` references, and `enum` values. Broadcasts the `schema-created` signal. Use [effects](/ledger/reference/api/effect) to subscribe.
Get schema GET
Next Page