diff --git a/.prettierrc b/.prettierrc index c0725564..518817c3 100644 --- a/.prettierrc +++ b/.prettierrc @@ -2,7 +2,7 @@ "printWidth": 80, "arrowParens": "avoid", "bracketSpacing": true, - "singleQuote": true, + "singleQuote": false, "semi": true, "trailingComma": "all", "tabWidth": 2, diff --git a/.vscode/settings.json b/.vscode/settings.json index 9ee81f5e..97278eb4 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,6 @@ { "cSpell.words": [ + "autobanned", "Bdatum", "Bech", "blockfrost", @@ -17,12 +18,16 @@ "nutlink", "Ogmios", "openapi", + "overusage", "redoc", "redocly", "tbody", "timelock", "UTXO", "utxos", - "xpub" + "xpub", + "drep", + "dreps", + "ipfs" ] } diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a001892..ef597092 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,12 @@ Unreleased changes are in the `master` branch. ## [Unreleased] +## [0.1.6%] - XXXX-XX-XX + +### Added + +- CIP-1964 support + ## [0.1.64] - 2024-06-27 ### Added diff --git a/json-schema.json b/json-schema.json index 000b4f4a..329e5b6b 100644 --- a/json-schema.json +++ b/json-schema.json @@ -1 +1,13510 @@ -{"/":{"response":{"200":{"type":"object","properties":{"url":{"type":"string","example":"https://blockfrost.io/"},"version":{"type":"string","example":"0.1.0"}},"required":["url","version"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/health":{"response":{"200":{"type":"object","properties":{"is_healthy":{"type":"boolean","example":true}},"required":["is_healthy"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/health/clock":{"response":{"200":{"type":"object","properties":{"server_time":{"type":"integer","format":"int64","example":1603400958947}},"required":["server_time"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/blocks/latest":{"response":{"200":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/blocks/latest/txs":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the transaction"},"example":["8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b","4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036","52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f","e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/blocks/{hash_or_number}":{"response":{"200":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash_or_number":{"type":"string"}}}},"/blocks/{hash_or_number}/next":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"hash_or_number":{"type":"string"}}}},"/blocks/{hash_or_number}/previous":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"hash_or_number":{"type":"string"}}}},"/blocks/slot/{slot_number}":{"response":{"200":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"slot_number":{"type":"integer"}}}},"/blocks/epoch/{epoch_number}/slot/{slot_number}":{"response":{"200":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"epoch_number":{"type":"integer"},"slot_number":{"type":"integer"}}}},"/blocks/{hash_or_number}/txs":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the transaction"},"example":["8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b","4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036","52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f","e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"hash_or_number":{"type":"string"}}}},"/blocks/{hash_or_number}/addresses":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Address that was affected in the specified block"},"transactions":{"type":"array","description":"List of transactions containing the address either in their inputs or outputs. Sorted by transaction index within a block, ascending.","items":{"type":"object","properties":{"tx_hash":{"type":"string"}},"required":["tx_hash"]}}},"required":["address","transactions"]},"example":[{"address":"addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv","transactions":[{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0"}]},{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","transactions":[{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157d0"}]}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"hash_or_number":{"type":"string"}}}},"/genesis":{"response":{"200":{"type":"object","properties":{"active_slots_coefficient":{"type":"number","example":0.05,"description":"The proportion of slots in which blocks should be issued"},"update_quorum":{"type":"integer","example":5,"description":"Determines the quorum needed for votes on the protocol parameter updates"},"max_lovelace_supply":{"type":"string","example":"45000000000000000","description":"The total number of lovelace in the system"},"network_magic":{"type":"integer","example":764824073,"description":"Network identifier"},"epoch_length":{"type":"integer","example":432000,"description":"Number of slots in an epoch"},"system_start":{"type":"integer","example":1506203091,"description":"Time of slot 0 in UNIX time"},"slots_per_kes_period":{"type":"integer","example":129600,"description":"Number of slots in an KES period"},"slot_length":{"type":"integer","example":1,"description":"Duration of one slot in seconds"},"max_kes_evolutions":{"type":"integer","example":62,"description":"The maximum number of time a KES key can be evolved before a pool operator must create a new operational certificate"},"security_param":{"type":"integer","example":2160,"description":"Security parameter k"}},"required":["active_slots_coefficient","update_quorum","max_lovelace_supply","network_magic","epoch_length","system_start","slots_per_kes_period","slot_length","max_kes_evolutions","security_param"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/epochs/latest":{"response":{"200":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"start_time":{"type":"integer","example":1603403091,"description":"Unix time of the start of the epoch"},"end_time":{"type":"integer","example":1603835086,"description":"Unix time of the end of the epoch"},"first_block_time":{"type":"integer","example":1603403092,"description":"Unix time of the first block of the epoch"},"last_block_time":{"type":"integer","example":1603835084,"description":"Unix time of the last block of the epoch"},"block_count":{"type":"integer","example":21298,"description":"Number of blocks within the epoch"},"tx_count":{"type":"integer","example":17856,"description":"Number of transactions within the epoch"},"output":{"type":"string","example":"7849943934049314","description":"Sum of all the transactions within the epoch in Lovelaces"},"fees":{"type":"string","example":"4203312194","description":"Sum of all the fees within the epoch in Lovelaces"},"active_stake":{"type":"string","nullable":true,"example":"784953934049314","description":"Sum of all the active stakes within the epoch in Lovelaces"}},"required":["epoch","start_time","end_time","first_block_time","last_block_time","block_count","tx_count","output","fees","active_stake"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/epochs/latest/parameters":{"response":{"200":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"min_fee_a":{"type":"integer","example":44,"description":"The linear factor for the minimum fee calculation for given epoch"},"min_fee_b":{"type":"integer","example":155381,"description":"The constant factor for the minimum fee calculation"},"max_block_size":{"type":"integer","example":65536,"description":"Maximum block body size in Bytes"},"max_tx_size":{"type":"integer","example":16384,"description":"Maximum transaction size"},"max_block_header_size":{"type":"integer","example":1100,"description":"Maximum block header size"},"key_deposit":{"type":"string","example":"2000000","description":"The amount of a key registration deposit in Lovelaces"},"pool_deposit":{"type":"string","example":"500000000","description":"The amount of a pool registration deposit in Lovelaces"},"e_max":{"type":"integer","example":18,"description":"Epoch bound on pool retirement"},"n_opt":{"type":"integer","example":150,"description":"Desired number of pools"},"a0":{"type":"number","example":0.3,"description":"Pool pledge influence"},"rho":{"type":"number","example":0.003,"description":"Monetary expansion"},"tau":{"type":"number","example":0.2,"description":"Treasury expansion"},"decentralisation_param":{"type":"number","example":0.5,"description":"Percentage of blocks produced by federated nodes"},"extra_entropy":{"type":"string","nullable":true,"example":null,"description":"Seed for extra entropy"},"protocol_major_ver":{"type":"integer","example":2,"description":"Accepted protocol major version"},"protocol_minor_ver":{"type":"integer","example":0,"description":"Accepted protocol minor version"},"min_utxo":{"type":"string","example":"1000000","description":"Minimum UTXO value. Use `coins_per_utxo_size` for Alonzo and later eras","deprecated":true},"min_pool_cost":{"type":"string","example":"340000000","description":"Minimum stake cost forced on the pool"},"nonce":{"type":"string","example":"1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81","description":"Epoch number only used once"},"cost_models":{"additionalProperties":true,"type":"object","nullable":true,"example":{"PlutusV1":{"addInteger-cpu-arguments-intercept":197209,"addInteger-cpu-arguments-slope":0},"PlutusV2":{"addInteger-cpu-arguments-intercept":197209,"addInteger-cpu-arguments-slope":0}},"description":"Cost models parameters for Plutus Core scripts"},"price_mem":{"type":"number","nullable":true,"example":0.0577,"description":"The per word cost of script memory usage"},"price_step":{"type":"number","nullable":true,"example":0.0000721,"description":"The cost of script execution step usage"},"max_tx_ex_mem":{"type":"string","nullable":true,"example":"10000000","description":"The maximum number of execution memory allowed to be used in a single transaction"},"max_tx_ex_steps":{"type":"string","nullable":true,"example":"10000000000","description":"The maximum number of execution steps allowed to be used in a single transaction"},"max_block_ex_mem":{"type":"string","nullable":true,"example":"50000000","description":"The maximum number of execution memory allowed to be used in a single block"},"max_block_ex_steps":{"type":"string","nullable":true,"example":"40000000000","description":"The maximum number of execution steps allowed to be used in a single block"},"max_val_size":{"type":"string","nullable":true,"example":"5000","description":"The maximum Val size"},"collateral_percent":{"type":"integer","nullable":true,"example":150,"description":"The percentage of the transactions fee which must be provided as collateral when including non-native scripts"},"max_collateral_inputs":{"type":"integer","nullable":true,"example":3,"description":"The maximum number of collateral inputs allowed in a transaction"},"coins_per_utxo_size":{"type":"string","nullable":true,"example":"34482","description":"Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later."},"coins_per_utxo_word":{"type":"string","nullable":true,"example":"34482","description":"Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later.","deprecated":true}},"required":["epoch","min_fee_a","min_fee_b","max_block_size","max_tx_size","max_block_header_size","key_deposit","pool_deposit","e_max","n_opt","a0","rho","tau","decentralisation_param","extra_entropy","protocol_major_ver","protocol_minor_ver","min_utxo","min_pool_cost","nonce","cost_models","price_mem","price_step","max_tx_ex_mem","max_tx_ex_steps","max_block_ex_mem","max_block_ex_steps","max_val_size","collateral_percent","max_collateral_inputs","coins_per_utxo_size","coins_per_utxo_word"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/epochs/{number}":{"response":{"200":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"start_time":{"type":"integer","example":1603403091,"description":"Unix time of the start of the epoch"},"end_time":{"type":"integer","example":1603835086,"description":"Unix time of the end of the epoch"},"first_block_time":{"type":"integer","example":1603403092,"description":"Unix time of the first block of the epoch"},"last_block_time":{"type":"integer","example":1603835084,"description":"Unix time of the last block of the epoch"},"block_count":{"type":"integer","example":21298,"description":"Number of blocks within the epoch"},"tx_count":{"type":"integer","example":17856,"description":"Number of transactions within the epoch"},"output":{"type":"string","example":"7849943934049314","description":"Sum of all the transactions within the epoch in Lovelaces"},"fees":{"type":"string","example":"4203312194","description":"Sum of all the fees within the epoch in Lovelaces"},"active_stake":{"type":"string","nullable":true,"example":"784953934049314","description":"Sum of all the active stakes within the epoch in Lovelaces"}},"required":["epoch","start_time","end_time","first_block_time","last_block_time","block_count","tx_count","output","fees","active_stake"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/epochs/{number}/next":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"start_time":{"type":"integer","example":1603403091,"description":"Unix time of the start of the epoch"},"end_time":{"type":"integer","example":1603835086,"description":"Unix time of the end of the epoch"},"first_block_time":{"type":"integer","example":1603403092,"description":"Unix time of the first block of the epoch"},"last_block_time":{"type":"integer","example":1603835084,"description":"Unix time of the last block of the epoch"},"block_count":{"type":"integer","example":21298,"description":"Number of blocks within the epoch"},"tx_count":{"type":"integer","example":17856,"description":"Number of transactions within the epoch"},"output":{"type":"string","example":"7849943934049314","description":"Sum of all the transactions within the epoch in Lovelaces"},"fees":{"type":"string","example":"4203312194","description":"Sum of all the fees within the epoch in Lovelaces"},"active_stake":{"type":"string","nullable":true,"example":"784953934049314","description":"Sum of all the active stakes within the epoch in Lovelaces"}},"required":["epoch","start_time","end_time","first_block_time","last_block_time","block_count","tx_count","output","fees","active_stake"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/epochs/{number}/previous":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"start_time":{"type":"integer","example":1603403091,"description":"Unix time of the start of the epoch"},"end_time":{"type":"integer","example":1603835086,"description":"Unix time of the end of the epoch"},"first_block_time":{"type":"integer","example":1603403092,"description":"Unix time of the first block of the epoch"},"last_block_time":{"type":"integer","example":1603835084,"description":"Unix time of the last block of the epoch"},"block_count":{"type":"integer","example":21298,"description":"Number of blocks within the epoch"},"tx_count":{"type":"integer","example":17856,"description":"Number of transactions within the epoch"},"output":{"type":"string","example":"7849943934049314","description":"Sum of all the transactions within the epoch in Lovelaces"},"fees":{"type":"string","example":"4203312194","description":"Sum of all the fees within the epoch in Lovelaces"},"active_stake":{"type":"string","nullable":true,"example":"784953934049314","description":"Sum of all the active stakes within the epoch in Lovelaces"}},"required":["epoch","start_time","end_time","first_block_time","last_block_time","block_count","tx_count","output","fees","active_stake"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/epochs/{number}/stakes":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"stake_address":{"type":"string","example":"stake1u9l5q5jwgelgagzyt6nuaasefgmn8pd25c8e9qpeprq0tdcp0e3uk","description":"Stake address"},"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 prefix of the pool delegated to"},"amount":{"type":"string","example":"4440295078","description":"Amount of active delegated stake in Lovelaces"}},"required":["stake_address","pool_id","amount"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/epochs/{number}/stakes/{pool_id}":{"response":{"200":{"type":"array","items":{"properties":{"stake_address":{"type":"string","example":"stake1u9l5q5jwgelgagzyt6nuaasefgmn8pd25c8e9qpeprq0tdcp0e3uk","description":"Stake address"},"amount":{"type":"string","example":"4440295078","description":"Amount of active delegated stake in Lovelaces"}},"required":["stake_address","amount"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"number":{"type":"integer"},"pool_id":{"type":"string"}}}},"/epochs/{number}/blocks":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the block"},"example":["d0fa315687e99ccdc96b14cc2ea74a767405d64427b648c470731a9b69e4606e","38bc6efb92a830a0ed22a64f979d120d26483fd3c811f6622a8c62175f530878","f3258fcd8b975c061b4fcdcfcbb438807134d6961ec278c200151274893b6b7d"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/epochs/{number}/blocks/{pool_id}":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the block"},"example":["d0fa315687e99ccdc96b14cc2ea74a767405d64427b648c470731a9b69e4606e","38bc6efb92a830a0ed22a64f979d120d26483fd3c811f6622a8c62175f530878","f3258fcd8b975c061b4fcdcfcbb438807134d6961ec278c200151274893b6b7d"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"number":{"type":"integer"},"pool_id":{"type":"string"}}}},"/epochs/{number}/parameters":{"response":{"200":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"min_fee_a":{"type":"integer","example":44,"description":"The linear factor for the minimum fee calculation for given epoch"},"min_fee_b":{"type":"integer","example":155381,"description":"The constant factor for the minimum fee calculation"},"max_block_size":{"type":"integer","example":65536,"description":"Maximum block body size in Bytes"},"max_tx_size":{"type":"integer","example":16384,"description":"Maximum transaction size"},"max_block_header_size":{"type":"integer","example":1100,"description":"Maximum block header size"},"key_deposit":{"type":"string","example":"2000000","description":"The amount of a key registration deposit in Lovelaces"},"pool_deposit":{"type":"string","example":"500000000","description":"The amount of a pool registration deposit in Lovelaces"},"e_max":{"type":"integer","example":18,"description":"Epoch bound on pool retirement"},"n_opt":{"type":"integer","example":150,"description":"Desired number of pools"},"a0":{"type":"number","example":0.3,"description":"Pool pledge influence"},"rho":{"type":"number","example":0.003,"description":"Monetary expansion"},"tau":{"type":"number","example":0.2,"description":"Treasury expansion"},"decentralisation_param":{"type":"number","example":0.5,"description":"Percentage of blocks produced by federated nodes"},"extra_entropy":{"type":"string","nullable":true,"example":null,"description":"Seed for extra entropy"},"protocol_major_ver":{"type":"integer","example":2,"description":"Accepted protocol major version"},"protocol_minor_ver":{"type":"integer","example":0,"description":"Accepted protocol minor version"},"min_utxo":{"type":"string","example":"1000000","description":"Minimum UTXO value. Use `coins_per_utxo_size` for Alonzo and later eras","deprecated":true},"min_pool_cost":{"type":"string","example":"340000000","description":"Minimum stake cost forced on the pool"},"nonce":{"type":"string","example":"1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81","description":"Epoch number only used once"},"cost_models":{"additionalProperties":true,"type":"object","nullable":true,"example":{"PlutusV1":{"addInteger-cpu-arguments-intercept":197209,"addInteger-cpu-arguments-slope":0},"PlutusV2":{"addInteger-cpu-arguments-intercept":197209,"addInteger-cpu-arguments-slope":0}},"description":"Cost models parameters for Plutus Core scripts"},"price_mem":{"type":"number","nullable":true,"example":0.0577,"description":"The per word cost of script memory usage"},"price_step":{"type":"number","nullable":true,"example":0.0000721,"description":"The cost of script execution step usage"},"max_tx_ex_mem":{"type":"string","nullable":true,"example":"10000000","description":"The maximum number of execution memory allowed to be used in a single transaction"},"max_tx_ex_steps":{"type":"string","nullable":true,"example":"10000000000","description":"The maximum number of execution steps allowed to be used in a single transaction"},"max_block_ex_mem":{"type":"string","nullable":true,"example":"50000000","description":"The maximum number of execution memory allowed to be used in a single block"},"max_block_ex_steps":{"type":"string","nullable":true,"example":"40000000000","description":"The maximum number of execution steps allowed to be used in a single block"},"max_val_size":{"type":"string","nullable":true,"example":"5000","description":"The maximum Val size"},"collateral_percent":{"type":"integer","nullable":true,"example":150,"description":"The percentage of the transactions fee which must be provided as collateral when including non-native scripts"},"max_collateral_inputs":{"type":"integer","nullable":true,"example":3,"description":"The maximum number of collateral inputs allowed in a transaction"},"coins_per_utxo_size":{"type":"string","nullable":true,"example":"34482","description":"Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later."},"coins_per_utxo_word":{"type":"string","nullable":true,"example":"34482","description":"Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later.","deprecated":true}},"required":["epoch","min_fee_a","min_fee_b","max_block_size","max_tx_size","max_block_header_size","key_deposit","pool_deposit","e_max","n_opt","a0","rho","tau","decentralisation_param","extra_entropy","protocol_major_ver","protocol_minor_ver","min_utxo","min_pool_cost","nonce","cost_models","price_mem","price_step","max_tx_ex_mem","max_tx_ex_steps","max_block_ex_mem","max_block_ex_steps","max_val_size","collateral_percent","max_collateral_inputs","coins_per_utxo_size","coins_per_utxo_word"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/txs/{hash}":{"response":{"200":{"type":"object","properties":{"hash":{"type":"string","example":"1e043f100dce12d107f679685acd2fc0610e10f72a92d412794c9773d11d8477","description":"Transaction hash"},"block":{"type":"string","example":"356b7d7dbb696ccd12775c016941057a9dc70898d87a63fc752271bb46856940","description":"Block hash"},"block_height":{"type":"integer","example":123456,"description":"Block number"},"block_time":{"type":"integer","example":1635505891,"description":"Block creation time in UNIX time"},"slot":{"type":"integer","example":42000000,"description":"Slot number"},"index":{"type":"integer","example":1,"description":"Transaction index within the block"},"output_amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"fees":{"type":"string","example":"182485","description":"Fees of the transaction in Lovelaces"},"deposit":{"type":"string","example":"0","description":"Deposit within the transaction in Lovelaces"},"size":{"type":"integer","example":433,"description":"Size of the transaction in Bytes"},"invalid_before":{"type":"string","nullable":true,"example":null,"description":"Left (included) endpoint of the timelock validity intervals"},"invalid_hereafter":{"type":"string","nullable":true,"example":"13885913","description":"Right (excluded) endpoint of the timelock validity intervals"},"utxo_count":{"type":"integer","example":4,"description":"Count of UTXOs within the transaction"},"withdrawal_count":{"type":"integer","example":0,"description":"Count of the withdrawals within the transaction"},"mir_cert_count":{"type":"integer","example":0,"description":"Count of the MIR certificates within the transaction"},"delegation_count":{"type":"integer","example":0,"description":"Count of the delegations within the transaction"},"stake_cert_count":{"type":"integer","example":0,"description":"Count of the stake keys (de)registration within the transaction"},"pool_update_count":{"type":"integer","example":0,"description":"Count of the stake pool registration and update certificates within the transaction"},"pool_retire_count":{"type":"integer","example":0,"description":"Count of the stake pool retirement certificates within the transaction"},"asset_mint_or_burn_count":{"type":"integer","example":0,"description":"Count of asset mints and burns within the transaction"},"redeemer_count":{"type":"integer","example":0,"description":"Count of redeemers within the transaction"},"valid_contract":{"type":"boolean","example":true,"description":"True if contract script passed validation"}},"required":["hash","block","block_height","block_time","slot","index","output_amount","fees","deposit","size","invalid_before","invalid_hereafter","utxo_count","withdrawal_count","mir_cert_count","delegation_count","stake_cert_count","pool_update_count","pool_retire_count","asset_mint_or_burn_count","redeemer_count","valid_contract"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/utxos":{"response":{"200":{"type":"object","properties":{"hash":{"type":"string","example":"1e043f100dce12d107f679685acd2fc0610e10f72a92d412794c9773d11d8477","description":"Transaction hash"},"inputs":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","example":"addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv","description":"Input address"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"tx_hash":{"type":"string","example":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0","description":"Hash of the UTXO transaction"},"output_index":{"type":"integer","example":0,"description":"UTXO index in the transaction"},"data_hash":{"type":"string","nullable":true,"description":"The hash of the transaction output datum","example":"9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710"},"inline_datum":{"type":"string","nullable":true,"description":"CBOR encoded inline datum","example":"19a6aa"},"reference_script_hash":{"type":"string","nullable":true,"description":"The hash of the reference script of the input","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"},"collateral":{"type":"boolean","example":false,"description":"Whether the input is a collateral consumed on script validation failure"},"reference":{"type":"boolean","example":false,"description":"Whether the input is a reference transaction input"}},"required":["address","amount","tx_hash","output_index","data_hash","inline_datum","reference_script_hash","collateral"]}},"outputs":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","example":"addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv","description":"Output address"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"output_index":{"type":"integer","example":0,"description":"UTXO index in the transaction"},"data_hash":{"type":"string","nullable":true,"description":"The hash of the transaction output datum","example":"9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710"},"inline_datum":{"type":"string","nullable":true,"description":"CBOR encoded inline datum","example":"19a6aa"},"collateral":{"type":"boolean","example":false,"description":"Whether the output is a collateral output"},"reference_script_hash":{"type":"string","nullable":true,"description":"The hash of the reference script of the output","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"}},"required":["address","amount","output_index","data_hash","inline_datum","collateral","reference_script_hash"]}}},"required":["hash","inputs","outputs"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/stakes":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"cert_index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction"},"address":{"type":"string","example":"stake1u9t3a0tcwune5xrnfjg4q7cpvjlgx9lcv0cuqf5mhfjwrvcwrulda","description":"Delegation stake address"},"registration":{"type":"boolean","example":true,"description":"Registration boolean, false if deregistration"}},"required":["cert_index","address","registration"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/delegations":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction","deprecated":true},"cert_index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction"},"address":{"type":"string","example":"stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc","description":"Bech32 delegation stake address"},"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 ID of delegated stake pool"},"active_epoch":{"type":"integer","example":210,"description":"Epoch in which the delegation becomes active"}},"required":["index","cert_index","address","pool_id","active_epoch"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/withdrawals":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","example":"stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc","description":"Bech32 withdrawal address"},"amount":{"type":"string","example":"431833601","description":"Withdrawal amount in Lovelaces"}},"required":["address","amount"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/mirs":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"pot":{"type":"string","enum":["reserve","treasury"],"example":"reserve","description":"Source of MIR funds"},"cert_index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction"},"address":{"type":"string","example":"stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc","description":"Bech32 stake address"},"amount":{"type":"string","example":"431833601","description":"MIR amount in Lovelaces"}},"required":["pot","cert_index","address","amount"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/pool_updates":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"cert_index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction"},"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 encoded pool ID"},"vrf_key":{"type":"string","example":"0b5245f9934ec2151116fb8ec00f35fd00e0aa3b075c4ed12cce440f999d8233","description":"VRF key hash"},"pledge":{"type":"string","example":"5000000000","description":"Stake pool certificate pledge in Lovelaces"},"margin_cost":{"type":"number","example":0.05,"description":"Margin tax cost of the stake pool"},"fixed_cost":{"type":"string","example":"340000000","description":"Fixed tax cost of the stake pool in Lovelaces"},"reward_account":{"type":"string","example":"stake1uxkptsa4lkr55jleztw43t37vgdn88l6ghclfwuxld2eykgpgvg3f","description":"Bech32 reward account of the stake pool"},"owners":{"type":"array","items":{"type":"string","description":"Bech32 accounts of the pool owners"},"example":["stake1u98nnlkvkk23vtvf9273uq7cph5ww6u2yq2389psuqet90sv4xv9v"]},"metadata":{"type":"object","nullable":true,"properties":{"url":{"type":"string","nullable":true,"example":"https://stakenuts.com/mainnet.json","description":"URL to the stake pool metadata"},"hash":{"type":"string","nullable":true,"example":"47c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c","description":"Hash of the metadata file"},"ticker":{"type":"string","nullable":true,"example":"NUTS","description":"Ticker of the stake pool"},"name":{"type":"string","nullable":true,"example":"Stake Nuts","description":"Name of the stake pool"},"description":{"type":"string","nullable":true,"example":"The best pool ever","description":"Description of the stake pool"},"homepage":{"type":"string","nullable":true,"example":"https://stakentus.com/","description":"Home page of the stake pool"}},"required":["url","hash","ticker","name","description","homepage"]},"relays":{"type":"array","items":{"type":"object","properties":{"ipv4":{"type":"string","nullable":true,"example":"4.4.4.4","description":"IPv4 address of the relay"},"ipv6":{"type":"string","nullable":true,"example":"https://stakenuts.com/mainnet.json","description":"IPv6 address of the relay"},"dns":{"type":"string","nullable":true,"example":"relay1.stakenuts.com","description":"DNS name of the relay"},"dns_srv":{"type":"string","nullable":true,"example":"_relays._tcp.relays.stakenuts.com","description":"DNS SRV entry of the relay"},"port":{"type":"integer","example":3001,"description":"Network port of the relay"}},"required":["ipv4","ipv6","dns","dns_srv","port"]}},"active_epoch":{"type":"integer","example":210,"description":"Epoch in which the update becomes active"}},"required":["cert_index","pool_id","vrf_key","pledge","margin_cost","fixed_cost","reward_account","owners","metadata","relays","active_epoch"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/pool_retires":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"cert_index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction"},"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 stake pool ID"},"retiring_epoch":{"type":"integer","example":216,"description":"Epoch in which the pool becomes retired"}},"required":["cert_index","pool_id","retiring_epoch"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/metadata":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"json_metadata":{}},"required":["label","json_metadata"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/metadata/cbor":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"Metadata label"},"cbor_metadata":{"deprecated":true,"type":"string","nullable":true,"description":"Content of the CBOR metadata"},"metadata":{"type":"string","nullable":true,"description":"Content of the CBOR metadata in hex"}},"required":["label","cbor_metadata","metadata"]},"example":[{"label":"1968","cbor_metadata":"\\xa100a16b436f6d62696e6174696f6e8601010101010c","metadata":"a100a16b436f6d62696e6174696f6e8601010101010c"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/redeemers":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_index":{"type":"integer","example":0,"description":"Index of the redeemer within the transaction"},"purpose":{"type":"string","enum":["spend","mint","cert","reward"],"example":"spend","description":"Validation purpose"},"script_hash":{"type":"string","example":"ec26b89af41bef0f7585353831cb5da42b5b37185e0c8a526143b824","description":"Script hash"},"redeemer_data_hash":{"type":"string","example":"923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec","description":"Redeemer data hash"},"datum_hash":{"type":"string","example":"923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec","deprecated":true,"description":"Datum hash"},"unit_mem":{"type":"string","example":"1700","description":"The budget in Memory to run a script"},"unit_steps":{"type":"string","example":"476468","description":"The budget in CPU steps to run a script"},"fee":{"type":"string","example":"172033","description":"The fee consumed to run the script"}},"required":["tx_index","purpose","unit_mem","unit_steps","script_hash","redeemer_data_hash","datum_hash","fee"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/required_signers":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"witness_hash":{"type":"string","example":"d52e11f3e48436dd42dbec6d88c239732e503b8b7a32af58e5f87625","description":"Hash of the witness"}},"required":["witness_hash"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/cbor":{"response":{"200":{"type":"object","properties":{"cbor":{"type":"string","description":"CBOR serialized transaction"}},"required":["cbor"],"example":{"cbor":"84a40081825820203e5b61e0949ffc8fe594727cf7ed73c7396cc2bd212af9a680c9423b5880eb00018282583900f0c60254ecb0addd4c7e40c28fd05b65014ab4c8ecece06c7dcee5a0724bf93336a8225e7ef152b41aea955173be91af19250edea1ddafab1a000f42408258390014beadb876d0a2a593fe2f1b539389e00731290910170e9a1be78e847d2ccdc7af469706878018739bcfde9ae23f009c4ae38aee0a4b4f3a1b0000000253fa0f93021a0002922d031a0303c827a100818258207d3ae39f9a1c916ac7c13f10c7d67c70b870c286a1af71485455c5022a3f391d5840e2f481acd1601a3f39fa976317bba685ddd774621a92611edaaa3df9f48a3b13d8b25ecb2f28b031c1602512418efed3033e463a0dcd22a856c808033cc9e00ff5f6"}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/tx/submit":{"response":{"200":{"type":"string","format":"hex","minLength":64,"maxLength":64,"example":"d1662b24fa9fe985fc2dce47455df399cb2e31e1e1819339e885801cc3578908"},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"425":{"type":"object","properties":{"status_code":{"type":"integer","example":425},"error":{"type":"string","example":"Mempool Full"},"message":{"type":"string","example":"Mempool is full, please try resubmitting again later."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/accounts/{stake_address}":{"response":{"200":{"type":"object","properties":{"stake_address":{"type":"string","example":"stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7","description":"Bech32 stake address"},"active":{"type":"boolean","example":true,"description":"Registration state of an account"},"active_epoch":{"type":"integer","nullable":true,"example":412,"description":"Epoch of the most recent action - registration or deregistration"},"controlled_amount":{"type":"string","example":"619154618165","description":"Balance of the account in Lovelaces"},"rewards_sum":{"type":"string","example":"319154618165","description":"Sum of all rewards for the account in the Lovelaces"},"withdrawals_sum":{"type":"string","example":"12125369253","description":"Sum of all the withdrawals for the account in Lovelaces"},"reserves_sum":{"type":"string","example":"319154618165","description":"Sum of all funds from reserves for the account in the Lovelaces"},"treasury_sum":{"type":"string","example":"12000000","description":"Sum of all funds from treasury for the account in the Lovelaces"},"withdrawable_amount":{"type":"string","example":"319154618165","description":"Sum of available rewards that haven't been withdrawn yet for the account in the Lovelaces"},"pool_id":{"type":"string","nullable":true,"example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 pool ID that owns the account"}},"required":["stake_address","active","active_epoch","controlled_amount","rewards_sum","withdrawals_sum","reserves_sum","treasury_sum","withdrawable_amount","pool_id"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/rewards":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"epoch":{"type":"integer","description":"Epoch of the associated reward"},"amount":{"type":"string","description":"Rewards for given epoch in Lovelaces"},"pool_id":{"type":"string","description":"Bech32 pool ID being delegated to"},"type":{"type":"string","enum":["leader","member","pool_deposit_refund"],"description":"Type of the reward"}},"required":["epoch","amount","pool_id","type"]},"example":[{"epoch":215,"amount":"12695385","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","type":"member"},{"epoch":216,"amount":"3586329","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","type":"member"},{"epoch":217,"amount":"1","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","type":"member"},{"epoch":217,"amount":"1337","pool_id":"pool1cytwr0n7eas6du2h2xshl8ypa1yqr18f0erlhhjcuczysiunjcs","type":"leader"},{"epoch":218,"amount":"1395265","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","type":"member"},{"epoch":218,"amount":"500000000","pool_id":"pool1cytwr0n7eas6du2h2xshl8ypa1yqr18f0erlhhjcuczysiunjcs","type":"pool_deposit_refund"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/history":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"active_epoch":{"type":"integer","example":210,"description":"Epoch in which the stake was active"},"amount":{"type":"string","description":"Stake amount in Lovelaces"},"pool_id":{"type":"string","description":"Bech32 ID of pool being delegated to"}},"required":["active_epoch","amount","pool_id"]},"example":[{"active_epoch":210,"amount":"12695385","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy"},{"active_epoch":211,"amount":"22695385","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/delegations":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"active_epoch":{"type":"integer","example":210,"description":"Epoch in which the delegation becomes active"},"tx_hash":{"type":"string","description":"Hash of the transaction containing the delegation"},"amount":{"type":"string","description":"Rewards for given epoch in Lovelaces"},"pool_id":{"type":"string","description":"Bech32 ID of pool being delegated to"}},"required":["active_epoch","tx_hash","amount","pool_id"]},"example":[{"active_epoch":210,"tx_hash":"2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531","amount":"12695385","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy"},{"active_epoch":242,"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0","amount":"12691385","pool_id":"pool1kchver88u3kygsak8wgll7htr8uxn5v35lfrsyy842nkscrzyvj"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/registrations":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction containing the (de)registration certificate"},"action":{"type":"string","enum":["registered","deregistered"],"description":"Action in the certificate"}},"required":["tx_hash","action"]},"example":[{"tx_hash":"2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531","action":"registered"},{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0","action":"deregistered"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/withdrawals":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction containing the withdrawal"},"amount":{"type":"string","description":"Withdrawal amount in Lovelaces"}},"required":["tx_hash","amount"]},"example":[{"tx_hash":"48a9625c841eea0dd2bb6cf551eabe6523b7290c9ce34be74eedef2dd8f7ecc5","amount":"454541212442"},{"tx_hash":"4230b0cbccf6f449f0847d8ad1d634a7a49df60d8c142bb8cc2dbc8ca03d9e34","amount":"97846969"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/mirs":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction containing the MIR"},"amount":{"type":"string","description":"MIR amount in Lovelaces"}},"required":["tx_hash","amount"]},"example":[{"tx_hash":"69705bba1d687a816ff5a04ec0c358a1f1ef075ab7f9c6cc2763e792581cec6d","amount":"2193707473"},{"tx_hash":"baaa77b63d4d7d2bb3ab02c9b85978c2092c336dede7f59e31ad65452d510c13","amount":"14520198574"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/addresses":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Address associated with the stake key"}},"required":["address"]},"example":[{"address":"addr1qx2kd28nq8ac5prwg32hhvudlwggpgfp8utlyqxu6wqgz62f79qsdmm5dsknt9ecr5w468r9ey0fxwkdrwh08ly3tu9sy0f4qd"},{"address":"addr1qys3czp8s9thc6u2fqed9yq3h24nyw28uk0m6mkgn9dkckjf79qsdmm5dsknt9ecr5w468r9ey0fxwkdrwh08ly3tu9suth4w4"},{"address":"addr1q8j55h253zcvl326sk5qdt2n8z7eghzspe0ekxgncr796s2f79qsdmm5dsknt9ecr5w468r9ey0fxwkdrwh08ly3tu9sjmd35m"},{"address":"addr1q8f7gxrprank3drhx8k5grlux7ene0nlwun8y9thu8mc3yjf79qsdmm5dsknt9ecr5w468r9ey0fxwkdrwh08ly3tu9sls6vnt"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/addresses/assets":{"response":{"200":{"type":"array","items":{"type":"object","description":"The sum of all assets of all addresses associated with a given account","properties":{"unit":{"type":"string","format":"Concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"d5e6bf0500378d4f0da4e8dde6becec7621cd8cbf5cbb9b87013d4cc537061636542756433343132","quantity":"1"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"125"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/addresses/total":{"response":{"200":{"type":"object","properties":{"stake_address":{"type":"string","description":"Bech32 encoded stake address","example":"stake1u9l5q5jwgelgagzyt6nuaasefgmn8pd25c8e9qpeprq0tdcp0e3uk"},"received_sum":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset for all addresses associated with the account","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"sent_sum":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset for all addresses associated with the account","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"tx_count":{"type":"integer","example":12,"description":"Count of all transactions for all addresses associated with the account"}},"required":["stake_address","received_sum","sent_sum","tx_count"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/mempool":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction"}},"required":["tx_hash"]},"example":[{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/mempool/{hash}":{"response":{"200":{"type":"object","properties":{"tx":{"type":"object","properties":{"hash":{"type":"string","example":"1e043f100dce12d107f679685acd2fc0610e10f72a92d412794c9773d11d8477","description":"Transaction hash"},"output_amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"fees":{"type":"string","example":"182485","description":"Fees of the transaction in Lovelaces"},"deposit":{"type":"string","example":"0","description":"Deposit within the transaction in Lovelaces"},"size":{"type":"integer","example":433,"description":"Size of the transaction in Bytes"},"invalid_before":{"type":"string","nullable":true,"example":null,"description":"Left (included) endpoint of the timelock validity intervals"},"invalid_hereafter":{"type":"string","nullable":true,"example":"13885913","description":"Right (excluded) endpoint of the timelock validity intervals"},"utxo_count":{"type":"integer","example":4,"description":"Count of UTXOs within the transaction"},"withdrawal_count":{"type":"integer","example":0,"description":"Count of the withdrawals within the transaction"},"mir_cert_count":{"type":"integer","example":0,"description":"Count of the MIR certificates within the transaction"},"delegation_count":{"type":"integer","example":0,"description":"Count of the delegations within the transaction"},"stake_cert_count":{"type":"integer","example":0,"description":"Count of the stake keys (de)registration within the transaction"},"pool_update_count":{"type":"integer","example":0,"description":"Count of the stake pool registration and update certificates within the transaction"},"pool_retire_count":{"type":"integer","example":0,"description":"Count of the stake pool retirement certificates within the transaction"},"asset_mint_or_burn_count":{"type":"integer","example":0,"description":"Count of asset mints and burns within the transaction"},"redeemer_count":{"type":"integer","example":0,"description":"Count of redeemers within the transaction"},"valid_contract":{"type":"boolean","example":true,"description":"True if contract script passed validation"}},"required":["hash","output_amount","fees","deposit","size","invalid_before","invalid_hereafter","utxo_count","withdrawal_count","mir_cert_count","delegation_count","stake_cert_count","pool_update_count","pool_retire_count","asset_mint_or_burn_count","redeemer_count","valid_contract"]},"inputs":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","example":"addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv","description":"Input address"},"tx_hash":{"type":"string","example":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0","description":"Hash of the UTXO transaction"},"output_index":{"type":"integer","example":0,"description":"UTXO index in the transaction"},"collateral":{"type":"boolean","example":false,"description":"Whether the input is a collateral consumed on script validation failure"},"reference":{"type":"boolean","example":false,"description":"Whether the input is a reference transaction input"}},"required":["tx_hash","output_index","collateral"]}},"outputs":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","example":"addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv","description":"Output address"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"output_index":{"type":"integer","example":0,"description":"UTXO index in the transaction"},"data_hash":{"type":"string","nullable":true,"description":"The hash of the transaction output datum","example":"9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710"},"inline_datum":{"type":"string","nullable":true,"description":"CBOR encoded inline datum","example":"19a6aa"},"collateral":{"type":"boolean","example":false,"description":"Whether the output is a collateral output"},"reference_script_hash":{"type":"string","nullable":true,"description":"The hash of the reference script of the output","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"}},"required":["address","amount","output_index","data_hash","inline_datum","collateral","reference_script_hash"]}},"redeemers":{"type":"array","items":{"type":"object","properties":{"tx_index":{"type":"integer","example":0,"description":"Index of the redeemer within the transaction"},"purpose":{"type":"string","enum":["spend","mint","cert","reward"],"example":"spend","description":"Validation purpose"},"unit_mem":{"type":"string","example":"1700","description":"The budget in Memory to run a script"},"unit_steps":{"type":"string","example":"476468","description":"The budget in CPU steps to run a script"}},"required":["tx_index","purpose","unit_mem","unit_steps"]}}},"required":["tx","inputs","outputs"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/mempool/addresses/{address}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction"}},"required":["tx_hash"]},"example":[{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/metadata/txs/labels":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"Metadata label"},"cip10":{"type":"string","nullable":true,"description":"CIP10 defined description"},"count":{"type":"string","description":"The count of metadata entries with a specific label"}},"required":["label","cip10","count"]},"example":[{"label":"1990","cip10":null,"count":"1"},{"label":"1967","cip10":"nut.link metadata oracles registry","count":"3"},{"label":"1968","cip10":"nut.link metadata oracles data points","count":"16321"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/metadata/txs/labels/{label}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Transaction hash that contains the specific metadata"},"json_metadata":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":true},{"type":"array","items":{}},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}],"description":"Content of the JSON metadata"}},"required":["tx_hash","json_metadata"]},"example":[{"tx_hash":"257d75c8ddb0434e9b63e29ebb6241add2b835a307aa33aedba2effe09ed4ec8","json_metadata":{"ADAUSD":[{"value":"0.10409800535729975","source":"ergoOracles"}]}},{"tx_hash":"e865f2cc01ca7381cf98dcdc4de07a5e8674b8ea16e6a18e3ed60c186fde2b9c","json_metadata":{"ADAUSD":[{"value":"0.15409850555139935","source":"ergoOracles"}]}},{"tx_hash":"4237501da3cfdd53ade91e8911e764bd0699d88fd43b12f44a1f459b89bc91be","json_metadata":null}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"label":{"type":"string"}}}},"/metadata/txs/labels/{label}/cbor":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Transaction hash that contains the specific metadata"},"cbor_metadata":{"deprecated":true,"type":"string","nullable":true,"description":"Content of the CBOR metadata"},"metadata":{"type":"string","nullable":true,"description":"Content of the CBOR metadata in hex"}},"required":["tx_hash","cbor_metadata","metadata"]},"example":[{"tx_hash":"257d75c8ddb0434e9b63e29ebb6241add2b835a307aa33aedba2effe09ed4ec8","cbor_metadata":null,"metadata":null},{"tx_hash":"e865f2cc01ca7381cf98dcdc4de07a5e8674b8ea16e6a18e3ed60c186fde2b9c","cbor_metadata":null,"metadata":null},{"tx_hash":"4237501da3cfdd53ade91e8911e764bd0699d88fd43b12f44a1f459b89bc91be","cbor_metadata":"\\xa100a16b436f6d62696e6174696f6e8601010101010c","metadata":"a100a16b436f6d62696e6174696f6e8601010101010c"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"label":{"type":"string"}}}},"/addresses/{address}":{"response":{"200":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded addresses","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"stake_address":{"type":"string","nullable":true,"example":"stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7","description":"Stake address that controls the key"},"type":{"type":"string","enum":["byron","shelley"],"example":"shelley","description":"Address era"},"script":{"type":"boolean","example":false,"description":"True if this is a script address"}},"required":["address","amount","stake_address","type","script"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/addresses/{address}/extended":{"response":{"200":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded addresses","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"},"decimals":{"type":"integer","nullable":true,"description":"Number of decimal places of the asset unit. Primary data source is CIP68 reference NFT with a fallback to off-chain metadata."},"has_nft_onchain_metadata":{"type":"boolean","description":"True if the latest minting transaction includes metadata (best-effort)"}},"required":["unit","quantity","decimals","has_nft_onchain_metadata"]},"example":[{"unit":"lovelace","quantity":"42000000","decimals":6,"has_nft_onchain_metadata":false},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12","decimals":null,"has_nft_onchain_metadata":true}]},"stake_address":{"type":"string","nullable":true,"example":"stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7","description":"Stake address that controls the key"},"type":{"type":"string","enum":["byron","shelley"],"example":"shelley","description":"Address era"},"script":{"type":"boolean","example":false,"description":"True if this is a script address"}},"required":["address","amount","stake_address","type","script"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/addresses/{address}/total":{"response":{"200":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded address","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"received_sum":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"sent_sum":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"tx_count":{"type":"integer","example":12,"description":"Count of all transactions on the address"}},"required":["address","received_sum","sent_sum","tx_count"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/addresses/{address}/utxos":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded addresses - useful when querying by payment_cred","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"tx_hash":{"type":"string","description":"Transaction hash of the UTXO"},"tx_index":{"type":"integer","deprecated":true,"description":"UTXO index in the transaction"},"output_index":{"type":"integer","description":"UTXO index in the transaction"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]}},"block":{"type":"string","description":"Block hash of the UTXO"},"data_hash":{"type":"string","nullable":true,"description":"The hash of the transaction output datum"},"inline_datum":{"type":"string","nullable":true,"description":"CBOR encoded inline datum","example":"19a6aa"},"reference_script_hash":{"type":"string","nullable":true,"description":"The hash of the reference script of the output","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"}},"required":["address","tx_hash","tx_index","output_index","amount","block","data_hash","inline_datum","reference_script_hash"]},"example":[{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"39a7a284c2a0948189dc45dec670211cd4d72f7b66c5726c08d9b3df11e44d58","output_index":0,"amount":[{"unit":"lovelace","quantity":"42000000"}],"block":"7eb8e27d18686c7db9a18f8bbcfe34e3fed6e047afaa2d969904d15e934847e6","data_hash":"9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710","inline_datum":null,"reference_script_hash":null},{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"4c4e67bafa15e742c13c592b65c8f74c769cd7d9af04c848099672d1ba391b49","output_index":0,"amount":[{"unit":"lovelace","quantity":"729235000"}],"block":"953f1b80eb7c11a7ffcd67cbd4fde66e824a451aca5a4065725e5174b81685b7","data_hash":null,"inline_datum":null,"reference_script_hash":null},{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"768c63e27a1c816a83dc7b07e78af673b2400de8849ea7e7b734ae1333d100d2","output_index":1,"amount":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}],"block":"5c571f83fe6c784d3fbc223792627ccf0eea96773100f9aedecf8b1eda4544d7","data_hash":null,"inline_datum":null,"reference_script_hash":null}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/addresses/{address}/utxos/{asset}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded addresses - useful when querying by payment_cred","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"tx_hash":{"type":"string","description":"Transaction hash of the UTXO"},"tx_index":{"type":"integer","deprecated":true,"description":"UTXO index in the transaction"},"output_index":{"type":"integer","description":"UTXO index in the transaction"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]}},"block":{"type":"string","description":"Block hash of the UTXO"},"data_hash":{"type":"string","nullable":true,"description":"The hash of the transaction output datum"},"inline_datum":{"type":"string","nullable":true,"description":"CBOR encoded inline datum","example":"19a6aa"},"reference_script_hash":{"type":"string","nullable":true,"description":"The hash of the reference script of the output","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"}},"required":["address","tx_hash","tx_index","output_index","amount","block","data_hash","inline_datum","reference_script_hash"]},"example":[{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"39a7a284c2a0948189dc45dec670211cd4d72f7b66c5726c08d9b3df11e44d58","output_index":0,"amount":[{"unit":"lovelace","quantity":"42000000"}],"block":"7eb8e27d18686c7db9a18f8bbcfe34e3fed6e047afaa2d969904d15e934847e6","data_hash":"9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710","inline_datum":null,"reference_script_hash":null},{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"4c4e67bafa15e742c13c592b65c8f74c769cd7d9af04c848099672d1ba391b49","output_index":0,"amount":[{"unit":"lovelace","quantity":"729235000"}],"block":"953f1b80eb7c11a7ffcd67cbd4fde66e824a451aca5a4065725e5174b81685b7","data_hash":null,"inline_datum":null,"reference_script_hash":null},{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"768c63e27a1c816a83dc7b07e78af673b2400de8849ea7e7b734ae1333d100d2","output_index":1,"amount":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}],"block":"5c571f83fe6c784d3fbc223792627ccf0eea96773100f9aedecf8b1eda4544d7","data_hash":null,"inline_datum":null,"reference_script_hash":null}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string"},"asset":{"type":"string"}}}},"/addresses/{address}/txs":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the transaction"},"example":["2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531","1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/addresses/{address}/transactions":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction"},"tx_index":{"type":"integer","description":"Transaction index within the block"},"block_height":{"type":"integer","description":"Block height"},"block_time":{"type":"integer","description":"Block creation time in UNIX time"}},"required":["tx_hash","tx_index","block_height","block_time"]},"example":[{"tx_hash":"8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b","tx_index":6,"block_height":69,"block_time":1635505891},{"tx_hash":"52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f","tx_index":9,"block_height":4547,"block_time":1635505987},{"tx_hash":"e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b","tx_index":0,"block_height":564654,"block_time":1834505492}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"},"from":{"type":"string"},"to":{"type":"string"}}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/pools":{"response":{"200":{"type":"array","items":{"type":"string","description":"Bech32 encoded pool ID"},"example":["pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","pool1hn7hlwrschqykupwwrtdfkvt2u4uaxvsgxyh6z63703p2knj288","pool1ztjyjfsh432eqetadf82uwuxklh28xc85zcphpwq6mmezavzad2"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/pools/extended":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"pool_id":{"type":"string","example":"pool1z5uqdk7dzdxaae5633fqfcu2eqzy3a3rgtuvy087fdld7yws0xt","description":"Bech32 encoded pool ID"},"hex":{"type":"string","example":"0f292fcaa02b8b2f9b3c8f9fd8e0bb21abedb692a6d5058df3ef2735","description":"Hexadecimal pool ID."},"active_stake":{"type":"string","example":"4200000000","description":"Active delegated amount"},"live_stake":{"type":"string","example":"6900000000","description":"Currently delegated amount"}},"required":["pool_id","hex","active_stake","live_stake"]},"example":[{"pool_id":"pool19u64770wqp6s95gkajc8udheske5e6ljmpq33awxk326zjaza0q","hex":"2f355f79ee007502d116ecb07e36f985b34cebf2d84118f5c6b455a1","active_stake":"1541200000","live_stake":"1541400000"},{"pool_id":"pool1dvla4zq98hpvacv20snndupjrqhuc79zl6gjap565nku6et5zdx","hex":"6b3fda88053dc2cee18a7c2736f032182fcc78a2fe912e869aa4edcd","active_stake":"22200000","live_stake":"48955550"},{"pool_id":"pool1wvccajt4eugjtf3k0ja3exjqdj7t8egsujwhcw4tzj4rzsxzw5w","hex":"73318ec975cf1125a6367cbb1c9a406cbcb3e510e49d7c3aab14aa31","active_stake":"9989541215","live_stake":"168445464878"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/pools/retired":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"pool_id":{"type":"string","example":"pool1z5uqdk7dzdxaae5633fqfcu2eqzy3a3rgtuvy087fdld7yws0xt","description":"Bech32 encoded pool ID"},"epoch":{"type":"integer","example":242,"description":"Retirement epoch number"}},"required":["pool_id","epoch"]},"example":[{"pool_id":"pool19u64770wqp6s95gkajc8udheske5e6ljmpq33awxk326zjaza0q","epoch":225},{"pool_id":"pool1dvla4zq98hpvacv20snndupjrqhuc79zl6gjap565nku6et5zdx","epoch":215},{"pool_id":"pool1wvccajt4eugjtf3k0ja3exjqdj7t8egsujwhcw4tzj4rzsxzw5w","epoch":231}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/pools/retiring":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"pool_id":{"type":"string","example":"pool1z5uqdk7dzdxaae5633fqfcu2eqzy3a3rgtuvy087fdld7yws0xt","description":"Bech32 encoded pool ID"},"epoch":{"type":"integer","example":242,"description":"Retirement epoch number"}},"required":["pool_id","epoch"]},"example":[{"pool_id":"pool19u64770wqp6s95gkajc8udheske5e6ljmpq33awxk326zjaza0q","epoch":225},{"pool_id":"pool1dvla4zq98hpvacv20snndupjrqhuc79zl6gjap565nku6et5zdx","epoch":215},{"pool_id":"pool1wvccajt4eugjtf3k0ja3exjqdj7t8egsujwhcw4tzj4rzsxzw5w","epoch":231}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/pools/{pool_id}":{"response":{"200":{"type":"object","properties":{"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 pool ID"},"hex":{"type":"string","example":"0f292fcaa02b8b2f9b3c8f9fd8e0bb21abedb692a6d5058df3ef2735","description":"Hexadecimal pool ID."},"vrf_key":{"type":"string","example":"0b5245f9934ec2151116fb8ec00f35fd00e0aa3b075c4ed12cce440f999d8233","description":"VRF key hash"},"blocks_minted":{"type":"integer","example":69,"description":"Total minted blocks"},"blocks_epoch":{"type":"integer","example":4,"description":"Number of blocks minted in the current epoch"},"live_stake":{"type":"string","example":"6900000000"},"live_size":{"type":"number","example":0.42},"live_saturation":{"type":"number","example":0.93},"live_delegators":{"type":"number","example":127},"active_stake":{"type":"string","example":"4200000000"},"active_size":{"type":"number","example":0.43},"declared_pledge":{"type":"string","example":"5000000000","description":"Stake pool certificate pledge"},"live_pledge":{"type":"string","example":"5000000001","description":"Stake pool current pledge"},"margin_cost":{"type":"number","example":0.05,"description":"Margin tax cost of the stake pool"},"fixed_cost":{"type":"string","example":"340000000","description":"Fixed tax cost of the stake pool"},"reward_account":{"type":"string","example":"stake1uxkptsa4lkr55jleztw43t37vgdn88l6ghclfwuxld2eykgpgvg3f","description":"Bech32 reward account of the stake pool"},"owners":{"type":"array","items":{"type":"string","description":"Bech32 accounts of the pool owners"},"example":["stake1u98nnlkvkk23vtvf9273uq7cph5ww6u2yq2389psuqet90sv4xv9v"]},"registration":{"type":"array","items":{"type":"string","description":"Hash of the transaction including registration"},"example":["9f83e5484f543e05b52e99988272a31da373f3aab4c064c76db96643a355d9dc","7ce3b8c433bf401a190d58c8c483d8e3564dfd29ae8633c8b1b3e6c814403e95","3e6e1200ce92977c3fe5996bd4d7d7e192bcb7e231bc762f9f240c76766535b9"]},"retirement":{"type":"array","items":{"type":"string","description":"Hash of the transaction including retirement","example":"252f622976d39e646815db75a77289cf16df4ad2b287dd8e3a889ce14c13d1a8"}}},"required":["pool_id","hex","vrf_key","blocks_minted","blocks_epoch","live_stake","live_size","live_saturation","live_delegators","active_stake","active_size","declared_pledge","live_pledge","margin_cost","fixed_cost","reward_account","owners","registration","retirement"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/history":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"epoch":{"type":"integer","example":233,"description":"Epoch number"},"blocks":{"type":"integer","example":22,"description":"Number of blocks created by pool"},"active_stake":{"type":"string","example":"20485965693569","description":"Active (Snapshot of live stake 2 epochs ago) stake in Lovelaces"},"active_size":{"type":"number","example":1.2345,"description":"Pool size (percentage) of overall active stake at that epoch"},"delegators_count":{"type":"integer","example":115,"description":"Number of delegators for epoch"},"rewards":{"type":"string","example":"206936253674159","description":"Total rewards received before distribution to delegators"},"fees":{"type":"string","example":"1290968354","description":"Pool operator rewards"}},"required":["epoch","blocks","active_stake","active_size","delegators_count","rewards","fees"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/metadata":{"response":{"200":{"anyOf":[{"type":"object","properties":{"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 pool ID"},"hex":{"type":"string","example":"0f292fcaa02b8b2f9b3c8f9fd8e0bb21abedb692a6d5058df3ef2735","description":"Hexadecimal pool ID"},"url":{"type":"string","nullable":true,"example":"https://stakenuts.com/mainnet.json","description":"URL to the stake pool metadata"},"hash":{"type":"string","nullable":true,"example":"47c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c","description":"Hash of the metadata file"},"ticker":{"type":"string","nullable":true,"example":"NUTS","description":"Ticker of the stake pool"},"name":{"type":"string","nullable":true,"example":"Stake Nuts","description":"Name of the stake pool"},"description":{"type":"string","nullable":true,"example":"The best pool ever","description":"Description of the stake pool"},"homepage":{"type":"string","nullable":true,"example":"https://stakentus.com/","description":"Home page of the stake pool"}},"required":["pool_id","hex","url","hash","ticker","name","description","homepage"]},{"type":"object"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/relays":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"ipv4":{"type":"string","nullable":true,"example":"4.4.4.4","description":"IPv4 address of the relay"},"ipv6":{"type":"string","nullable":true,"example":"https://stakenuts.com/mainnet.json","description":"IPv6 address of the relay"},"dns":{"type":"string","nullable":true,"example":"relay1.stakenuts.com","description":"DNS name of the relay"},"dns_srv":{"type":"string","nullable":true,"example":"_relays._tcp.relays.stakenuts.com","description":"DNS SRV entry of the relay"},"port":{"type":"integer","example":3001,"description":"Network port of the relay"}},"required":["ipv4","ipv6","dns","dns_srv","port"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/delegators":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded stake addresses"},"live_stake":{"type":"string","description":"Currently delegated amount"}},"required":["address","live_stake"]},"example":[{"address":"stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha","live_stake":"1137959159981411"},{"address":"stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u","live_stake":"16958865648"},{"address":"stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck","live_stake":"18605647"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/blocks":{"response":{"200":{"type":"array","items":{"type":"string","description":"Block hashes"},"example":["d8982ca42cfe76b747cc681d35d671050a9e41e9cfe26573eb214e94fe6ff21d","026436c539e2ce84c7f77ffe669f4e4bbbb3b9c53512e5857dcba8bb0b4e9a8c","bcc8487f419b8c668a18ea2120822a05df6dfe1de1f0fac3feba88cf760f303c","86bf7b4a274e0f8ec9816171667c1b4a0cfc661dc21563f271acea9482b62df7"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/updates":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Transaction ID"},"cert_index":{"type":"integer","description":"Certificate within the transaction"},"action":{"type":"string","enum":["registered","deregistered"],"description":"Action in the certificate"}},"required":["tx_hash","cert_index","action"]},"example":[{"tx_hash":"6804edf9712d2b619edb6ac86861fe93a730693183a262b165fcc1ba1bc99cad","cert_index":0,"action":"registered"},{"tx_hash":"9c190bc1ac88b2ab0c05a82d7de8b71b67a9316377e865748a89d4426c0d3005","cert_index":0,"action":"deregistered"},{"tx_hash":"e14a75b0eb2625de7055f1f580d70426311b78e0d36dd695a6bdc96c7b3d80e0","cert_index":1,"action":"registered"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/assets":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"asset":{"type":"string","format":"Concatenation of the policy_id and hex-encoded asset_name","description":"Asset identifier"},"quantity":{"type":"string","description":"Current asset quantity"}},"required":["asset","quantity"]},"example":[{"asset":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"1"},{"asset":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e75d","quantity":"100000"},{"asset":"6804edf9712d2b619edb6ac86861fe93a730693183a262b165fcc1ba1bc99cad","quantity":"18605647"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/assets/{asset}":{"response":{"200":{"type":"object","properties":{"asset":{"type":"string","example":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","description":"Hex-encoded asset full name"},"policy_id":{"type":"string","example":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a7","description":"Policy ID of the asset"},"asset_name":{"type":"string","nullable":true,"example":"6e7574636f696e","description":"Hex-encoded asset name of the asset"},"fingerprint":{"type":"string","example":"asset1pkpwyknlvul7az0xx8czhl60pyel45rpje4z8w","description":"CIP14 based user-facing fingerprint"},"quantity":{"type":"string","example":"12000","description":"Current asset quantity"},"initial_mint_tx_hash":{"type":"string","example":"6804edf9712d2b619edb6ac86861fe93a730693183a262b165fcc1ba1bc99cad","description":"ID of the initial minting transaction"},"mint_or_burn_count":{"type":"integer","example":1,"description":"Count of mint and burn transactions"},"onchain_metadata":{"type":"object","nullable":true,"additionalProperties":true,"description":"On-chain metadata which SHOULD adhere to the valid standards,\nbased on which we perform the look up and display the asset\n(best effort)\n"},"onchain_metadata_standard":{"type":"string","nullable":true,"enum":["CIP25v1","CIP25v2","CIP68v1","CIP68v2"],"description":"If on-chain metadata passes validation, we display the standard\nunder which it is valid\n"},"onchain_metadata_extra":{"type":"string","nullable":true,"description":"Arbitrary plutus data (CIP68).\n"},"metadata":{"type":"object","nullable":true,"description":"Off-chain metadata fetched from GitHub based on network.\nMainnet: https://github.com/cardano-foundation/cardano-token-registry/\nTestnet: https://github.com/input-output-hk/metadata-registry-testnet/\n","properties":{"name":{"type":"string","example":"nutcoin","description":"Asset name"},"description":{"type":"string","example":"The Nut Coin","description":"Asset description"},"ticker":{"type":"string","nullable":true,"example":"nutc"},"url":{"type":"string","nullable":true,"example":"https://www.stakenuts.com/","description":"Asset website"},"logo":{"type":"string","nullable":true,"example":"iVBORw0KGgoAAAANSUhEUgAAADAAAAAoCAYAAAC4h3lxAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAAB3RJTUUH5QITCDUPjqwFHwAAB9xJREFUWMPVWXtsU9cZ/8499/r6dZ3E9rUdO7ZDEgglFWO8KaOsJW0pCLRKrN1AqqYVkqoqrYo0ja7bpElru1WairStFKY9WzaE1E1tx+jokKqwtqFNyhKahEJJyJNgJ37E9r1+3HvO/sFR4vhx7SBtfH/F3/l93/f7ne/4PBxEKYU72dj/ZfH772v1TU+HtqbTaX8wOO01GPQpRVH7JEm+vGHDuq6z7/8jUSoHKtaBKkEUFUXdajDy1hUrmrs6zn/wWS7m7pZVjMUirKGUTnzc+e9xLcTrPPVfZzDz06Sc2lyQGEIyAPzT7Xa+dvE/3e+XLaCxoflHsVj8MAAYs74aa/WHoenwvpkZKeFy2Z5NJlOPUkqXZccFwSSrKjlyffjLH+TL6XTUGTGL/6hklD3ldIrj2M5MRmkLBMcvaRLQ1Nj88sxM/HCBfMP+eu/OYGDqe6l0WmpoqJ/88upgrU7HrQNA/cFg6MlkKiLlBtVUO40cx54BgHvLIT/HJLvdeqh/4NKxogKWN7fsCoUi7xTLxLJ4vLq6ak//wKVOrdXtttrTDMPsqJA8AAAwDErdu3VL3alTf5ma9eWCpoKhn5dKpCiqJxicPucQPVu0FHaInn35yHMcKwPAa4SQ3QCwFgDWUko3qSr5vqqSgTypuEg4Mo/zvA74/Y0rZSnZU8akSHV17k2fXfy0txjI5224kEym1s/1EUI7LBbztweHrkzkizn49LP6U6feepFSeggAQK/n04SQZ8bGrxdeQjZrbRvGzLH5hcibRqOhPplMfS1fIY5jz4xPDBdcGggho2h3z9sOLRazdG3wqp9SMgUlzGZ17SSEPsRx7J8CwfGu3PF57WhqqjfN/VxVJUxKUrIdITAXKpDJKFscosdfaFy0u+/K9aXTmXe0kAcAmA5Nng5Hbj6Tj/wCAYFAcN7uEY3GXGazMSHLqVVFapgBoMPna9yqhRAAgCTJMa3YUjZPgNFkSlWYx5eUkx+0tKx83V3rF+cVYJjruWCe133DIXqMmrNrFSDabRcWkywYmG5XFOW6aHcfb9324CoAgMmbo9MIoXkneCajiAihV/c/8eSiBSw4BxyiZxQA6m7H7FBKT2CMn2MY5jFFUX6ZO+5w2j8aHZ7YH40FByrJD5DnHGAY5uTtIA8AgBDaR4F2Yxb3WizCgmtA4ObUPSazodduqz3Suu0hf0U1cjvgdNSJ1dWWveFwdDUAtAiC2Uopdcdi8c9Zlh3GmDGl05mtAKAvo47EcdwThJCjqqpWFxALlNITomg73tff21GRAJez7iVK4WGGYfoJIQduBsbm7UrLm1ueCoUiv65kpiilw1ZbzcFoZOYoIcRTAn6eYZgXJm+Oni+Vd3YJbdyweSch9HlK6SpVVfcyDDq7Yf3m2XPBIXraKyV/a4b9UkLawbLsZgB4rwR8CyGkw13r+5fX27BckwBAEJ47oKpk8+DgUIdod7fV1vqOAMDrlZLPmqKoB+rrvXIgOP6w0WjYy3Ls5RL4bUk52bVm9fqnCk7M3CXU2ND8+MxM7BcIIftiyRYyntcdHh0bmr0wfmXl6p2SJB2KRmP3l4j7zejYUFtRAQAAgslm1Bv4nyGEDpYiIwjmjw0G/RjP866JiclNqqqWfKLq9fyZkdHBBXcnl9O71GDgD8bj0ncRQqZ8sRgzL9yYHH2pqICsOUTPLgA4CXNeZFmzWIS/YhYfjUZmvqPjuceSckrz25pS2h2cmlhbaBwhzr6kfsnL8Xhif55YYFl23Y3Jkdl7EVMoUSA4/q6qqNsBIPd11e52u45FwtG3CSH7yiEPAGC1Vt9dXGBmanDoygFLlbAjtzZCCMyC6VeaOpA1l9N7l1kwtauKaozHE28YTQaQpeR7+TqjxXheR0fHhhgt2CX1S3clEtKC16HL5djYe+niBU0CcmYA2W21/Qih5ZqDcoxlMZ24MaJJAABA87IVJ8Lh6N65Pr1B/+LIyLUfAhRZQvnM6ah7ZDHkAQB0vK6/HHxNTc2ruT5Zkldn/y5LACFk+2LIAwAwCGl6yGSt88KHXbmrBCHkqEgAz+vWLFZALJb4qNwYhFDhCSknkSwnQ4sVgDFeWg7+gQe2r1tAmkGTFQlACHWVg89nhJA9ot3dphV/eeCLp/Pw6K5IQP0S39uLFXCLwDG7zf1cKZxD9LSlUunHc/12u/2t2Vzl/rzu8zb8PZlM7bwdQgDgPK/nX2nddt+53//ht3LW2dS0fF0iLj2vquojuQFmwXRucPBKa8UCmpe1iOFwpAsAfLdJBFBKwVIlXJ2JxqKCxbwyHkvoCkAlv9/71U+7Oq+UJWDZ0hViJBL1cRynbNq0sSeeiPl6ei4NqIqq6TSmlB7X6bjuTEY5pgWfzwxGPZhMpt39/b3vzvWXFGCzulZjjM/DrauDwcAr8bjcgzGjZUuVBMH8k2uDX7wCAFDr8n2LEPI7SqmhTP6SzVbz6MDlz0/nDpT8EmOM22HOvUeWU2wp8iyLgRL6hk7Hrc2SBwC4MTlykmXZRozxn00mbVcphNA5jJmV+chr6oDd5l6jN/A/TqfSuwEAGITGMIsvGo3GTwTB3Dc2NjGSxdZYq4VIOOoNBANnKE0XPXE3brjHOTQ08k2MmVZOxzVJCbkFIQSCYEphzPaFQuGzTpfjb319PZ8UFXin/5OvrHPg/9HueAH/BSUqOuNZm4fyAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAyLTE5VDA4OjUyOjI1KzAwOjAwCmFGlgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMi0xOVQwODo1MjoyMyswMDowMBjsyxAAAAAASUVORK5CYII=","description":"Base64 encoded logo of the asset"},"decimals":{"type":"integer","nullable":true,"maximum":255,"example":6,"description":"Number of decimal places of the asset unit"}},"required":["name","description","ticker","url","logo","decimals"]}},"required":["asset","policy_id","asset_name","fingerprint","quantity","initial_mint_tx_hash","mint_or_burn_count","metadata","onchain_metadata"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"asset":{"type":"string"}}}},"/assets/{asset}/history":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction containing the asset action"},"action":{"type":"string","enum":["minted","burned"],"description":"Action executed upon the asset policy"},"amount":{"type":"string","description":"Asset amount of the specific action"}},"required":["tx_hash","action","amount"]},"example":[{"tx_hash":"2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531","amount":"10","action":"minted"},{"tx_hash":"9c190bc1ac88b2ab0c05a82d7de8b71b67a9316377e865748a89d4426c0d3005","amount":"5","action":"burned"},{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0","amount":"5","action":"burned"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"asset":{"type":"string"}}}},"/assets/{asset}/txs":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the transaction"},"example":["8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b","52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f","e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"asset":{"type":"string"}}}},"/assets/{asset}/transactions":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction"},"tx_index":{"type":"integer","description":"Transaction index within the block"},"block_height":{"type":"integer","description":"Block height"},"block_time":{"type":"integer","example":1635505891,"description":"Block creation time in UNIX time"}},"required":["tx_hash","tx_index","block_height","block_time"]},"example":[{"tx_hash":"8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b","tx_index":6,"block_height":69,"block_time":1635505891},{"tx_hash":"52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f","tx_index":9,"block_height":4547,"block_time":1635505987},{"tx_hash":"e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b","tx_index":0,"block_height":564654,"block_time":1834505492}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"asset":{"type":"string"}}}},"/assets/{asset}/addresses":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Address containing the specific asset"},"quantity":{"type":"string","description":"Asset quantity on the specific address"}},"required":["address","quantity"]},"example":[{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","quantity":"1"},{"address":"addr1qyhr4exrgavdcn3qhfcc9f939fzsch2re5ry9cwvcdyh4x4re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qdpvhza","quantity":"100000"},{"address":"addr1q8zup8m9ue3p98kxlxl9q8rnyan8hw3ul282tsl9s326dfj088lvedv4zckcj24arcpasr0gua4c5gq4zw2rpcpjk2lq8cmd9l","quantity":"18605647"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"asset":{"type":"string"}}}},"/assets/policy/{policy_id}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"asset":{"type":"string","description":"Concatenation of the policy_id and hex-encoded asset_name"},"quantity":{"type":"string","description":"Current asset quantity"}},"required":["asset","quantity"]},"example":[{"asset":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"1"},{"asset":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a766e","quantity":"100000"},{"asset":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb574636f696e","quantity":"18605647"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"policy_id":{"type":"string"}}}},"/scripts":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"script_hash":{"type":"string","description":"Script hash"}},"required":["script_hash"]},"example":[{"script_hash":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"},{"script_hash":"e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e"},{"script_hash":"a6e63c0ff05c96943d1cc30bf53112ffff0f34b45986021ca058ec54"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/scripts/{script_hash}":{"response":{"200":{"type":"object","properties":{"script_hash":{"type":"string","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1","description":"Script hash"},"type":{"type":"string","enum":["timelock","plutusV1","plutusV2"],"example":"plutusV1","description":"Type of the script language"},"serialised_size":{"type":"integer","nullable":true,"description":"The size of the CBOR serialised script, if a Plutus script","example":3119}},"required":["script_hash","type","serialised_size"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"script_hash":{"type":"string"}}}},"/scripts/{script_hash}/json":{"response":{"200":{"type":"object","properties":{"json":{"nullable":true}},"required":["json"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"script_hash":{"type":"string"}}}},"/scripts/{script_hash}/cbor":{"response":{"200":{"type":"object","properties":{"cbor":{"type":"string","nullable":true,"description":"CBOR contents of the `plutus` script, null for `timelocks`"}},"required":["cbor"],"example":{"cbor":"4e4d01000033222220051200120011"}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"script_hash":{"type":"string"}}}},"/scripts/{script_hash}/redeemers":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","example":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0","description":"Hash of the transaction"},"tx_index":{"type":"integer","example":0,"description":"The index of the redeemer pointer in the transaction"},"purpose":{"type":"string","enum":["spend","mint","cert","reward"],"example":"spend","description":"Validation purpose"},"redeemer_data_hash":{"type":"string","example":"923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec","description":"Datum hash of the redeemer"},"datum_hash":{"type":"string","example":"923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec","description":"Datum hash","deprecated":true},"unit_mem":{"type":"string","example":"1700","description":"The budget in Memory to run a script"},"unit_steps":{"type":"string","example":"476468","description":"The budget in CPU steps to run a script"},"fee":{"type":"string","example":"172033","description":"The fee consumed to run the script"}},"required":["tx_hash","tx_index","purpose","redeemer_data_hash","datum_hash","unit_mem","unit_steps","fee"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"script_hash":{"type":"string"}}}},"/scripts/datum/{datum_hash}":{"response":{"200":{"type":"object","properties":{"json_value":{"type":"object","additionalProperties":true,"description":"JSON content of the datum"}},"required":["json_value"],"example":{"json_value":{"int":42}}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"datum_hash":{"type":"string"}}}},"/scripts/datum/{datum_hash}/cbor":{"response":{"200":{"type":"object","properties":{"cbor":{"type":"string","description":"CBOR serialized datum"}},"required":["cbor"],"example":{"cbor":"19a6aa"}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"datum_hash":{"type":"string"}}}},"/utils/addresses/xpub/{xpub}/{role}/{index}":{"response":{"200":{"type":"object","properties":{"xpub":{"type":"string","description":"Script hash"},"role":{"type":"integer","description":"Account role"},"index":{"type":"integer","description":"Address index"},"address":{"type":"string","description":"Derived address"}},"required":["xpub","role","index","address"],"example":[{"xpub":"d507c8f866691bd96e131334c355188b1a1d0b2fa0ab11545075aab332d77d9eb19657ad13ee581b56b0f8d744d66ca356b93d42fe176b3de007d53e9c4c4e7a","role":0,"index":0,"address":"addr1q90sqnljxky88s0jsnps48jd872p7znzwym0jpzqnax6qs5nfrlkaatu28n0qzmqh7f2cpksxhpc9jefx3wrl0a2wu8q5amen7"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"xpub":{"type":"string"},"role":{"type":"integer"},"index":{"type":"integer"}}}},"/utils/txs/evaluate":{"response":{"200":{"type":"object","additionalProperties":true},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"425":{"type":"object","properties":{"status_code":{"type":"integer","example":425},"error":{"type":"string","example":"Mempool Full"},"message":{"type":"string","example":"Mempool is full, please try resubmitting again later."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/utils/txs/evaluate/utxos":{"response":{"200":{"type":"object","additionalProperties":true},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"425":{"type":"object","properties":{"status_code":{"type":"integer","example":425},"error":{"type":"string","example":"Mempool Full"},"message":{"type":"string","example":"Mempool is full, please try resubmitting again later."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/ipfs/add":{"response":{"200":{"type":"object","properties":{"name":{"type":"string","example":"README.md","description":"Name of the file"},"ipfs_hash":{"type":"string","example":"QmZbHqiCxKEVX7QfijzJTkZiSi3WEVTcvANgNAWzDYgZDr","description":"IPFS hash of the file"},"size":{"type":"string","example":"125297","description":"IPFS node size in Bytes"}},"required":["name","ipfs_hash","size"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/ipfs/gateway/{IPFS_path}":{"response":{"200":{"type":"string","format":"binary"},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"IPFS_path":{"type":"string","description":"Path to the IPFS object"}}}},"/ipfs/pin/add/{IPFS_path}":{"response":{"200":{"type":"object","properties":{"ipfs_hash":{"type":"string","example":"QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8","description":"IPFS hash of the pinned object"},"state":{"type":"string","enum":["queued|pinned|unpinned|failed|gc"],"example":"queued","description":"State of the pin action"}},"required":["ipfs_hash","state"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"425":{"type":"object","properties":{"status_code":{"type":"integer","example":425},"error":{"type":"string","example":"Mempool Full"},"message":{"type":"string","example":"Mempool is full, please try resubmitting again later."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"IPFS_path":{"type":"string","description":"Path to the IPFS object"}}}},"/ipfs/pin/list":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"time_created":{"type":"integer","description":"Creation time of the IPFS object on our backends","example":1615551024},"time_pinned":{"type":"integer","description":"Pin time of the IPFS object on our backends","example":1615551024},"ipfs_hash":{"type":"string","description":"IPFS hash of the pinned object","example":"QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx"},"size":{"type":"string","description":"Size of the object in Bytes","example":"1615551024"},"state":{"type":"string","enum":["queued|pinned|unpinned|failed|gc"],"description":"State of the pinned object, which is `queued` when we are retriving object. If this\nis successful the state is changed to `pinned` or `failed` if not. The state `gc` means the\npinned item has been garbage collected due to account being over storage quota or after it has\nbeen moved to `unpinned` state by removing the object pin.\n","example":"pinned"}},"required":["time_created","time_pinned","ipfs_hash","size","state"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/ipfs/pin/list/{IPFS_path}":{"response":{"200":{"type":"object","properties":{"time_created":{"type":"integer","description":"Time of the creation of the IPFS object on our backends","example":1615551024},"time_pinned":{"type":"integer","description":"Time of the pin of the IPFS object on our backends","example":1615551024},"ipfs_hash":{"type":"string","description":"IPFS hash of the pinned object","example":"QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx"},"size":{"type":"string","description":"Size of the object in Bytes","example":"1615551024"},"state":{"type":"string","enum":["queued|pinned|unpinned|failed|gc"],"description":"State of the pinned object. We define 5 states: `queued`, `pinned`, `unpinned`, `failed`, `gc`.\nWhen the object is pending retrieval (i.e. after `/ipfs/pin/add/{IPFS_path}`), the state is `queued`.\nIf the object is already successfully retrieved, state is changed to `pinned` or `failed` otherwise.\nWhen object is unpinned (i.e. after `/ipfs/pin/remove/{IPFS_path}`) it is marked for garbage collection.\nState `gc` means that a previously `unpinned` item has been garbage collected due to account being over storage quota.\n","example":"pinned"}},"required":["time_created","time_pinned","ipfs_hash","size","state"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"IPFS_path":{"type":"string","description":"The path to the IPFS object"}}}},"/ipfs/pin/remove/{IPFS_path}":{"response":{"200":{"type":"object","properties":{"ipfs_hash":{"type":"string","example":"QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8","description":"IPFS hash of the pinned object"},"state":{"type":"string","enum":["queued|pinned|unpinned|failed|gc"],"example":"unpinned","description":"State of the pin action"}},"required":["ipfs_hash","state"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"IPFS_path":{"type":"string","description":"The path to the IPFS object"}}}},"/metrics":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"time":{"type":"integer","description":"Starting time of the call count interval (ends midnight UTC) in UNIX time"},"calls":{"type":"integer","description":"Sum of all calls for a particular day"}},"required":["time","calls"]},"example":[{"time":1612543884,"calls":42},{"time":1614523884,"calls":6942}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/metrics/endpoints":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"time":{"type":"integer","description":"Starting time of the call count interval (ends midnight UTC) in UNIX time"},"calls":{"type":"integer","description":"Sum of all calls for a particular day and endpoint"},"endpoint":{"type":"string","description":"Endpoint parent name"}},"required":["time","calls","endpoint"]},"example":[{"time":1612543814,"calls":182,"endpoint":"block"},{"time":1612543814,"calls":42,"endpoint":"epoch"},{"time":1612543812,"calls":775,"endpoint":"block"},{"time":1612523884,"calls":4,"endpoint":"epoch"},{"time":1612553884,"calls":89794,"endpoint":"block"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/network":{"response":{"200":{"type":"object","properties":{"supply":{"type":"object","properties":{"max":{"type":"string","description":"Maximum supply in Lovelaces","example":"45000000000000000"},"total":{"type":"string","description":"Current total (max supply - reserves) supply in Lovelaces","example":"32890715183299160"},"circulating":{"type":"string","description":"Current circulating (UTXOs + withdrawables) supply in Lovelaces","example":"32412601976210393"},"locked":{"type":"string","description":"Current supply locked by scripts in Lovelaces","example":"125006953355"},"treasury":{"type":"string","description":"Current supply locked in treasury","example":"98635632000000"},"reserves":{"type":"string","description":"Current supply locked in reserves","example":"46635632000000"}},"required":["max","total","circulating","locked","treasury","reserves"]},"stake":{"type":"object","properties":{"live":{"type":"string","example":"23204950463991654","description":"Current live stake in Lovelaces"},"active":{"type":"string","description":"Current active stake in Lovelaces","example":"22210233523456321"}},"required":["live","active"]}},"required":["supply","stake"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/network/eras":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"start":{"type":"object","description":"Start of the blockchain era,\nrelative to the start of the network\n","properties":{"time":{"type":"number","description":"Time in seconds relative to the start time of the network"},"slot":{"type":"integer","description":"Absolute slot number"},"epoch":{"type":"integer","description":"Epoch number"}},"required":["time","slot","epoch"]},"end":{"type":"object","description":"End of the blockchain era,\nrelative to the start of the network\n","properties":{"time":{"type":"number","description":"Time in seconds relative to the start time of the network"},"slot":{"type":"integer","description":"Absolute slot number"},"epoch":{"type":"integer","description":"Epoch number"}},"required":["time","slot","epoch"]},"parameters":{"type":"object","description":"Era parameters","properties":{"epoch_length":{"type":"integer","description":"Epoch length in number of slots"},"slot_length":{"type":"number","description":"Slot length in seconds"},"safe_zone":{"type":"integer","description":"Zone in which it is guaranteed that no hard fork can take place"}},"required":["epoch_length","slot_length","safe_zone"]}},"required":["start","end","parameters"]},"example":[{"start":{"time":0,"slot":0,"epoch":0},"end":{"time":89856000,"slot":4492800,"epoch":208},"parameters":{"epoch_length":21600,"slot_length":20,"safe_zone":4320}},{"start":{"time":89856000,"slot":4492800,"epoch":208},"end":{"time":101952000,"slot":16588800,"epoch":236},"parameters":{"epoch_length":432000,"slot_length":1,"safe_zone":129600}}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"425":{"type":"object","properties":{"status_code":{"type":"integer","example":425},"error":{"type":"string","example":"Mempool Full"},"message":{"type":"string","example":"Mempool is full, please try resubmitting again later."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/nutlink/{address}":{"response":{"200":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded address","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"metadata_url":{"type":"string","description":"URL of the specific metadata file","example":"https://nut.link/metadata.json"},"metadata_hash":{"type":"string","description":"Hash of the metadata file","example":"6bf124f217d0e5a0a8adb1dbd8540e1334280d49ab861127868339f43b3948af"},"metadata":{"type":"object","nullable":true,"description":"The cached metadata of the `metadata_url` file.","additionalProperties":true}},"required":["address","metadata_url","metadata_hash","metadata"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"address":{"type":"string","description":"Address of a metadata oracle"}}}},"/nutlink/{address}/tickers":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the ticker"},"count":{"type":"integer","description":"Number of ticker records"},"latest_block":{"type":"integer","description":"Block height of the latest record"}},"required":["name","count","latest_block"]},"example":[{"name":"ADAUSD","count":1980038,"latest_block":2657092},{"name":"ADAEUR","count":1980038,"latest_block":2657092},{"name":"ADABTC","count":1980038,"latest_block":2657092}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string","description":"Address of a metadata oracle"}}}},"/nutlink/{address}/tickers/{ticker}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string"},"block_height":{"type":"integer"},"tx_index":{"type":"integer"},"payload":{}},"required":["tx_hash","tx_index","block_height","payload"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string","description":"Address of a metadata oracle"},"ticker":{"type":"string","description":"Ticker for the pool record"}}}},"/nutlink/tickers/{ticker}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Address of a metadata oracle"},"tx_hash":{"type":"string","description":"Hash of the transaction"},"block_height":{"type":"integer","description":"Block height of the record"},"tx_index":{"type":"integer","description":"Transaction index within the block"},"payload":{}},"required":["address","tx_hash","block_height","tx_index","payload"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"ticker":{"type":"string","description":"Ticker for the pool record"}}}}} +{ + "/": { + "response": { + "200": { + "type": "object", + "properties": { + "url": { "type": "string", "example": "https://blockfrost.io/" }, + "version": { "type": "string", "example": "0.1.0" } + }, + "required": ["url", "version"] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + } + }, + "/health": { + "response": { + "200": { + "type": "object", + "properties": { "is_healthy": { "type": "boolean", "example": true } }, + "required": ["is_healthy"] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + } + }, + "/health/clock": { + "response": { + "200": { + "type": "object", + "properties": { + "server_time": { + "type": "integer", + "format": "int64", + "example": 1603400958947 + } + }, + "required": ["server_time"] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + } + }, + "/blocks/latest": { + "response": { + "200": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "example": 1641338934, + "description": "Block creation time in UNIX time" + }, + "height": { + "type": "integer", + "nullable": true, + "example": 15243593, + "description": "Block number" + }, + "hash": { + "type": "string", + "example": "4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a", + "description": "Hash of the block" + }, + "slot": { + "type": "integer", + "nullable": true, + "example": 412162133, + "description": "Slot number" + }, + "epoch": { + "type": "integer", + "nullable": true, + "example": 425, + "description": "Epoch number" + }, + "epoch_slot": { + "type": "integer", + "nullable": true, + "example": 12, + "description": "Slot within the epoch" + }, + "slot_leader": { + "type": "string", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy", + "description": "Bech32 ID of the slot leader or specific block description in case there is no slot leader" + }, + "size": { + "type": "integer", + "example": 3, + "description": "Block size in Bytes" + }, + "tx_count": { + "type": "integer", + "example": 1, + "description": "Number of transactions in the block" + }, + "output": { + "type": "string", + "nullable": true, + "example": "128314491794", + "description": "Total output within the block in Lovelaces" + }, + "fees": { + "type": "string", + "nullable": true, + "example": "592661", + "description": "Total fees within the block in Lovelaces" + }, + "block_vrf": { + "type": "string", + "nullable": true, + "example": "vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty", + "description": "VRF key of the block", + "minLength": 65, + "maxLength": 65 + }, + "op_cert": { + "type": "string", + "nullable": true, + "example": "da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c", + "description": "The hash of the operational certificate of the block producer" + }, + "op_cert_counter": { + "type": "string", + "nullable": true, + "example": "18", + "description": "The value of the counter used to produce the operational certificate" + }, + "previous_block": { + "type": "string", + "nullable": true, + "example": "43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05", + "description": "Hash of the previous block" + }, + "next_block": { + "type": "string", + "nullable": true, + "example": "8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa", + "description": "Hash of the next block" + }, + "confirmations": { + "type": "integer", + "example": 4698, + "description": "Number of block confirmations" + } + }, + "required": [ + "time", + "height", + "hash", + "slot", + "epoch", + "epoch_slot", + "slot_leader", + "size", + "tx_count", + "output", + "fees", + "block_vrf", + "op_cert", + "op_cert_counter", + "previous_block", + "next_block", + "confirmations" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + } + }, + "/blocks/latest/txs": { + "response": { + "200": { + "type": "array", + "items": { "type": "string", "description": "Hash of the transaction" }, + "example": [ + "8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b", + "4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036", + "52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f", + "e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + } + }, + "/blocks/{hash_or_number}": { + "response": { + "200": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "example": 1641338934, + "description": "Block creation time in UNIX time" + }, + "height": { + "type": "integer", + "nullable": true, + "example": 15243593, + "description": "Block number" + }, + "hash": { + "type": "string", + "example": "4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a", + "description": "Hash of the block" + }, + "slot": { + "type": "integer", + "nullable": true, + "example": 412162133, + "description": "Slot number" + }, + "epoch": { + "type": "integer", + "nullable": true, + "example": 425, + "description": "Epoch number" + }, + "epoch_slot": { + "type": "integer", + "nullable": true, + "example": 12, + "description": "Slot within the epoch" + }, + "slot_leader": { + "type": "string", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy", + "description": "Bech32 ID of the slot leader or specific block description in case there is no slot leader" + }, + "size": { + "type": "integer", + "example": 3, + "description": "Block size in Bytes" + }, + "tx_count": { + "type": "integer", + "example": 1, + "description": "Number of transactions in the block" + }, + "output": { + "type": "string", + "nullable": true, + "example": "128314491794", + "description": "Total output within the block in Lovelaces" + }, + "fees": { + "type": "string", + "nullable": true, + "example": "592661", + "description": "Total fees within the block in Lovelaces" + }, + "block_vrf": { + "type": "string", + "nullable": true, + "example": "vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty", + "description": "VRF key of the block", + "minLength": 65, + "maxLength": 65 + }, + "op_cert": { + "type": "string", + "nullable": true, + "example": "da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c", + "description": "The hash of the operational certificate of the block producer" + }, + "op_cert_counter": { + "type": "string", + "nullable": true, + "example": "18", + "description": "The value of the counter used to produce the operational certificate" + }, + "previous_block": { + "type": "string", + "nullable": true, + "example": "43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05", + "description": "Hash of the previous block" + }, + "next_block": { + "type": "string", + "nullable": true, + "example": "8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa", + "description": "Hash of the next block" + }, + "confirmations": { + "type": "integer", + "example": 4698, + "description": "Number of block confirmations" + } + }, + "required": [ + "time", + "height", + "hash", + "slot", + "epoch", + "epoch_slot", + "slot_leader", + "size", + "tx_count", + "output", + "fees", + "block_vrf", + "op_cert", + "op_cert_counter", + "previous_block", + "next_block", + "confirmations" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "hash_or_number": { "type": "string" } } + } + }, + "/blocks/{hash_or_number}/next": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "example": 1641338934, + "description": "Block creation time in UNIX time" + }, + "height": { + "type": "integer", + "nullable": true, + "example": 15243593, + "description": "Block number" + }, + "hash": { + "type": "string", + "example": "4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a", + "description": "Hash of the block" + }, + "slot": { + "type": "integer", + "nullable": true, + "example": 412162133, + "description": "Slot number" + }, + "epoch": { + "type": "integer", + "nullable": true, + "example": 425, + "description": "Epoch number" + }, + "epoch_slot": { + "type": "integer", + "nullable": true, + "example": 12, + "description": "Slot within the epoch" + }, + "slot_leader": { + "type": "string", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy", + "description": "Bech32 ID of the slot leader or specific block description in case there is no slot leader" + }, + "size": { + "type": "integer", + "example": 3, + "description": "Block size in Bytes" + }, + "tx_count": { + "type": "integer", + "example": 1, + "description": "Number of transactions in the block" + }, + "output": { + "type": "string", + "nullable": true, + "example": "128314491794", + "description": "Total output within the block in Lovelaces" + }, + "fees": { + "type": "string", + "nullable": true, + "example": "592661", + "description": "Total fees within the block in Lovelaces" + }, + "block_vrf": { + "type": "string", + "nullable": true, + "example": "vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty", + "description": "VRF key of the block", + "minLength": 65, + "maxLength": 65 + }, + "op_cert": { + "type": "string", + "nullable": true, + "example": "da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c", + "description": "The hash of the operational certificate of the block producer" + }, + "op_cert_counter": { + "type": "string", + "nullable": true, + "example": "18", + "description": "The value of the counter used to produce the operational certificate" + }, + "previous_block": { + "type": "string", + "nullable": true, + "example": "43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05", + "description": "Hash of the previous block" + }, + "next_block": { + "type": "string", + "nullable": true, + "example": "8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa", + "description": "Hash of the next block" + }, + "confirmations": { + "type": "integer", + "example": 4698, + "description": "Number of block confirmations" + } + }, + "required": [ + "time", + "height", + "hash", + "slot", + "epoch", + "epoch_slot", + "slot_leader", + "size", + "tx_count", + "output", + "fees", + "block_vrf", + "op_cert", + "op_cert_counter", + "previous_block", + "next_block", + "confirmations" + ] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + } + } + }, + "params": { + "type": "object", + "properties": { "hash_or_number": { "type": "string" } } + } + }, + "/blocks/{hash_or_number}/previous": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "example": 1641338934, + "description": "Block creation time in UNIX time" + }, + "height": { + "type": "integer", + "nullable": true, + "example": 15243593, + "description": "Block number" + }, + "hash": { + "type": "string", + "example": "4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a", + "description": "Hash of the block" + }, + "slot": { + "type": "integer", + "nullable": true, + "example": 412162133, + "description": "Slot number" + }, + "epoch": { + "type": "integer", + "nullable": true, + "example": 425, + "description": "Epoch number" + }, + "epoch_slot": { + "type": "integer", + "nullable": true, + "example": 12, + "description": "Slot within the epoch" + }, + "slot_leader": { + "type": "string", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy", + "description": "Bech32 ID of the slot leader or specific block description in case there is no slot leader" + }, + "size": { + "type": "integer", + "example": 3, + "description": "Block size in Bytes" + }, + "tx_count": { + "type": "integer", + "example": 1, + "description": "Number of transactions in the block" + }, + "output": { + "type": "string", + "nullable": true, + "example": "128314491794", + "description": "Total output within the block in Lovelaces" + }, + "fees": { + "type": "string", + "nullable": true, + "example": "592661", + "description": "Total fees within the block in Lovelaces" + }, + "block_vrf": { + "type": "string", + "nullable": true, + "example": "vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty", + "description": "VRF key of the block", + "minLength": 65, + "maxLength": 65 + }, + "op_cert": { + "type": "string", + "nullable": true, + "example": "da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c", + "description": "The hash of the operational certificate of the block producer" + }, + "op_cert_counter": { + "type": "string", + "nullable": true, + "example": "18", + "description": "The value of the counter used to produce the operational certificate" + }, + "previous_block": { + "type": "string", + "nullable": true, + "example": "43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05", + "description": "Hash of the previous block" + }, + "next_block": { + "type": "string", + "nullable": true, + "example": "8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa", + "description": "Hash of the next block" + }, + "confirmations": { + "type": "integer", + "example": 4698, + "description": "Number of block confirmations" + } + }, + "required": [ + "time", + "height", + "hash", + "slot", + "epoch", + "epoch_slot", + "slot_leader", + "size", + "tx_count", + "output", + "fees", + "block_vrf", + "op_cert", + "op_cert_counter", + "previous_block", + "next_block", + "confirmations" + ] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + } + } + }, + "params": { + "type": "object", + "properties": { "hash_or_number": { "type": "string" } } + } + }, + "/blocks/slot/{slot_number}": { + "response": { + "200": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "example": 1641338934, + "description": "Block creation time in UNIX time" + }, + "height": { + "type": "integer", + "nullable": true, + "example": 15243593, + "description": "Block number" + }, + "hash": { + "type": "string", + "example": "4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a", + "description": "Hash of the block" + }, + "slot": { + "type": "integer", + "nullable": true, + "example": 412162133, + "description": "Slot number" + }, + "epoch": { + "type": "integer", + "nullable": true, + "example": 425, + "description": "Epoch number" + }, + "epoch_slot": { + "type": "integer", + "nullable": true, + "example": 12, + "description": "Slot within the epoch" + }, + "slot_leader": { + "type": "string", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy", + "description": "Bech32 ID of the slot leader or specific block description in case there is no slot leader" + }, + "size": { + "type": "integer", + "example": 3, + "description": "Block size in Bytes" + }, + "tx_count": { + "type": "integer", + "example": 1, + "description": "Number of transactions in the block" + }, + "output": { + "type": "string", + "nullable": true, + "example": "128314491794", + "description": "Total output within the block in Lovelaces" + }, + "fees": { + "type": "string", + "nullable": true, + "example": "592661", + "description": "Total fees within the block in Lovelaces" + }, + "block_vrf": { + "type": "string", + "nullable": true, + "example": "vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty", + "description": "VRF key of the block", + "minLength": 65, + "maxLength": 65 + }, + "op_cert": { + "type": "string", + "nullable": true, + "example": "da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c", + "description": "The hash of the operational certificate of the block producer" + }, + "op_cert_counter": { + "type": "string", + "nullable": true, + "example": "18", + "description": "The value of the counter used to produce the operational certificate" + }, + "previous_block": { + "type": "string", + "nullable": true, + "example": "43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05", + "description": "Hash of the previous block" + }, + "next_block": { + "type": "string", + "nullable": true, + "example": "8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa", + "description": "Hash of the next block" + }, + "confirmations": { + "type": "integer", + "example": 4698, + "description": "Number of block confirmations" + } + }, + "required": [ + "time", + "height", + "hash", + "slot", + "epoch", + "epoch_slot", + "slot_leader", + "size", + "tx_count", + "output", + "fees", + "block_vrf", + "op_cert", + "op_cert_counter", + "previous_block", + "next_block", + "confirmations" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "slot_number": { "type": "integer" } } + } + }, + "/blocks/epoch/{epoch_number}/slot/{slot_number}": { + "response": { + "200": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "example": 1641338934, + "description": "Block creation time in UNIX time" + }, + "height": { + "type": "integer", + "nullable": true, + "example": 15243593, + "description": "Block number" + }, + "hash": { + "type": "string", + "example": "4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a", + "description": "Hash of the block" + }, + "slot": { + "type": "integer", + "nullable": true, + "example": 412162133, + "description": "Slot number" + }, + "epoch": { + "type": "integer", + "nullable": true, + "example": 425, + "description": "Epoch number" + }, + "epoch_slot": { + "type": "integer", + "nullable": true, + "example": 12, + "description": "Slot within the epoch" + }, + "slot_leader": { + "type": "string", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy", + "description": "Bech32 ID of the slot leader or specific block description in case there is no slot leader" + }, + "size": { + "type": "integer", + "example": 3, + "description": "Block size in Bytes" + }, + "tx_count": { + "type": "integer", + "example": 1, + "description": "Number of transactions in the block" + }, + "output": { + "type": "string", + "nullable": true, + "example": "128314491794", + "description": "Total output within the block in Lovelaces" + }, + "fees": { + "type": "string", + "nullable": true, + "example": "592661", + "description": "Total fees within the block in Lovelaces" + }, + "block_vrf": { + "type": "string", + "nullable": true, + "example": "vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty", + "description": "VRF key of the block", + "minLength": 65, + "maxLength": 65 + }, + "op_cert": { + "type": "string", + "nullable": true, + "example": "da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c", + "description": "The hash of the operational certificate of the block producer" + }, + "op_cert_counter": { + "type": "string", + "nullable": true, + "example": "18", + "description": "The value of the counter used to produce the operational certificate" + }, + "previous_block": { + "type": "string", + "nullable": true, + "example": "43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05", + "description": "Hash of the previous block" + }, + "next_block": { + "type": "string", + "nullable": true, + "example": "8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa", + "description": "Hash of the next block" + }, + "confirmations": { + "type": "integer", + "example": 4698, + "description": "Number of block confirmations" + } + }, + "required": [ + "time", + "height", + "hash", + "slot", + "epoch", + "epoch_slot", + "slot_leader", + "size", + "tx_count", + "output", + "fees", + "block_vrf", + "op_cert", + "op_cert_counter", + "previous_block", + "next_block", + "confirmations" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { + "epoch_number": { "type": "integer" }, + "slot_number": { "type": "integer" } + } + } + }, + "/blocks/{hash_or_number}/txs": { + "response": { + "200": { + "type": "array", + "items": { "type": "string", "description": "Hash of the transaction" }, + "example": [ + "8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b", + "4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036", + "52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f", + "e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "hash_or_number": { "type": "string" } } + } + }, + "/blocks/{hash_or_number}/addresses": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Address that was affected in the specified block" + }, + "transactions": { + "type": "array", + "description": "List of transactions containing the address either in their inputs or outputs. Sorted by transaction index within a block, ascending.", + "items": { + "type": "object", + "properties": { "tx_hash": { "type": "string" } }, + "required": ["tx_hash"] + } + } + }, + "required": ["address", "transactions"] + }, + "example": [ + { + "address": "addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv", + "transactions": [ + { + "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0" + } + ] + }, + { + "address": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz", + "transactions": [ + { + "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157d0" + } + ] + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + } + } + }, + "params": { + "type": "object", + "properties": { "hash_or_number": { "type": "string" } } + } + }, + "/genesis": { + "response": { + "200": { + "type": "object", + "properties": { + "active_slots_coefficient": { + "type": "number", + "example": 0.05, + "description": "The proportion of slots in which blocks should be issued" + }, + "update_quorum": { + "type": "integer", + "example": 5, + "description": "Determines the quorum needed for votes on the protocol parameter updates" + }, + "max_lovelace_supply": { + "type": "string", + "example": "45000000000000000", + "description": "The total number of lovelace in the system" + }, + "network_magic": { + "type": "integer", + "example": 764824073, + "description": "Network identifier" + }, + "epoch_length": { + "type": "integer", + "example": 432000, + "description": "Number of slots in an epoch" + }, + "system_start": { + "type": "integer", + "example": 1506203091, + "description": "Time of slot 0 in UNIX time" + }, + "slots_per_kes_period": { + "type": "integer", + "example": 129600, + "description": "Number of slots in an KES period" + }, + "slot_length": { + "type": "integer", + "example": 1, + "description": "Duration of one slot in seconds" + }, + "max_kes_evolutions": { + "type": "integer", + "example": 62, + "description": "The maximum number of time a KES key can be evolved before a pool operator must create a new operational certificate" + }, + "security_param": { + "type": "integer", + "example": 2160, + "description": "Security parameter k" + } + }, + "required": [ + "active_slots_coefficient", + "update_quorum", + "max_lovelace_supply", + "network_magic", + "epoch_length", + "system_start", + "slots_per_kes_period", + "slot_length", + "max_kes_evolutions", + "security_param" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + } + }, + "/epochs/latest": { + "response": { + "200": { + "type": "object", + "properties": { + "epoch": { + "type": "integer", + "example": 225, + "description": "Epoch number" + }, + "start_time": { + "type": "integer", + "example": 1603403091, + "description": "Unix time of the start of the epoch" + }, + "end_time": { + "type": "integer", + "example": 1603835086, + "description": "Unix time of the end of the epoch" + }, + "first_block_time": { + "type": "integer", + "example": 1603403092, + "description": "Unix time of the first block of the epoch" + }, + "last_block_time": { + "type": "integer", + "example": 1603835084, + "description": "Unix time of the last block of the epoch" + }, + "block_count": { + "type": "integer", + "example": 21298, + "description": "Number of blocks within the epoch" + }, + "tx_count": { + "type": "integer", + "example": 17856, + "description": "Number of transactions within the epoch" + }, + "output": { + "type": "string", + "example": "7849943934049314", + "description": "Sum of all the transactions within the epoch in Lovelaces" + }, + "fees": { + "type": "string", + "example": "4203312194", + "description": "Sum of all the fees within the epoch in Lovelaces" + }, + "active_stake": { + "type": "string", + "nullable": true, + "example": "784953934049314", + "description": "Sum of all the active stakes within the epoch in Lovelaces" + } + }, + "required": [ + "epoch", + "start_time", + "end_time", + "first_block_time", + "last_block_time", + "block_count", + "tx_count", + "output", + "fees", + "active_stake" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + } + }, + "/epochs/latest/parameters": { + "response": { + "200": { + "type": "object", + "properties": { + "epoch": { + "type": "integer", + "example": 225, + "description": "Epoch number" + }, + "min_fee_a": { + "type": "integer", + "example": 44, + "description": "The linear factor for the minimum fee calculation for given epoch" + }, + "min_fee_b": { + "type": "integer", + "example": 155381, + "description": "The constant factor for the minimum fee calculation" + }, + "max_block_size": { + "type": "integer", + "example": 65536, + "description": "Maximum block body size in Bytes" + }, + "max_tx_size": { + "type": "integer", + "example": 16384, + "description": "Maximum transaction size" + }, + "max_block_header_size": { + "type": "integer", + "example": 1100, + "description": "Maximum block header size" + }, + "key_deposit": { + "type": "string", + "example": "2000000", + "description": "The amount of a key registration deposit in Lovelaces" + }, + "pool_deposit": { + "type": "string", + "example": "500000000", + "description": "The amount of a pool registration deposit in Lovelaces" + }, + "e_max": { + "type": "integer", + "example": 18, + "description": "Epoch bound on pool retirement" + }, + "n_opt": { + "type": "integer", + "example": 150, + "description": "Desired number of pools" + }, + "a0": { + "type": "number", + "example": 0.3, + "description": "Pool pledge influence" + }, + "rho": { + "type": "number", + "example": 0.003, + "description": "Monetary expansion" + }, + "tau": { + "type": "number", + "example": 0.2, + "description": "Treasury expansion" + }, + "decentralisation_param": { + "type": "number", + "example": 0.5, + "description": "Percentage of blocks produced by federated nodes" + }, + "extra_entropy": { + "type": "string", + "nullable": true, + "example": null, + "description": "Seed for extra entropy" + }, + "protocol_major_ver": { + "type": "integer", + "example": 2, + "description": "Accepted protocol major version" + }, + "protocol_minor_ver": { + "type": "integer", + "example": 0, + "description": "Accepted protocol minor version" + }, + "min_utxo": { + "type": "string", + "example": "1000000", + "description": "Minimum UTXO value. Use `coins_per_utxo_size` for Alonzo and later eras", + "deprecated": true + }, + "min_pool_cost": { + "type": "string", + "example": "340000000", + "description": "Minimum stake cost forced on the pool" + }, + "nonce": { + "type": "string", + "example": "1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81", + "description": "Epoch number only used once" + }, + "cost_models": { + "additionalProperties": true, + "type": "object", + "nullable": true, + "example": { + "PlutusV1": { + "addInteger-cpu-arguments-intercept": 197209, + "addInteger-cpu-arguments-slope": 0 + }, + "PlutusV2": { + "addInteger-cpu-arguments-intercept": 197209, + "addInteger-cpu-arguments-slope": 0 + } + }, + "description": "Cost models parameters for Plutus Core scripts" + }, + "price_mem": { + "type": "number", + "nullable": true, + "example": 0.0577, + "description": "The per word cost of script memory usage" + }, + "price_step": { + "type": "number", + "nullable": true, + "example": 0.0000721, + "description": "The cost of script execution step usage" + }, + "max_tx_ex_mem": { + "type": "string", + "nullable": true, + "example": "10000000", + "description": "The maximum number of execution memory allowed to be used in a single transaction" + }, + "max_tx_ex_steps": { + "type": "string", + "nullable": true, + "example": "10000000000", + "description": "The maximum number of execution steps allowed to be used in a single transaction" + }, + "max_block_ex_mem": { + "type": "string", + "nullable": true, + "example": "50000000", + "description": "The maximum number of execution memory allowed to be used in a single block" + }, + "max_block_ex_steps": { + "type": "string", + "nullable": true, + "example": "40000000000", + "description": "The maximum number of execution steps allowed to be used in a single block" + }, + "max_val_size": { + "type": "string", + "nullable": true, + "example": "5000", + "description": "The maximum Val size" + }, + "collateral_percent": { + "type": "integer", + "nullable": true, + "example": 150, + "description": "The percentage of the transactions fee which must be provided as collateral when including non-native scripts" + }, + "max_collateral_inputs": { + "type": "integer", + "nullable": true, + "example": 3, + "description": "The maximum number of collateral inputs allowed in a transaction" + }, + "coins_per_utxo_size": { + "type": "string", + "nullable": true, + "example": "34482", + "description": "Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later." + }, + "coins_per_utxo_word": { + "type": "string", + "nullable": true, + "example": "34482", + "description": "Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later.", + "deprecated": true + } + }, + "required": [ + "epoch", + "min_fee_a", + "min_fee_b", + "max_block_size", + "max_tx_size", + "max_block_header_size", + "key_deposit", + "pool_deposit", + "e_max", + "n_opt", + "a0", + "rho", + "tau", + "decentralisation_param", + "extra_entropy", + "protocol_major_ver", + "protocol_minor_ver", + "min_utxo", + "min_pool_cost", + "nonce", + "cost_models", + "price_mem", + "price_step", + "max_tx_ex_mem", + "max_tx_ex_steps", + "max_block_ex_mem", + "max_block_ex_steps", + "max_val_size", + "collateral_percent", + "max_collateral_inputs", + "coins_per_utxo_size", + "coins_per_utxo_word" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + } + }, + "/epochs/{number}": { + "response": { + "200": { + "type": "object", + "properties": { + "epoch": { + "type": "integer", + "example": 225, + "description": "Epoch number" + }, + "start_time": { + "type": "integer", + "example": 1603403091, + "description": "Unix time of the start of the epoch" + }, + "end_time": { + "type": "integer", + "example": 1603835086, + "description": "Unix time of the end of the epoch" + }, + "first_block_time": { + "type": "integer", + "example": 1603403092, + "description": "Unix time of the first block of the epoch" + }, + "last_block_time": { + "type": "integer", + "example": 1603835084, + "description": "Unix time of the last block of the epoch" + }, + "block_count": { + "type": "integer", + "example": 21298, + "description": "Number of blocks within the epoch" + }, + "tx_count": { + "type": "integer", + "example": 17856, + "description": "Number of transactions within the epoch" + }, + "output": { + "type": "string", + "example": "7849943934049314", + "description": "Sum of all the transactions within the epoch in Lovelaces" + }, + "fees": { + "type": "string", + "example": "4203312194", + "description": "Sum of all the fees within the epoch in Lovelaces" + }, + "active_stake": { + "type": "string", + "nullable": true, + "example": "784953934049314", + "description": "Sum of all the active stakes within the epoch in Lovelaces" + } + }, + "required": [ + "epoch", + "start_time", + "end_time", + "first_block_time", + "last_block_time", + "block_count", + "tx_count", + "output", + "fees", + "active_stake" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "number": { "type": "integer" } } + } + }, + "/epochs/{number}/next": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "epoch": { + "type": "integer", + "example": 225, + "description": "Epoch number" + }, + "start_time": { + "type": "integer", + "example": 1603403091, + "description": "Unix time of the start of the epoch" + }, + "end_time": { + "type": "integer", + "example": 1603835086, + "description": "Unix time of the end of the epoch" + }, + "first_block_time": { + "type": "integer", + "example": 1603403092, + "description": "Unix time of the first block of the epoch" + }, + "last_block_time": { + "type": "integer", + "example": 1603835084, + "description": "Unix time of the last block of the epoch" + }, + "block_count": { + "type": "integer", + "example": 21298, + "description": "Number of blocks within the epoch" + }, + "tx_count": { + "type": "integer", + "example": 17856, + "description": "Number of transactions within the epoch" + }, + "output": { + "type": "string", + "example": "7849943934049314", + "description": "Sum of all the transactions within the epoch in Lovelaces" + }, + "fees": { + "type": "string", + "example": "4203312194", + "description": "Sum of all the fees within the epoch in Lovelaces" + }, + "active_stake": { + "type": "string", + "nullable": true, + "example": "784953934049314", + "description": "Sum of all the active stakes within the epoch in Lovelaces" + } + }, + "required": [ + "epoch", + "start_time", + "end_time", + "first_block_time", + "last_block_time", + "block_count", + "tx_count", + "output", + "fees", + "active_stake" + ] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + } + } + }, + "params": { + "type": "object", + "properties": { "number": { "type": "integer" } } + } + }, + "/epochs/{number}/previous": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "epoch": { + "type": "integer", + "example": 225, + "description": "Epoch number" + }, + "start_time": { + "type": "integer", + "example": 1603403091, + "description": "Unix time of the start of the epoch" + }, + "end_time": { + "type": "integer", + "example": 1603835086, + "description": "Unix time of the end of the epoch" + }, + "first_block_time": { + "type": "integer", + "example": 1603403092, + "description": "Unix time of the first block of the epoch" + }, + "last_block_time": { + "type": "integer", + "example": 1603835084, + "description": "Unix time of the last block of the epoch" + }, + "block_count": { + "type": "integer", + "example": 21298, + "description": "Number of blocks within the epoch" + }, + "tx_count": { + "type": "integer", + "example": 17856, + "description": "Number of transactions within the epoch" + }, + "output": { + "type": "string", + "example": "7849943934049314", + "description": "Sum of all the transactions within the epoch in Lovelaces" + }, + "fees": { + "type": "string", + "example": "4203312194", + "description": "Sum of all the fees within the epoch in Lovelaces" + }, + "active_stake": { + "type": "string", + "nullable": true, + "example": "784953934049314", + "description": "Sum of all the active stakes within the epoch in Lovelaces" + } + }, + "required": [ + "epoch", + "start_time", + "end_time", + "first_block_time", + "last_block_time", + "block_count", + "tx_count", + "output", + "fees", + "active_stake" + ] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + } + } + }, + "params": { + "type": "object", + "properties": { "number": { "type": "integer" } } + } + }, + "/epochs/{number}/stakes": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "stake_address": { + "type": "string", + "example": "stake1u9l5q5jwgelgagzyt6nuaasefgmn8pd25c8e9qpeprq0tdcp0e3uk", + "description": "Stake address" + }, + "pool_id": { + "type": "string", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy", + "description": "Bech32 prefix of the pool delegated to" + }, + "amount": { + "type": "string", + "example": "4440295078", + "description": "Amount of active delegated stake in Lovelaces" + } + }, + "required": ["stake_address", "pool_id", "amount"] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + } + } + }, + "params": { + "type": "object", + "properties": { "number": { "type": "integer" } } + } + }, + "/epochs/{number}/stakes/{pool_id}": { + "response": { + "200": { + "type": "array", + "items": { + "properties": { + "stake_address": { + "type": "string", + "example": "stake1u9l5q5jwgelgagzyt6nuaasefgmn8pd25c8e9qpeprq0tdcp0e3uk", + "description": "Stake address" + }, + "amount": { + "type": "string", + "example": "4440295078", + "description": "Amount of active delegated stake in Lovelaces" + } + }, + "required": ["stake_address", "amount"] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + } + } + }, + "params": { + "type": "object", + "properties": { + "number": { "type": "integer" }, + "pool_id": { "type": "string" } + } + } + }, + "/epochs/{number}/blocks": { + "response": { + "200": { + "type": "array", + "items": { "type": "string", "description": "Hash of the block" }, + "example": [ + "d0fa315687e99ccdc96b14cc2ea74a767405d64427b648c470731a9b69e4606e", + "38bc6efb92a830a0ed22a64f979d120d26483fd3c811f6622a8c62175f530878", + "f3258fcd8b975c061b4fcdcfcbb438807134d6961ec278c200151274893b6b7d" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "number": { "type": "integer" } } + } + }, + "/epochs/{number}/blocks/{pool_id}": { + "response": { + "200": { + "type": "array", + "items": { "type": "string", "description": "Hash of the block" }, + "example": [ + "d0fa315687e99ccdc96b14cc2ea74a767405d64427b648c470731a9b69e4606e", + "38bc6efb92a830a0ed22a64f979d120d26483fd3c811f6622a8c62175f530878", + "f3258fcd8b975c061b4fcdcfcbb438807134d6961ec278c200151274893b6b7d" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { + "number": { "type": "integer" }, + "pool_id": { "type": "string" } + } + } + }, + "/epochs/{number}/parameters": { + "response": { + "200": { + "type": "object", + "properties": { + "epoch": { + "type": "integer", + "example": 225, + "description": "Epoch number" + }, + "min_fee_a": { + "type": "integer", + "example": 44, + "description": "The linear factor for the minimum fee calculation for given epoch" + }, + "min_fee_b": { + "type": "integer", + "example": 155381, + "description": "The constant factor for the minimum fee calculation" + }, + "max_block_size": { + "type": "integer", + "example": 65536, + "description": "Maximum block body size in Bytes" + }, + "max_tx_size": { + "type": "integer", + "example": 16384, + "description": "Maximum transaction size" + }, + "max_block_header_size": { + "type": "integer", + "example": 1100, + "description": "Maximum block header size" + }, + "key_deposit": { + "type": "string", + "example": "2000000", + "description": "The amount of a key registration deposit in Lovelaces" + }, + "pool_deposit": { + "type": "string", + "example": "500000000", + "description": "The amount of a pool registration deposit in Lovelaces" + }, + "e_max": { + "type": "integer", + "example": 18, + "description": "Epoch bound on pool retirement" + }, + "n_opt": { + "type": "integer", + "example": 150, + "description": "Desired number of pools" + }, + "a0": { + "type": "number", + "example": 0.3, + "description": "Pool pledge influence" + }, + "rho": { + "type": "number", + "example": 0.003, + "description": "Monetary expansion" + }, + "tau": { + "type": "number", + "example": 0.2, + "description": "Treasury expansion" + }, + "decentralisation_param": { + "type": "number", + "example": 0.5, + "description": "Percentage of blocks produced by federated nodes" + }, + "extra_entropy": { + "type": "string", + "nullable": true, + "example": null, + "description": "Seed for extra entropy" + }, + "protocol_major_ver": { + "type": "integer", + "example": 2, + "description": "Accepted protocol major version" + }, + "protocol_minor_ver": { + "type": "integer", + "example": 0, + "description": "Accepted protocol minor version" + }, + "min_utxo": { + "type": "string", + "example": "1000000", + "description": "Minimum UTXO value. Use `coins_per_utxo_size` for Alonzo and later eras", + "deprecated": true + }, + "min_pool_cost": { + "type": "string", + "example": "340000000", + "description": "Minimum stake cost forced on the pool" + }, + "nonce": { + "type": "string", + "example": "1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81", + "description": "Epoch number only used once" + }, + "cost_models": { + "additionalProperties": true, + "type": "object", + "nullable": true, + "example": { + "PlutusV1": { + "addInteger-cpu-arguments-intercept": 197209, + "addInteger-cpu-arguments-slope": 0 + }, + "PlutusV2": { + "addInteger-cpu-arguments-intercept": 197209, + "addInteger-cpu-arguments-slope": 0 + } + }, + "description": "Cost models parameters for Plutus Core scripts" + }, + "price_mem": { + "type": "number", + "nullable": true, + "example": 0.0577, + "description": "The per word cost of script memory usage" + }, + "price_step": { + "type": "number", + "nullable": true, + "example": 0.0000721, + "description": "The cost of script execution step usage" + }, + "max_tx_ex_mem": { + "type": "string", + "nullable": true, + "example": "10000000", + "description": "The maximum number of execution memory allowed to be used in a single transaction" + }, + "max_tx_ex_steps": { + "type": "string", + "nullable": true, + "example": "10000000000", + "description": "The maximum number of execution steps allowed to be used in a single transaction" + }, + "max_block_ex_mem": { + "type": "string", + "nullable": true, + "example": "50000000", + "description": "The maximum number of execution memory allowed to be used in a single block" + }, + "max_block_ex_steps": { + "type": "string", + "nullable": true, + "example": "40000000000", + "description": "The maximum number of execution steps allowed to be used in a single block" + }, + "max_val_size": { + "type": "string", + "nullable": true, + "example": "5000", + "description": "The maximum Val size" + }, + "collateral_percent": { + "type": "integer", + "nullable": true, + "example": 150, + "description": "The percentage of the transactions fee which must be provided as collateral when including non-native scripts" + }, + "max_collateral_inputs": { + "type": "integer", + "nullable": true, + "example": 3, + "description": "The maximum number of collateral inputs allowed in a transaction" + }, + "coins_per_utxo_size": { + "type": "string", + "nullable": true, + "example": "34482", + "description": "Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later." + }, + "coins_per_utxo_word": { + "type": "string", + "nullable": true, + "example": "34482", + "description": "Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later.", + "deprecated": true + } + }, + "required": [ + "epoch", + "min_fee_a", + "min_fee_b", + "max_block_size", + "max_tx_size", + "max_block_header_size", + "key_deposit", + "pool_deposit", + "e_max", + "n_opt", + "a0", + "rho", + "tau", + "decentralisation_param", + "extra_entropy", + "protocol_major_ver", + "protocol_minor_ver", + "min_utxo", + "min_pool_cost", + "nonce", + "cost_models", + "price_mem", + "price_step", + "max_tx_ex_mem", + "max_tx_ex_steps", + "max_block_ex_mem", + "max_block_ex_steps", + "max_val_size", + "collateral_percent", + "max_collateral_inputs", + "coins_per_utxo_size", + "coins_per_utxo_word" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "number": { "type": "integer" } } + } + }, + "/txs/{hash}": { + "response": { + "200": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "example": "1e043f100dce12d107f679685acd2fc0610e10f72a92d412794c9773d11d8477", + "description": "Transaction hash" + }, + "block": { + "type": "string", + "example": "356b7d7dbb696ccd12775c016941057a9dc70898d87a63fc752271bb46856940", + "description": "Block hash" + }, + "block_height": { + "type": "integer", + "example": 123456, + "description": "Block number" + }, + "block_time": { + "type": "integer", + "example": 1635505891, + "description": "Block creation time in UNIX time" + }, + "slot": { + "type": "integer", + "example": 42000000, + "description": "Slot number" + }, + "index": { + "type": "integer", + "example": 1, + "description": "Transaction index within the block" + }, + "output_amount": { + "type": "array", + "items": { + "type": "object", + "description": "The sum of all the UTXO per asset", + "properties": { + "unit": { + "type": "string", + "format": "Lovelace or concatenation of asset policy_id and hex-encoded asset_name", + "description": "The unit of the value" + }, + "quantity": { + "type": "string", + "description": "The quantity of the unit" + } + }, + "required": ["unit", "quantity"] + }, + "example": [ + { "unit": "lovelace", "quantity": "42000000" }, + { + "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + "quantity": "12" + } + ] + }, + "fees": { + "type": "string", + "example": "182485", + "description": "Fees of the transaction in Lovelaces" + }, + "deposit": { + "type": "string", + "example": "0", + "description": "Deposit within the transaction in Lovelaces" + }, + "size": { + "type": "integer", + "example": 433, + "description": "Size of the transaction in Bytes" + }, + "invalid_before": { + "type": "string", + "nullable": true, + "example": null, + "description": "Left (included) endpoint of the timelock validity intervals" + }, + "invalid_hereafter": { + "type": "string", + "nullable": true, + "example": "13885913", + "description": "Right (excluded) endpoint of the timelock validity intervals" + }, + "utxo_count": { + "type": "integer", + "example": 4, + "description": "Count of UTXOs within the transaction" + }, + "withdrawal_count": { + "type": "integer", + "example": 0, + "description": "Count of the withdrawals within the transaction" + }, + "mir_cert_count": { + "type": "integer", + "example": 0, + "description": "Count of the MIR certificates within the transaction" + }, + "delegation_count": { + "type": "integer", + "example": 0, + "description": "Count of the delegations within the transaction" + }, + "stake_cert_count": { + "type": "integer", + "example": 0, + "description": "Count of the stake keys (de)registration within the transaction" + }, + "pool_update_count": { + "type": "integer", + "example": 0, + "description": "Count of the stake pool registration and update certificates within the transaction" + }, + "pool_retire_count": { + "type": "integer", + "example": 0, + "description": "Count of the stake pool retirement certificates within the transaction" + }, + "asset_mint_or_burn_count": { + "type": "integer", + "example": 0, + "description": "Count of asset mints and burns within the transaction" + }, + "redeemer_count": { + "type": "integer", + "example": 0, + "description": "Count of redeemers within the transaction" + }, + "valid_contract": { + "type": "boolean", + "example": true, + "description": "True if contract script passed validation" + } + }, + "required": [ + "hash", + "block", + "block_height", + "block_time", + "slot", + "index", + "output_amount", + "fees", + "deposit", + "size", + "invalid_before", + "invalid_hereafter", + "utxo_count", + "withdrawal_count", + "mir_cert_count", + "delegation_count", + "stake_cert_count", + "pool_update_count", + "pool_retire_count", + "asset_mint_or_burn_count", + "redeemer_count", + "valid_contract" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "hash": { "type": "string" } } + } + }, + "/txs/{hash}/utxos": { + "response": { + "200": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "example": "1e043f100dce12d107f679685acd2fc0610e10f72a92d412794c9773d11d8477", + "description": "Transaction hash" + }, + "inputs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "example": "addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv", + "description": "Input address" + }, + "amount": { + "type": "array", + "items": { + "type": "object", + "description": "The sum of all the UTXO per asset", + "properties": { + "unit": { + "type": "string", + "format": "Lovelace or concatenation of asset policy_id and hex-encoded asset_name", + "description": "The unit of the value" + }, + "quantity": { + "type": "string", + "description": "The quantity of the unit" + } + }, + "required": ["unit", "quantity"] + }, + "example": [ + { "unit": "lovelace", "quantity": "42000000" }, + { + "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + "quantity": "12" + } + ] + }, + "tx_hash": { + "type": "string", + "example": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0", + "description": "Hash of the UTXO transaction" + }, + "output_index": { + "type": "integer", + "example": 0, + "description": "UTXO index in the transaction" + }, + "data_hash": { + "type": "string", + "nullable": true, + "description": "The hash of the transaction output datum", + "example": "9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710" + }, + "inline_datum": { + "type": "string", + "nullable": true, + "description": "CBOR encoded inline datum", + "example": "19a6aa" + }, + "reference_script_hash": { + "type": "string", + "nullable": true, + "description": "The hash of the reference script of the input", + "example": "13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1" + }, + "collateral": { + "type": "boolean", + "example": false, + "description": "Whether the input is a collateral consumed on script validation failure" + }, + "reference": { + "type": "boolean", + "example": false, + "description": "Whether the input is a reference transaction input" + } + }, + "required": [ + "address", + "amount", + "tx_hash", + "output_index", + "data_hash", + "inline_datum", + "reference_script_hash", + "collateral" + ] + } + }, + "outputs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "example": "addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv", + "description": "Output address" + }, + "amount": { + "type": "array", + "items": { + "type": "object", + "description": "The sum of all the UTXO per asset", + "properties": { + "unit": { + "type": "string", + "format": "Lovelace or concatenation of asset policy_id and hex-encoded asset_name", + "description": "The unit of the value" + }, + "quantity": { + "type": "string", + "description": "The quantity of the unit" + } + }, + "required": ["unit", "quantity"] + }, + "example": [ + { "unit": "lovelace", "quantity": "42000000" }, + { + "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + "quantity": "12" + } + ] + }, + "output_index": { + "type": "integer", + "example": 0, + "description": "UTXO index in the transaction" + }, + "data_hash": { + "type": "string", + "nullable": true, + "description": "The hash of the transaction output datum", + "example": "9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710" + }, + "inline_datum": { + "type": "string", + "nullable": true, + "description": "CBOR encoded inline datum", + "example": "19a6aa" + }, + "collateral": { + "type": "boolean", + "example": false, + "description": "Whether the output is a collateral output" + }, + "reference_script_hash": { + "type": "string", + "nullable": true, + "description": "The hash of the reference script of the output", + "example": "13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1" + } + }, + "required": [ + "address", + "amount", + "output_index", + "data_hash", + "inline_datum", + "collateral", + "reference_script_hash" + ] + } + } + }, + "required": ["hash", "inputs", "outputs"] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "hash": { "type": "string" } } + } + }, + "/txs/{hash}/stakes": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "cert_index": { + "type": "integer", + "example": 0, + "description": "Index of the certificate within the transaction" + }, + "address": { + "type": "string", + "example": "stake1u9t3a0tcwune5xrnfjg4q7cpvjlgx9lcv0cuqf5mhfjwrvcwrulda", + "description": "Delegation stake address" + }, + "registration": { + "type": "boolean", + "example": true, + "description": "Registration boolean, false if deregistration" + } + }, + "required": ["cert_index", "address", "registration"] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "hash": { "type": "string" } } + } + }, + "/txs/{hash}/delegations": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "index": { + "type": "integer", + "example": 0, + "description": "Index of the certificate within the transaction", + "deprecated": true + }, + "cert_index": { + "type": "integer", + "example": 0, + "description": "Index of the certificate within the transaction" + }, + "address": { + "type": "string", + "example": "stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc", + "description": "Bech32 delegation stake address" + }, + "pool_id": { + "type": "string", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy", + "description": "Bech32 ID of delegated stake pool" + }, + "active_epoch": { + "type": "integer", + "example": 210, + "description": "Epoch in which the delegation becomes active" + } + }, + "required": [ + "index", + "cert_index", + "address", + "pool_id", + "active_epoch" + ] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "hash": { "type": "string" } } + } + }, + "/txs/{hash}/withdrawals": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "example": "stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc", + "description": "Bech32 withdrawal address" + }, + "amount": { + "type": "string", + "example": "431833601", + "description": "Withdrawal amount in Lovelaces" + } + }, + "required": ["address", "amount"] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "hash": { "type": "string" } } + } + }, + "/txs/{hash}/mirs": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "pot": { + "type": "string", + "enum": ["reserve", "treasury"], + "example": "reserve", + "description": "Source of MIR funds" + }, + "cert_index": { + "type": "integer", + "example": 0, + "description": "Index of the certificate within the transaction" + }, + "address": { + "type": "string", + "example": "stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc", + "description": "Bech32 stake address" + }, + "amount": { + "type": "string", + "example": "431833601", + "description": "MIR amount in Lovelaces" + } + }, + "required": ["pot", "cert_index", "address", "amount"] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "hash": { "type": "string" } } + } + }, + "/txs/{hash}/pool_updates": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "cert_index": { + "type": "integer", + "example": 0, + "description": "Index of the certificate within the transaction" + }, + "pool_id": { + "type": "string", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy", + "description": "Bech32 encoded pool ID" + }, + "vrf_key": { + "type": "string", + "example": "0b5245f9934ec2151116fb8ec00f35fd00e0aa3b075c4ed12cce440f999d8233", + "description": "VRF key hash" + }, + "pledge": { + "type": "string", + "example": "5000000000", + "description": "Stake pool certificate pledge in Lovelaces" + }, + "margin_cost": { + "type": "number", + "example": 0.05, + "description": "Margin tax cost of the stake pool" + }, + "fixed_cost": { + "type": "string", + "example": "340000000", + "description": "Fixed tax cost of the stake pool in Lovelaces" + }, + "reward_account": { + "type": "string", + "example": "stake1uxkptsa4lkr55jleztw43t37vgdn88l6ghclfwuxld2eykgpgvg3f", + "description": "Bech32 reward account of the stake pool" + }, + "owners": { + "type": "array", + "items": { + "type": "string", + "description": "Bech32 accounts of the pool owners" + }, + "example": [ + "stake1u98nnlkvkk23vtvf9273uq7cph5ww6u2yq2389psuqet90sv4xv9v" + ] + }, + "metadata": { + "type": "object", + "nullable": true, + "properties": { + "url": { + "type": "string", + "nullable": true, + "example": "https://stakenuts.com/mainnet.json", + "description": "URL to the stake pool metadata" + }, + "hash": { + "type": "string", + "nullable": true, + "example": "47c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c", + "description": "Hash of the metadata file" + }, + "ticker": { + "type": "string", + "nullable": true, + "example": "NUTS", + "description": "Ticker of the stake pool" + }, + "name": { + "type": "string", + "nullable": true, + "example": "Stake Nuts", + "description": "Name of the stake pool" + }, + "description": { + "type": "string", + "nullable": true, + "example": "The best pool ever", + "description": "Description of the stake pool" + }, + "homepage": { + "type": "string", + "nullable": true, + "example": "https://stakentus.com/", + "description": "Home page of the stake pool" + } + }, + "required": [ + "url", + "hash", + "ticker", + "name", + "description", + "homepage" + ] + }, + "relays": { + "type": "array", + "items": { + "type": "object", + "properties": { + "ipv4": { + "type": "string", + "nullable": true, + "example": "4.4.4.4", + "description": "IPv4 address of the relay" + }, + "ipv6": { + "type": "string", + "nullable": true, + "example": "https://stakenuts.com/mainnet.json", + "description": "IPv6 address of the relay" + }, + "dns": { + "type": "string", + "nullable": true, + "example": "relay1.stakenuts.com", + "description": "DNS name of the relay" + }, + "dns_srv": { + "type": "string", + "nullable": true, + "example": "_relays._tcp.relays.stakenuts.com", + "description": "DNS SRV entry of the relay" + }, + "port": { + "type": "integer", + "example": 3001, + "description": "Network port of the relay" + } + }, + "required": ["ipv4", "ipv6", "dns", "dns_srv", "port"] + } + }, + "active_epoch": { + "type": "integer", + "example": 210, + "description": "Epoch in which the update becomes active" + } + }, + "required": [ + "cert_index", + "pool_id", + "vrf_key", + "pledge", + "margin_cost", + "fixed_cost", + "reward_account", + "owners", + "metadata", + "relays", + "active_epoch" + ] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "hash": { "type": "string" } } + } + }, + "/txs/{hash}/pool_retires": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "cert_index": { + "type": "integer", + "example": 0, + "description": "Index of the certificate within the transaction" + }, + "pool_id": { + "type": "string", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy", + "description": "Bech32 stake pool ID" + }, + "retiring_epoch": { + "type": "integer", + "example": 216, + "description": "Epoch in which the pool becomes retired" + } + }, + "required": ["cert_index", "pool_id", "retiring_epoch"] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "hash": { "type": "string" } } + } + }, + "/txs/{hash}/metadata": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { "label": { "type": "string" }, "json_metadata": {} }, + "required": ["label", "json_metadata"] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "hash": { "type": "string" } } + } + }, + "/txs/{hash}/metadata/cbor": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "label": { "type": "string", "description": "Metadata label" }, + "cbor_metadata": { + "deprecated": true, + "type": "string", + "nullable": true, + "description": "Content of the CBOR metadata" + }, + "metadata": { + "type": "string", + "nullable": true, + "description": "Content of the CBOR metadata in hex" + } + }, + "required": ["label", "cbor_metadata", "metadata"] + }, + "example": [ + { + "label": "1968", + "cbor_metadata": "\\xa100a16b436f6d62696e6174696f6e8601010101010c", + "metadata": "a100a16b436f6d62696e6174696f6e8601010101010c" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "hash": { "type": "string" } } + } + }, + "/txs/{hash}/redeemers": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_index": { + "type": "integer", + "example": 0, + "description": "Index of the redeemer within the transaction" + }, + "purpose": { + "type": "string", + "enum": ["spend", "mint", "cert", "reward"], + "example": "spend", + "description": "Validation purpose" + }, + "script_hash": { + "type": "string", + "example": "ec26b89af41bef0f7585353831cb5da42b5b37185e0c8a526143b824", + "description": "Script hash" + }, + "redeemer_data_hash": { + "type": "string", + "example": "923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec", + "description": "Redeemer data hash" + }, + "datum_hash": { + "type": "string", + "example": "923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec", + "deprecated": true, + "description": "Datum hash" + }, + "unit_mem": { + "type": "string", + "example": "1700", + "description": "The budget in Memory to run a script" + }, + "unit_steps": { + "type": "string", + "example": "476468", + "description": "The budget in CPU steps to run a script" + }, + "fee": { + "type": "string", + "example": "172033", + "description": "The fee consumed to run the script" + } + }, + "required": [ + "tx_index", + "purpose", + "unit_mem", + "unit_steps", + "script_hash", + "redeemer_data_hash", + "datum_hash", + "fee" + ] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "hash": { "type": "string" } } + } + }, + "/txs/{hash}/required_signers": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "witness_hash": { + "type": "string", + "example": "d52e11f3e48436dd42dbec6d88c239732e503b8b7a32af58e5f87625", + "description": "Hash of the witness" + } + }, + "required": ["witness_hash"] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "hash": { "type": "string" } } + } + }, + "/txs/{hash}/cbor": { + "response": { + "200": { + "type": "object", + "properties": { + "cbor": { + "type": "string", + "description": "CBOR serialized transaction" + } + }, + "required": ["cbor"], + "example": { + "cbor": "84a40081825820203e5b61e0949ffc8fe594727cf7ed73c7396cc2bd212af9a680c9423b5880eb00018282583900f0c60254ecb0addd4c7e40c28fd05b65014ab4c8ecece06c7dcee5a0724bf93336a8225e7ef152b41aea955173be91af19250edea1ddafab1a000f42408258390014beadb876d0a2a593fe2f1b539389e00731290910170e9a1be78e847d2ccdc7af469706878018739bcfde9ae23f009c4ae38aee0a4b4f3a1b0000000253fa0f93021a0002922d031a0303c827a100818258207d3ae39f9a1c916ac7c13f10c7d67c70b870c286a1af71485455c5022a3f391d5840e2f481acd1601a3f39fa976317bba685ddd774621a92611edaaa3df9f48a3b13d8b25ecb2f28b031c1602512418efed3033e463a0dcd22a856c808033cc9e00ff5f6" + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "hash": { "type": "string" } } + } + }, + "/tx/submit": { + "response": { + "200": { + "type": "string", + "format": "hex", + "minLength": 64, + "maxLength": 64, + "example": "d1662b24fa9fe985fc2dce47455df399cb2e31e1e1819339e885801cc3578908" + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "425": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 425 }, + "error": { "type": "string", "example": "Mempool Full" }, + "message": { + "type": "string", + "example": "Mempool is full, please try resubmitting again later." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + } + }, + "/accounts/{stake_address}": { + "response": { + "200": { + "type": "object", + "properties": { + "stake_address": { + "type": "string", + "example": "stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7", + "description": "Bech32 stake address" + }, + "active": { + "type": "boolean", + "example": true, + "description": "Registration state of an account" + }, + "active_epoch": { + "type": "integer", + "nullable": true, + "example": 412, + "description": "Epoch of the most recent action - registration or deregistration" + }, + "controlled_amount": { + "type": "string", + "example": "619154618165", + "description": "Balance of the account in Lovelaces" + }, + "rewards_sum": { + "type": "string", + "example": "319154618165", + "description": "Sum of all rewards for the account in the Lovelaces" + }, + "withdrawals_sum": { + "type": "string", + "example": "12125369253", + "description": "Sum of all the withdrawals for the account in Lovelaces" + }, + "reserves_sum": { + "type": "string", + "example": "319154618165", + "description": "Sum of all funds from reserves for the account in the Lovelaces" + }, + "treasury_sum": { + "type": "string", + "example": "12000000", + "description": "Sum of all funds from treasury for the account in the Lovelaces" + }, + "withdrawable_amount": { + "type": "string", + "example": "319154618165", + "description": "Sum of available rewards that haven't been withdrawn yet for the account in the Lovelaces" + }, + "pool_id": { + "type": "string", + "nullable": true, + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy", + "description": "Bech32 pool ID that owns the account" + } + }, + "required": [ + "stake_address", + "active", + "active_epoch", + "controlled_amount", + "rewards_sum", + "withdrawals_sum", + "reserves_sum", + "treasury_sum", + "withdrawable_amount", + "pool_id" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "stake_address": { "type": "string" } } + } + }, + "/accounts/{stake_address}/rewards": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "epoch": { + "type": "integer", + "description": "Epoch of the associated reward" + }, + "amount": { + "type": "string", + "description": "Rewards for given epoch in Lovelaces" + }, + "pool_id": { + "type": "string", + "description": "Bech32 pool ID being delegated to" + }, + "type": { + "type": "string", + "enum": ["leader", "member", "pool_deposit_refund"], + "description": "Type of the reward" + } + }, + "required": ["epoch", "amount", "pool_id", "type"] + }, + "example": [ + { + "epoch": 215, + "amount": "12695385", + "pool_id": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy", + "type": "member" + }, + { + "epoch": 216, + "amount": "3586329", + "pool_id": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy", + "type": "member" + }, + { + "epoch": 217, + "amount": "1", + "pool_id": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy", + "type": "member" + }, + { + "epoch": 217, + "amount": "1337", + "pool_id": "pool1cytwr0n7eas6du2h2xshl8ypa1yqr18f0erlhhjcuczysiunjcs", + "type": "leader" + }, + { + "epoch": 218, + "amount": "1395265", + "pool_id": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy", + "type": "member" + }, + { + "epoch": 218, + "amount": "500000000", + "pool_id": "pool1cytwr0n7eas6du2h2xshl8ypa1yqr18f0erlhhjcuczysiunjcs", + "type": "pool_deposit_refund" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "stake_address": { "type": "string" } } + } + }, + "/accounts/{stake_address}/history": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "active_epoch": { + "type": "integer", + "example": 210, + "description": "Epoch in which the stake was active" + }, + "amount": { + "type": "string", + "description": "Stake amount in Lovelaces" + }, + "pool_id": { + "type": "string", + "description": "Bech32 ID of pool being delegated to" + } + }, + "required": ["active_epoch", "amount", "pool_id"] + }, + "example": [ + { + "active_epoch": 210, + "amount": "12695385", + "pool_id": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + }, + { + "active_epoch": 211, + "amount": "22695385", + "pool_id": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "stake_address": { "type": "string" } } + } + }, + "/accounts/{stake_address}/delegations": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "active_epoch": { + "type": "integer", + "example": 210, + "description": "Epoch in which the delegation becomes active" + }, + "tx_hash": { + "type": "string", + "description": "Hash of the transaction containing the delegation" + }, + "amount": { + "type": "string", + "description": "Rewards for given epoch in Lovelaces" + }, + "pool_id": { + "type": "string", + "description": "Bech32 ID of pool being delegated to" + } + }, + "required": ["active_epoch", "tx_hash", "amount", "pool_id"] + }, + "example": [ + { + "active_epoch": 210, + "tx_hash": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531", + "amount": "12695385", + "pool_id": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + }, + { + "active_epoch": 242, + "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0", + "amount": "12691385", + "pool_id": "pool1kchver88u3kygsak8wgll7htr8uxn5v35lfrsyy842nkscrzyvj" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "stake_address": { "type": "string" } } + } + }, + "/accounts/{stake_address}/registrations": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Hash of the transaction containing the (de)registration certificate" + }, + "action": { + "type": "string", + "enum": ["registered", "deregistered"], + "description": "Action in the certificate" + } + }, + "required": ["tx_hash", "action"] + }, + "example": [ + { + "tx_hash": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531", + "action": "registered" + }, + { + "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0", + "action": "deregistered" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "stake_address": { "type": "string" } } + } + }, + "/accounts/{stake_address}/withdrawals": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Hash of the transaction containing the withdrawal" + }, + "amount": { + "type": "string", + "description": "Withdrawal amount in Lovelaces" + } + }, + "required": ["tx_hash", "amount"] + }, + "example": [ + { + "tx_hash": "48a9625c841eea0dd2bb6cf551eabe6523b7290c9ce34be74eedef2dd8f7ecc5", + "amount": "454541212442" + }, + { + "tx_hash": "4230b0cbccf6f449f0847d8ad1d634a7a49df60d8c142bb8cc2dbc8ca03d9e34", + "amount": "97846969" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "stake_address": { "type": "string" } } + } + }, + "/accounts/{stake_address}/mirs": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Hash of the transaction containing the MIR" + }, + "amount": { + "type": "string", + "description": "MIR amount in Lovelaces" + } + }, + "required": ["tx_hash", "amount"] + }, + "example": [ + { + "tx_hash": "69705bba1d687a816ff5a04ec0c358a1f1ef075ab7f9c6cc2763e792581cec6d", + "amount": "2193707473" + }, + { + "tx_hash": "baaa77b63d4d7d2bb3ab02c9b85978c2092c336dede7f59e31ad65452d510c13", + "amount": "14520198574" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "stake_address": { "type": "string" } } + } + }, + "/accounts/{stake_address}/addresses": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Address associated with the stake key" + } + }, + "required": ["address"] + }, + "example": [ + { + "address": "addr1qx2kd28nq8ac5prwg32hhvudlwggpgfp8utlyqxu6wqgz62f79qsdmm5dsknt9ecr5w468r9ey0fxwkdrwh08ly3tu9sy0f4qd" + }, + { + "address": "addr1qys3czp8s9thc6u2fqed9yq3h24nyw28uk0m6mkgn9dkckjf79qsdmm5dsknt9ecr5w468r9ey0fxwkdrwh08ly3tu9suth4w4" + }, + { + "address": "addr1q8j55h253zcvl326sk5qdt2n8z7eghzspe0ekxgncr796s2f79qsdmm5dsknt9ecr5w468r9ey0fxwkdrwh08ly3tu9sjmd35m" + }, + { + "address": "addr1q8f7gxrprank3drhx8k5grlux7ene0nlwun8y9thu8mc3yjf79qsdmm5dsknt9ecr5w468r9ey0fxwkdrwh08ly3tu9sls6vnt" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "stake_address": { "type": "string" } } + } + }, + "/accounts/{stake_address}/addresses/assets": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "description": "The sum of all assets of all addresses associated with a given account", + "properties": { + "unit": { + "type": "string", + "format": "Concatenation of asset policy_id and hex-encoded asset_name", + "description": "The unit of the value" + }, + "quantity": { + "type": "string", + "description": "The quantity of the unit" + } + }, + "required": ["unit", "quantity"] + }, + "example": [ + { + "unit": "d5e6bf0500378d4f0da4e8dde6becec7621cd8cbf5cbb9b87013d4cc537061636542756433343132", + "quantity": "1" + }, + { + "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + "quantity": "125" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "stake_address": { "type": "string" } } + } + }, + "/accounts/{stake_address}/addresses/total": { + "response": { + "200": { + "type": "object", + "properties": { + "stake_address": { + "type": "string", + "description": "Bech32 encoded stake address", + "example": "stake1u9l5q5jwgelgagzyt6nuaasefgmn8pd25c8e9qpeprq0tdcp0e3uk" + }, + "received_sum": { + "type": "array", + "items": { + "type": "object", + "description": "The sum of all the UTXO per asset for all addresses associated with the account", + "properties": { + "unit": { + "type": "string", + "format": "Lovelace or concatenation of asset policy_id and hex-encoded asset_name", + "description": "The unit of the value" + }, + "quantity": { + "type": "string", + "description": "The quantity of the unit" + } + }, + "required": ["unit", "quantity"] + }, + "example": [ + { "unit": "lovelace", "quantity": "42000000" }, + { + "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + "quantity": "12" + } + ] + }, + "sent_sum": { + "type": "array", + "items": { + "type": "object", + "description": "The sum of all the UTXO per asset for all addresses associated with the account", + "properties": { + "unit": { + "type": "string", + "format": "Lovelace or concatenation of asset policy_id and hex-encoded asset_name", + "description": "The unit of the value" + }, + "quantity": { + "type": "string", + "description": "The quantity of the unit" + } + }, + "required": ["unit", "quantity"] + }, + "example": [ + { "unit": "lovelace", "quantity": "42000000" }, + { + "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + "quantity": "12" + } + ] + }, + "tx_count": { + "type": "integer", + "example": 12, + "description": "Count of all transactions for all addresses associated with the account" + } + }, + "required": ["stake_address", "received_sum", "sent_sum", "tx_count"] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "stake_address": { "type": "string" } } + } + }, + "/mempool": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Hash of the transaction" + } + }, + "required": ["tx_hash"] + }, + "example": [ + { + "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + } + }, + "/mempool/{hash}": { + "response": { + "200": { + "type": "object", + "properties": { + "tx": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "example": "1e043f100dce12d107f679685acd2fc0610e10f72a92d412794c9773d11d8477", + "description": "Transaction hash" + }, + "output_amount": { + "type": "array", + "items": { + "type": "object", + "description": "The sum of all the UTXO per asset", + "properties": { + "unit": { + "type": "string", + "format": "Lovelace or concatenation of asset policy_id and hex-encoded asset_name", + "description": "The unit of the value" + }, + "quantity": { + "type": "string", + "description": "The quantity of the unit" + } + }, + "required": ["unit", "quantity"] + }, + "example": [ + { "unit": "lovelace", "quantity": "42000000" }, + { + "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + "quantity": "12" + } + ] + }, + "fees": { + "type": "string", + "example": "182485", + "description": "Fees of the transaction in Lovelaces" + }, + "deposit": { + "type": "string", + "example": "0", + "description": "Deposit within the transaction in Lovelaces" + }, + "size": { + "type": "integer", + "example": 433, + "description": "Size of the transaction in Bytes" + }, + "invalid_before": { + "type": "string", + "nullable": true, + "example": null, + "description": "Left (included) endpoint of the timelock validity intervals" + }, + "invalid_hereafter": { + "type": "string", + "nullable": true, + "example": "13885913", + "description": "Right (excluded) endpoint of the timelock validity intervals" + }, + "utxo_count": { + "type": "integer", + "example": 4, + "description": "Count of UTXOs within the transaction" + }, + "withdrawal_count": { + "type": "integer", + "example": 0, + "description": "Count of the withdrawals within the transaction" + }, + "mir_cert_count": { + "type": "integer", + "example": 0, + "description": "Count of the MIR certificates within the transaction" + }, + "delegation_count": { + "type": "integer", + "example": 0, + "description": "Count of the delegations within the transaction" + }, + "stake_cert_count": { + "type": "integer", + "example": 0, + "description": "Count of the stake keys (de)registration within the transaction" + }, + "pool_update_count": { + "type": "integer", + "example": 0, + "description": "Count of the stake pool registration and update certificates within the transaction" + }, + "pool_retire_count": { + "type": "integer", + "example": 0, + "description": "Count of the stake pool retirement certificates within the transaction" + }, + "asset_mint_or_burn_count": { + "type": "integer", + "example": 0, + "description": "Count of asset mints and burns within the transaction" + }, + "redeemer_count": { + "type": "integer", + "example": 0, + "description": "Count of redeemers within the transaction" + }, + "valid_contract": { + "type": "boolean", + "example": true, + "description": "True if contract script passed validation" + } + }, + "required": [ + "hash", + "output_amount", + "fees", + "deposit", + "size", + "invalid_before", + "invalid_hereafter", + "utxo_count", + "withdrawal_count", + "mir_cert_count", + "delegation_count", + "stake_cert_count", + "pool_update_count", + "pool_retire_count", + "asset_mint_or_burn_count", + "redeemer_count", + "valid_contract" + ] + }, + "inputs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "example": "addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv", + "description": "Input address" + }, + "tx_hash": { + "type": "string", + "example": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0", + "description": "Hash of the UTXO transaction" + }, + "output_index": { + "type": "integer", + "example": 0, + "description": "UTXO index in the transaction" + }, + "collateral": { + "type": "boolean", + "example": false, + "description": "Whether the input is a collateral consumed on script validation failure" + }, + "reference": { + "type": "boolean", + "example": false, + "description": "Whether the input is a reference transaction input" + } + }, + "required": ["tx_hash", "output_index", "collateral"] + } + }, + "outputs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "example": "addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv", + "description": "Output address" + }, + "amount": { + "type": "array", + "items": { + "type": "object", + "description": "The sum of all the UTXO per asset", + "properties": { + "unit": { + "type": "string", + "format": "Lovelace or concatenation of asset policy_id and hex-encoded asset_name", + "description": "The unit of the value" + }, + "quantity": { + "type": "string", + "description": "The quantity of the unit" + } + }, + "required": ["unit", "quantity"] + }, + "example": [ + { "unit": "lovelace", "quantity": "42000000" }, + { + "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + "quantity": "12" + } + ] + }, + "output_index": { + "type": "integer", + "example": 0, + "description": "UTXO index in the transaction" + }, + "data_hash": { + "type": "string", + "nullable": true, + "description": "The hash of the transaction output datum", + "example": "9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710" + }, + "inline_datum": { + "type": "string", + "nullable": true, + "description": "CBOR encoded inline datum", + "example": "19a6aa" + }, + "collateral": { + "type": "boolean", + "example": false, + "description": "Whether the output is a collateral output" + }, + "reference_script_hash": { + "type": "string", + "nullable": true, + "description": "The hash of the reference script of the output", + "example": "13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1" + } + }, + "required": [ + "address", + "amount", + "output_index", + "data_hash", + "inline_datum", + "collateral", + "reference_script_hash" + ] + } + }, + "redeemers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_index": { + "type": "integer", + "example": 0, + "description": "Index of the redeemer within the transaction" + }, + "purpose": { + "type": "string", + "enum": ["spend", "mint", "cert", "reward"], + "example": "spend", + "description": "Validation purpose" + }, + "unit_mem": { + "type": "string", + "example": "1700", + "description": "The budget in Memory to run a script" + }, + "unit_steps": { + "type": "string", + "example": "476468", + "description": "The budget in CPU steps to run a script" + } + }, + "required": ["tx_index", "purpose", "unit_mem", "unit_steps"] + } + } + }, + "required": ["tx", "inputs", "outputs"] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "hash": { "type": "string" } } + } + }, + "/mempool/addresses/{address}": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Hash of the transaction" + } + }, + "required": ["tx_hash"] + }, + "example": [ + { + "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "address": { "type": "string" } } + } + }, + "/metadata/txs/labels": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "label": { "type": "string", "description": "Metadata label" }, + "cip10": { + "type": "string", + "nullable": true, + "description": "CIP10 defined description" + }, + "count": { + "type": "string", + "description": "The count of metadata entries with a specific label" + } + }, + "required": ["label", "cip10", "count"] + }, + "example": [ + { "label": "1990", "cip10": null, "count": "1" }, + { + "label": "1967", + "cip10": "nut.link metadata oracles registry", + "count": "3" + }, + { + "label": "1968", + "cip10": "nut.link metadata oracles data points", + "count": "16321" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + } + }, + "/metadata/txs/labels/{label}": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Transaction hash that contains the specific metadata" + }, + "json_metadata": { + "anyOf": [ + { "type": "string" }, + { "type": "object", "additionalProperties": true }, + { "type": "array", "items": {} }, + { "type": "integer" }, + { "type": "number" }, + { "type": "boolean" }, + { "type": "null" } + ], + "description": "Content of the JSON metadata" + } + }, + "required": ["tx_hash", "json_metadata"] + }, + "example": [ + { + "tx_hash": "257d75c8ddb0434e9b63e29ebb6241add2b835a307aa33aedba2effe09ed4ec8", + "json_metadata": { + "ADAUSD": [ + { "value": "0.10409800535729975", "source": "ergoOracles" } + ] + } + }, + { + "tx_hash": "e865f2cc01ca7381cf98dcdc4de07a5e8674b8ea16e6a18e3ed60c186fde2b9c", + "json_metadata": { + "ADAUSD": [ + { "value": "0.15409850555139935", "source": "ergoOracles" } + ] + } + }, + { + "tx_hash": "4237501da3cfdd53ade91e8911e764bd0699d88fd43b12f44a1f459b89bc91be", + "json_metadata": null + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "label": { "type": "string" } } + } + }, + "/metadata/txs/labels/{label}/cbor": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Transaction hash that contains the specific metadata" + }, + "cbor_metadata": { + "deprecated": true, + "type": "string", + "nullable": true, + "description": "Content of the CBOR metadata" + }, + "metadata": { + "type": "string", + "nullable": true, + "description": "Content of the CBOR metadata in hex" + } + }, + "required": ["tx_hash", "cbor_metadata", "metadata"] + }, + "example": [ + { + "tx_hash": "257d75c8ddb0434e9b63e29ebb6241add2b835a307aa33aedba2effe09ed4ec8", + "cbor_metadata": null, + "metadata": null + }, + { + "tx_hash": "e865f2cc01ca7381cf98dcdc4de07a5e8674b8ea16e6a18e3ed60c186fde2b9c", + "cbor_metadata": null, + "metadata": null + }, + { + "tx_hash": "4237501da3cfdd53ade91e8911e764bd0699d88fd43b12f44a1f459b89bc91be", + "cbor_metadata": "\\xa100a16b436f6d62696e6174696f6e8601010101010c", + "metadata": "a100a16b436f6d62696e6174696f6e8601010101010c" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "label": { "type": "string" } } + } + }, + "/addresses/{address}": { + "response": { + "200": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Bech32 encoded addresses", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + }, + "amount": { + "type": "array", + "items": { + "type": "object", + "description": "The sum of all the UTXO per asset", + "properties": { + "unit": { + "type": "string", + "format": "Lovelace or concatenation of asset policy_id and hex-encoded asset_name", + "description": "The unit of the value" + }, + "quantity": { + "type": "string", + "description": "The quantity of the unit" + } + }, + "required": ["unit", "quantity"] + }, + "example": [ + { "unit": "lovelace", "quantity": "42000000" }, + { + "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + "quantity": "12" + } + ] + }, + "stake_address": { + "type": "string", + "nullable": true, + "example": "stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7", + "description": "Stake address that controls the key" + }, + "type": { + "type": "string", + "enum": ["byron", "shelley"], + "example": "shelley", + "description": "Address era" + }, + "script": { + "type": "boolean", + "example": false, + "description": "True if this is a script address" + } + }, + "required": ["address", "amount", "stake_address", "type", "script"] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "address": { "type": "string" } } + } + }, + "/addresses/{address}/extended": { + "response": { + "200": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Bech32 encoded addresses", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + }, + "amount": { + "type": "array", + "items": { + "type": "object", + "description": "The sum of all the UTXO per asset", + "properties": { + "unit": { + "type": "string", + "format": "Lovelace or concatenation of asset policy_id and hex-encoded asset_name", + "description": "The unit of the value" + }, + "quantity": { + "type": "string", + "description": "The quantity of the unit" + }, + "decimals": { + "type": "integer", + "nullable": true, + "description": "Number of decimal places of the asset unit. Primary data source is CIP68 reference NFT with a fallback to off-chain metadata." + }, + "has_nft_onchain_metadata": { + "type": "boolean", + "description": "True if the latest minting transaction includes metadata (best-effort)" + } + }, + "required": [ + "unit", + "quantity", + "decimals", + "has_nft_onchain_metadata" + ] + }, + "example": [ + { + "unit": "lovelace", + "quantity": "42000000", + "decimals": 6, + "has_nft_onchain_metadata": false + }, + { + "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + "quantity": "12", + "decimals": null, + "has_nft_onchain_metadata": true + } + ] + }, + "stake_address": { + "type": "string", + "nullable": true, + "example": "stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7", + "description": "Stake address that controls the key" + }, + "type": { + "type": "string", + "enum": ["byron", "shelley"], + "example": "shelley", + "description": "Address era" + }, + "script": { + "type": "boolean", + "example": false, + "description": "True if this is a script address" + } + }, + "required": ["address", "amount", "stake_address", "type", "script"] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "address": { "type": "string" } } + } + }, + "/addresses/{address}/total": { + "response": { + "200": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Bech32 encoded address", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + }, + "received_sum": { + "type": "array", + "items": { + "type": "object", + "description": "The sum of all the UTXO per asset", + "properties": { + "unit": { + "type": "string", + "format": "Lovelace or concatenation of asset policy_id and hex-encoded asset_name", + "description": "The unit of the value" + }, + "quantity": { + "type": "string", + "description": "The quantity of the unit" + } + }, + "required": ["unit", "quantity"] + }, + "example": [ + { "unit": "lovelace", "quantity": "42000000" }, + { + "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + "quantity": "12" + } + ] + }, + "sent_sum": { + "type": "array", + "items": { + "type": "object", + "description": "The sum of all the UTXO per asset", + "properties": { + "unit": { + "type": "string", + "format": "Lovelace or concatenation of asset policy_id and hex-encoded asset_name", + "description": "The unit of the value" + }, + "quantity": { + "type": "string", + "description": "The quantity of the unit" + } + }, + "required": ["unit", "quantity"] + }, + "example": [ + { "unit": "lovelace", "quantity": "42000000" }, + { + "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + "quantity": "12" + } + ] + }, + "tx_count": { + "type": "integer", + "example": 12, + "description": "Count of all transactions on the address" + } + }, + "required": ["address", "received_sum", "sent_sum", "tx_count"] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "address": { "type": "string" } } + } + }, + "/addresses/{address}/utxos": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Bech32 encoded addresses - useful when querying by payment_cred", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + }, + "tx_hash": { + "type": "string", + "description": "Transaction hash of the UTXO" + }, + "tx_index": { + "type": "integer", + "deprecated": true, + "description": "UTXO index in the transaction" + }, + "output_index": { + "type": "integer", + "description": "UTXO index in the transaction" + }, + "amount": { + "type": "array", + "items": { + "type": "object", + "description": "The sum of all the UTXO per asset", + "properties": { + "unit": { + "type": "string", + "format": "Lovelace or concatenation of asset policy_id and hex-encoded asset_name", + "description": "The unit of the value" + }, + "quantity": { + "type": "string", + "description": "The quantity of the unit" + } + }, + "required": ["unit", "quantity"] + } + }, + "block": { + "type": "string", + "description": "Block hash of the UTXO" + }, + "data_hash": { + "type": "string", + "nullable": true, + "description": "The hash of the transaction output datum" + }, + "inline_datum": { + "type": "string", + "nullable": true, + "description": "CBOR encoded inline datum", + "example": "19a6aa" + }, + "reference_script_hash": { + "type": "string", + "nullable": true, + "description": "The hash of the reference script of the output", + "example": "13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1" + } + }, + "required": [ + "address", + "tx_hash", + "tx_index", + "output_index", + "amount", + "block", + "data_hash", + "inline_datum", + "reference_script_hash" + ] + }, + "example": [ + { + "address": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz", + "tx_hash": "39a7a284c2a0948189dc45dec670211cd4d72f7b66c5726c08d9b3df11e44d58", + "output_index": 0, + "amount": [{ "unit": "lovelace", "quantity": "42000000" }], + "block": "7eb8e27d18686c7db9a18f8bbcfe34e3fed6e047afaa2d969904d15e934847e6", + "data_hash": "9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710", + "inline_datum": null, + "reference_script_hash": null + }, + { + "address": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz", + "tx_hash": "4c4e67bafa15e742c13c592b65c8f74c769cd7d9af04c848099672d1ba391b49", + "output_index": 0, + "amount": [{ "unit": "lovelace", "quantity": "729235000" }], + "block": "953f1b80eb7c11a7ffcd67cbd4fde66e824a451aca5a4065725e5174b81685b7", + "data_hash": null, + "inline_datum": null, + "reference_script_hash": null + }, + { + "address": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz", + "tx_hash": "768c63e27a1c816a83dc7b07e78af673b2400de8849ea7e7b734ae1333d100d2", + "output_index": 1, + "amount": [ + { "unit": "lovelace", "quantity": "42000000" }, + { + "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + "quantity": "12" + } + ], + "block": "5c571f83fe6c784d3fbc223792627ccf0eea96773100f9aedecf8b1eda4544d7", + "data_hash": null, + "inline_datum": null, + "reference_script_hash": null + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "address": { "type": "string" } } + } + }, + "/addresses/{address}/utxos/{asset}": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Bech32 encoded addresses - useful when querying by payment_cred", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + }, + "tx_hash": { + "type": "string", + "description": "Transaction hash of the UTXO" + }, + "tx_index": { + "type": "integer", + "deprecated": true, + "description": "UTXO index in the transaction" + }, + "output_index": { + "type": "integer", + "description": "UTXO index in the transaction" + }, + "amount": { + "type": "array", + "items": { + "type": "object", + "description": "The sum of all the UTXO per asset", + "properties": { + "unit": { + "type": "string", + "format": "Lovelace or concatenation of asset policy_id and hex-encoded asset_name", + "description": "The unit of the value" + }, + "quantity": { + "type": "string", + "description": "The quantity of the unit" + } + }, + "required": ["unit", "quantity"] + } + }, + "block": { + "type": "string", + "description": "Block hash of the UTXO" + }, + "data_hash": { + "type": "string", + "nullable": true, + "description": "The hash of the transaction output datum" + }, + "inline_datum": { + "type": "string", + "nullable": true, + "description": "CBOR encoded inline datum", + "example": "19a6aa" + }, + "reference_script_hash": { + "type": "string", + "nullable": true, + "description": "The hash of the reference script of the output", + "example": "13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1" + } + }, + "required": [ + "address", + "tx_hash", + "tx_index", + "output_index", + "amount", + "block", + "data_hash", + "inline_datum", + "reference_script_hash" + ] + }, + "example": [ + { + "address": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz", + "tx_hash": "39a7a284c2a0948189dc45dec670211cd4d72f7b66c5726c08d9b3df11e44d58", + "output_index": 0, + "amount": [{ "unit": "lovelace", "quantity": "42000000" }], + "block": "7eb8e27d18686c7db9a18f8bbcfe34e3fed6e047afaa2d969904d15e934847e6", + "data_hash": "9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710", + "inline_datum": null, + "reference_script_hash": null + }, + { + "address": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz", + "tx_hash": "4c4e67bafa15e742c13c592b65c8f74c769cd7d9af04c848099672d1ba391b49", + "output_index": 0, + "amount": [{ "unit": "lovelace", "quantity": "729235000" }], + "block": "953f1b80eb7c11a7ffcd67cbd4fde66e824a451aca5a4065725e5174b81685b7", + "data_hash": null, + "inline_datum": null, + "reference_script_hash": null + }, + { + "address": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz", + "tx_hash": "768c63e27a1c816a83dc7b07e78af673b2400de8849ea7e7b734ae1333d100d2", + "output_index": 1, + "amount": [ + { "unit": "lovelace", "quantity": "42000000" }, + { + "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + "quantity": "12" + } + ], + "block": "5c571f83fe6c784d3fbc223792627ccf0eea96773100f9aedecf8b1eda4544d7", + "data_hash": null, + "inline_datum": null, + "reference_script_hash": null + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { + "address": { "type": "string" }, + "asset": { "type": "string" } + } + } + }, + "/addresses/{address}/txs": { + "response": { + "200": { + "type": "array", + "items": { "type": "string", "description": "Hash of the transaction" }, + "example": [ + "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531", + "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "address": { "type": "string" } } + } + }, + "/addresses/{address}/transactions": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Hash of the transaction" + }, + "tx_index": { + "type": "integer", + "description": "Transaction index within the block" + }, + "block_height": { + "type": "integer", + "description": "Block height" + }, + "block_time": { + "type": "integer", + "description": "Block creation time in UNIX time" + } + }, + "required": ["tx_hash", "tx_index", "block_height", "block_time"] + }, + "example": [ + { + "tx_hash": "8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b", + "tx_index": 6, + "block_height": 69, + "block_time": 1635505891 + }, + { + "tx_hash": "52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f", + "tx_index": 9, + "block_height": 4547, + "block_time": 1635505987 + }, + { + "tx_hash": "e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b", + "tx_index": 0, + "block_height": 564654, + "block_time": 1834505492 + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { + "type": "string", + "enum": ["asc", "desc"], + "default": "asc" + }, + "from": { "type": "string" }, + "to": { "type": "string" } + } + }, + "params": { + "type": "object", + "properties": { "address": { "type": "string" } } + } + }, + "/pools": { + "response": { + "200": { + "type": "array", + "items": { "type": "string", "description": "Bech32 encoded pool ID" }, + "example": [ + "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy", + "pool1hn7hlwrschqykupwwrtdfkvt2u4uaxvsgxyh6z63703p2knj288", + "pool1ztjyjfsh432eqetadf82uwuxklh28xc85zcphpwq6mmezavzad2" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + } + }, + "/pools/extended": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "pool_id": { + "type": "string", + "example": "pool1z5uqdk7dzdxaae5633fqfcu2eqzy3a3rgtuvy087fdld7yws0xt", + "description": "Bech32 encoded pool ID" + }, + "hex": { + "type": "string", + "example": "0f292fcaa02b8b2f9b3c8f9fd8e0bb21abedb692a6d5058df3ef2735", + "description": "Hexadecimal pool ID." + }, + "active_stake": { + "type": "string", + "example": "4200000000", + "description": "Active delegated amount" + }, + "live_stake": { + "type": "string", + "example": "6900000000", + "description": "Currently delegated amount" + } + }, + "required": ["pool_id", "hex", "active_stake", "live_stake"] + }, + "example": [ + { + "pool_id": "pool19u64770wqp6s95gkajc8udheske5e6ljmpq33awxk326zjaza0q", + "hex": "2f355f79ee007502d116ecb07e36f985b34cebf2d84118f5c6b455a1", + "active_stake": "1541200000", + "live_stake": "1541400000" + }, + { + "pool_id": "pool1dvla4zq98hpvacv20snndupjrqhuc79zl6gjap565nku6et5zdx", + "hex": "6b3fda88053dc2cee18a7c2736f032182fcc78a2fe912e869aa4edcd", + "active_stake": "22200000", + "live_stake": "48955550" + }, + { + "pool_id": "pool1wvccajt4eugjtf3k0ja3exjqdj7t8egsujwhcw4tzj4rzsxzw5w", + "hex": "73318ec975cf1125a6367cbb1c9a406cbcb3e510e49d7c3aab14aa31", + "active_stake": "9989541215", + "live_stake": "168445464878" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + } + }, + "/pools/retired": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "pool_id": { + "type": "string", + "example": "pool1z5uqdk7dzdxaae5633fqfcu2eqzy3a3rgtuvy087fdld7yws0xt", + "description": "Bech32 encoded pool ID" + }, + "epoch": { + "type": "integer", + "example": 242, + "description": "Retirement epoch number" + } + }, + "required": ["pool_id", "epoch"] + }, + "example": [ + { + "pool_id": "pool19u64770wqp6s95gkajc8udheske5e6ljmpq33awxk326zjaza0q", + "epoch": 225 + }, + { + "pool_id": "pool1dvla4zq98hpvacv20snndupjrqhuc79zl6gjap565nku6et5zdx", + "epoch": 215 + }, + { + "pool_id": "pool1wvccajt4eugjtf3k0ja3exjqdj7t8egsujwhcw4tzj4rzsxzw5w", + "epoch": 231 + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + } + }, + "/pools/retiring": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "pool_id": { + "type": "string", + "example": "pool1z5uqdk7dzdxaae5633fqfcu2eqzy3a3rgtuvy087fdld7yws0xt", + "description": "Bech32 encoded pool ID" + }, + "epoch": { + "type": "integer", + "example": 242, + "description": "Retirement epoch number" + } + }, + "required": ["pool_id", "epoch"] + }, + "example": [ + { + "pool_id": "pool19u64770wqp6s95gkajc8udheske5e6ljmpq33awxk326zjaza0q", + "epoch": 225 + }, + { + "pool_id": "pool1dvla4zq98hpvacv20snndupjrqhuc79zl6gjap565nku6et5zdx", + "epoch": 215 + }, + { + "pool_id": "pool1wvccajt4eugjtf3k0ja3exjqdj7t8egsujwhcw4tzj4rzsxzw5w", + "epoch": 231 + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + } + }, + "/pools/{pool_id}": { + "response": { + "200": { + "type": "object", + "properties": { + "pool_id": { + "type": "string", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy", + "description": "Bech32 pool ID" + }, + "hex": { + "type": "string", + "example": "0f292fcaa02b8b2f9b3c8f9fd8e0bb21abedb692a6d5058df3ef2735", + "description": "Hexadecimal pool ID." + }, + "vrf_key": { + "type": "string", + "example": "0b5245f9934ec2151116fb8ec00f35fd00e0aa3b075c4ed12cce440f999d8233", + "description": "VRF key hash" + }, + "blocks_minted": { + "type": "integer", + "example": 69, + "description": "Total minted blocks" + }, + "blocks_epoch": { + "type": "integer", + "example": 4, + "description": "Number of blocks minted in the current epoch" + }, + "live_stake": { "type": "string", "example": "6900000000" }, + "live_size": { "type": "number", "example": 0.42 }, + "live_saturation": { "type": "number", "example": 0.93 }, + "live_delegators": { "type": "number", "example": 127 }, + "active_stake": { "type": "string", "example": "4200000000" }, + "active_size": { "type": "number", "example": 0.43 }, + "declared_pledge": { + "type": "string", + "example": "5000000000", + "description": "Stake pool certificate pledge" + }, + "live_pledge": { + "type": "string", + "example": "5000000001", + "description": "Stake pool current pledge" + }, + "margin_cost": { + "type": "number", + "example": 0.05, + "description": "Margin tax cost of the stake pool" + }, + "fixed_cost": { + "type": "string", + "example": "340000000", + "description": "Fixed tax cost of the stake pool" + }, + "reward_account": { + "type": "string", + "example": "stake1uxkptsa4lkr55jleztw43t37vgdn88l6ghclfwuxld2eykgpgvg3f", + "description": "Bech32 reward account of the stake pool" + }, + "owners": { + "type": "array", + "items": { + "type": "string", + "description": "Bech32 accounts of the pool owners" + }, + "example": [ + "stake1u98nnlkvkk23vtvf9273uq7cph5ww6u2yq2389psuqet90sv4xv9v" + ] + }, + "registration": { + "type": "array", + "items": { + "type": "string", + "description": "Hash of the transaction including registration" + }, + "example": [ + "9f83e5484f543e05b52e99988272a31da373f3aab4c064c76db96643a355d9dc", + "7ce3b8c433bf401a190d58c8c483d8e3564dfd29ae8633c8b1b3e6c814403e95", + "3e6e1200ce92977c3fe5996bd4d7d7e192bcb7e231bc762f9f240c76766535b9" + ] + }, + "retirement": { + "type": "array", + "items": { + "type": "string", + "description": "Hash of the transaction including retirement", + "example": "252f622976d39e646815db75a77289cf16df4ad2b287dd8e3a889ce14c13d1a8" + } + } + }, + "required": [ + "pool_id", + "hex", + "vrf_key", + "blocks_minted", + "blocks_epoch", + "live_stake", + "live_size", + "live_saturation", + "live_delegators", + "active_stake", + "active_size", + "declared_pledge", + "live_pledge", + "margin_cost", + "fixed_cost", + "reward_account", + "owners", + "registration", + "retirement" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "pool_id": { "type": "string" } } + } + }, + "/pools/{pool_id}/history": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "epoch": { + "type": "integer", + "example": 233, + "description": "Epoch number" + }, + "blocks": { + "type": "integer", + "example": 22, + "description": "Number of blocks created by pool" + }, + "active_stake": { + "type": "string", + "example": "20485965693569", + "description": "Active (Snapshot of live stake 2 epochs ago) stake in Lovelaces" + }, + "active_size": { + "type": "number", + "example": 1.2345, + "description": "Pool size (percentage) of overall active stake at that epoch" + }, + "delegators_count": { + "type": "integer", + "example": 115, + "description": "Number of delegators for epoch" + }, + "rewards": { + "type": "string", + "example": "206936253674159", + "description": "Total rewards received before distribution to delegators" + }, + "fees": { + "type": "string", + "example": "1290968354", + "description": "Pool operator rewards" + } + }, + "required": [ + "epoch", + "blocks", + "active_stake", + "active_size", + "delegators_count", + "rewards", + "fees" + ] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "pool_id": { "type": "string" } } + } + }, + "/pools/{pool_id}/metadata": { + "response": { + "200": { + "anyOf": [ + { + "type": "object", + "properties": { + "pool_id": { + "type": "string", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy", + "description": "Bech32 pool ID" + }, + "hex": { + "type": "string", + "example": "0f292fcaa02b8b2f9b3c8f9fd8e0bb21abedb692a6d5058df3ef2735", + "description": "Hexadecimal pool ID" + }, + "url": { + "type": "string", + "nullable": true, + "example": "https://stakenuts.com/mainnet.json", + "description": "URL to the stake pool metadata" + }, + "hash": { + "type": "string", + "nullable": true, + "example": "47c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c", + "description": "Hash of the metadata file" + }, + "ticker": { + "type": "string", + "nullable": true, + "example": "NUTS", + "description": "Ticker of the stake pool" + }, + "name": { + "type": "string", + "nullable": true, + "example": "Stake Nuts", + "description": "Name of the stake pool" + }, + "description": { + "type": "string", + "nullable": true, + "example": "The best pool ever", + "description": "Description of the stake pool" + }, + "homepage": { + "type": "string", + "nullable": true, + "example": "https://stakentus.com/", + "description": "Home page of the stake pool" + } + }, + "required": [ + "pool_id", + "hex", + "url", + "hash", + "ticker", + "name", + "description", + "homepage" + ] + }, + { "type": "object" } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "pool_id": { "type": "string" } } + } + }, + "/pools/{pool_id}/relays": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "ipv4": { + "type": "string", + "nullable": true, + "example": "4.4.4.4", + "description": "IPv4 address of the relay" + }, + "ipv6": { + "type": "string", + "nullable": true, + "example": "https://stakenuts.com/mainnet.json", + "description": "IPv6 address of the relay" + }, + "dns": { + "type": "string", + "nullable": true, + "example": "relay1.stakenuts.com", + "description": "DNS name of the relay" + }, + "dns_srv": { + "type": "string", + "nullable": true, + "example": "_relays._tcp.relays.stakenuts.com", + "description": "DNS SRV entry of the relay" + }, + "port": { + "type": "integer", + "example": 3001, + "description": "Network port of the relay" + } + }, + "required": ["ipv4", "ipv6", "dns", "dns_srv", "port"] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "pool_id": { "type": "string" } } + } + }, + "/pools/{pool_id}/delegators": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Bech32 encoded stake addresses" + }, + "live_stake": { + "type": "string", + "description": "Currently delegated amount" + } + }, + "required": ["address", "live_stake"] + }, + "example": [ + { + "address": "stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha", + "live_stake": "1137959159981411" + }, + { + "address": "stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u", + "live_stake": "16958865648" + }, + { + "address": "stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck", + "live_stake": "18605647" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "pool_id": { "type": "string" } } + } + }, + "/pools/{pool_id}/blocks": { + "response": { + "200": { + "type": "array", + "items": { "type": "string", "description": "Block hashes" }, + "example": [ + "d8982ca42cfe76b747cc681d35d671050a9e41e9cfe26573eb214e94fe6ff21d", + "026436c539e2ce84c7f77ffe669f4e4bbbb3b9c53512e5857dcba8bb0b4e9a8c", + "bcc8487f419b8c668a18ea2120822a05df6dfe1de1f0fac3feba88cf760f303c", + "86bf7b4a274e0f8ec9816171667c1b4a0cfc661dc21563f271acea9482b62df7" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "pool_id": { "type": "string" } } + } + }, + "/pools/{pool_id}/updates": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { "type": "string", "description": "Transaction ID" }, + "cert_index": { + "type": "integer", + "description": "Certificate within the transaction" + }, + "action": { + "type": "string", + "enum": ["registered", "deregistered"], + "description": "Action in the certificate" + } + }, + "required": ["tx_hash", "cert_index", "action"] + }, + "example": [ + { + "tx_hash": "6804edf9712d2b619edb6ac86861fe93a730693183a262b165fcc1ba1bc99cad", + "cert_index": 0, + "action": "registered" + }, + { + "tx_hash": "9c190bc1ac88b2ab0c05a82d7de8b71b67a9316377e865748a89d4426c0d3005", + "cert_index": 0, + "action": "deregistered" + }, + { + "tx_hash": "e14a75b0eb2625de7055f1f580d70426311b78e0d36dd695a6bdc96c7b3d80e0", + "cert_index": 1, + "action": "registered" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "pool_id": { "type": "string" } } + } + }, + "/assets": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "asset": { + "type": "string", + "format": "Concatenation of the policy_id and hex-encoded asset_name", + "description": "Asset identifier" + }, + "quantity": { + "type": "string", + "description": "Current asset quantity" + } + }, + "required": ["asset", "quantity"] + }, + "example": [ + { + "asset": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + "quantity": "1" + }, + { + "asset": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e75d", + "quantity": "100000" + }, + { + "asset": "6804edf9712d2b619edb6ac86861fe93a730693183a262b165fcc1ba1bc99cad", + "quantity": "18605647" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + } + }, + "/assets/{asset}": { + "response": { + "200": { + "type": "object", + "properties": { + "asset": { + "type": "string", + "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + "description": "Hex-encoded asset full name" + }, + "policy_id": { + "type": "string", + "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a7", + "description": "Policy ID of the asset" + }, + "asset_name": { + "type": "string", + "nullable": true, + "example": "6e7574636f696e", + "description": "Hex-encoded asset name of the asset" + }, + "fingerprint": { + "type": "string", + "example": "asset1pkpwyknlvul7az0xx8czhl60pyel45rpje4z8w", + "description": "CIP14 based user-facing fingerprint" + }, + "quantity": { + "type": "string", + "example": "12000", + "description": "Current asset quantity" + }, + "initial_mint_tx_hash": { + "type": "string", + "example": "6804edf9712d2b619edb6ac86861fe93a730693183a262b165fcc1ba1bc99cad", + "description": "ID of the initial minting transaction" + }, + "mint_or_burn_count": { + "type": "integer", + "example": 1, + "description": "Count of mint and burn transactions" + }, + "onchain_metadata": { + "type": "object", + "nullable": true, + "additionalProperties": true, + "description": "On-chain metadata which SHOULD adhere to the valid standards,\nbased on which we perform the look up and display the asset\n(best effort)\n" + }, + "onchain_metadata_standard": { + "type": "string", + "nullable": true, + "enum": ["CIP25v1", "CIP25v2", "CIP68v1", "CIP68v2"], + "description": "If on-chain metadata passes validation, we display the standard\nunder which it is valid\n" + }, + "onchain_metadata_extra": { + "type": "string", + "nullable": true, + "description": "Arbitrary plutus data (CIP68).\n" + }, + "metadata": { + "type": "object", + "nullable": true, + "description": "Off-chain metadata fetched from GitHub based on network.\nMainnet: https://github.com/cardano-foundation/cardano-token-registry/\nTestnet: https://github.com/input-output-hk/metadata-registry-testnet/\n", + "properties": { + "name": { + "type": "string", + "example": "nutcoin", + "description": "Asset name" + }, + "description": { + "type": "string", + "example": "The Nut Coin", + "description": "Asset description" + }, + "ticker": { + "type": "string", + "nullable": true, + "example": "nutc" + }, + "url": { + "type": "string", + "nullable": true, + "example": "https://www.stakenuts.com/", + "description": "Asset website" + }, + "logo": { + "type": "string", + "nullable": true, + "example": "iVBORw0KGgoAAAANSUhEUgAAADAAAAAoCAYAAAC4h3lxAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAAB3RJTUUH5QITCDUPjqwFHwAAB9xJREFUWMPVWXtsU9cZ/8499/r6dZ3E9rUdO7ZDEgglFWO8KaOsJW0pCLRKrN1AqqYVkqoqrYo0ja7bpElru1WairStFKY9WzaE1E1tx+jokKqwtqFNyhKahEJJyJNgJ37E9r1+3HvO/sFR4vhx7SBtfH/F3/l93/f7ne/4PBxEKYU72dj/ZfH772v1TU+HtqbTaX8wOO01GPQpRVH7JEm+vGHDuq6z7/8jUSoHKtaBKkEUFUXdajDy1hUrmrs6zn/wWS7m7pZVjMUirKGUTnzc+e9xLcTrPPVfZzDz06Sc2lyQGEIyAPzT7Xa+dvE/3e+XLaCxoflHsVj8MAAYs74aa/WHoenwvpkZKeFy2Z5NJlOPUkqXZccFwSSrKjlyffjLH+TL6XTUGTGL/6hklD3ldIrj2M5MRmkLBMcvaRLQ1Nj88sxM/HCBfMP+eu/OYGDqe6l0WmpoqJ/88upgrU7HrQNA/cFg6MlkKiLlBtVUO40cx54BgHvLIT/HJLvdeqh/4NKxogKWN7fsCoUi7xTLxLJ4vLq6ak//wKVOrdXtttrTDMPsqJA8AAAwDErdu3VL3alTf5ma9eWCpoKhn5dKpCiqJxicPucQPVu0FHaInn35yHMcKwPAa4SQ3QCwFgDWUko3qSr5vqqSgTypuEg4Mo/zvA74/Y0rZSnZU8akSHV17k2fXfy0txjI5224kEym1s/1EUI7LBbztweHrkzkizn49LP6U6feepFSeggAQK/n04SQZ8bGrxdeQjZrbRvGzLH5hcibRqOhPplMfS1fIY5jz4xPDBdcGggho2h3z9sOLRazdG3wqp9SMgUlzGZ17SSEPsRx7J8CwfGu3PF57WhqqjfN/VxVJUxKUrIdITAXKpDJKFscosdfaFy0u+/K9aXTmXe0kAcAmA5Nng5Hbj6Tj/wCAYFAcN7uEY3GXGazMSHLqVVFapgBoMPna9yqhRAAgCTJMa3YUjZPgNFkSlWYx5eUkx+0tKx83V3rF+cVYJjruWCe133DIXqMmrNrFSDabRcWkywYmG5XFOW6aHcfb9324CoAgMmbo9MIoXkneCajiAihV/c/8eSiBSw4BxyiZxQA6m7H7FBKT2CMn2MY5jFFUX6ZO+5w2j8aHZ7YH40FByrJD5DnHGAY5uTtIA8AgBDaR4F2Yxb3WizCgmtA4ObUPSazodduqz3Suu0hf0U1cjvgdNSJ1dWWveFwdDUAtAiC2Uopdcdi8c9Zlh3GmDGl05mtAKAvo47EcdwThJCjqqpWFxALlNITomg73tff21GRAJez7iVK4WGGYfoJIQduBsbm7UrLm1ueCoUiv65kpiilw1ZbzcFoZOYoIcRTAn6eYZgXJm+Oni+Vd3YJbdyweSch9HlK6SpVVfcyDDq7Yf3m2XPBIXraKyV/a4b9UkLawbLsZgB4rwR8CyGkw13r+5fX27BckwBAEJ47oKpk8+DgUIdod7fV1vqOAMDrlZLPmqKoB+rrvXIgOP6w0WjYy3Ls5RL4bUk52bVm9fqnCk7M3CXU2ND8+MxM7BcIIftiyRYyntcdHh0bmr0wfmXl6p2SJB2KRmP3l4j7zejYUFtRAQAAgslm1Bv4nyGEDpYiIwjmjw0G/RjP866JiclNqqqWfKLq9fyZkdHBBXcnl9O71GDgD8bj0ncRQqZ8sRgzL9yYHH2pqICsOUTPLgA4CXNeZFmzWIS/YhYfjUZmvqPjuceSckrz25pS2h2cmlhbaBwhzr6kfsnL8Xhif55YYFl23Y3Jkdl7EVMoUSA4/q6qqNsBIPd11e52u45FwtG3CSH7yiEPAGC1Vt9dXGBmanDoygFLlbAjtzZCCMyC6VeaOpA1l9N7l1kwtauKaozHE28YTQaQpeR7+TqjxXheR0fHhhgt2CX1S3clEtKC16HL5djYe+niBU0CcmYA2W21/Qih5ZqDcoxlMZ24MaJJAABA87IVJ8Lh6N65Pr1B/+LIyLUfAhRZQvnM6ah7ZDHkAQB0vK6/HHxNTc2ruT5Zkldn/y5LACFk+2LIAwAwCGl6yGSt88KHXbmrBCHkqEgAz+vWLFZALJb4qNwYhFDhCSknkSwnQ4sVgDFeWg7+gQe2r1tAmkGTFQlACHWVg89nhJA9ot3dphV/eeCLp/Pw6K5IQP0S39uLFXCLwDG7zf1cKZxD9LSlUunHc/12u/2t2Vzl/rzu8zb8PZlM7bwdQgDgPK/nX2nddt+53//ht3LW2dS0fF0iLj2vquojuQFmwXRucPBKa8UCmpe1iOFwpAsAfLdJBFBKwVIlXJ2JxqKCxbwyHkvoCkAlv9/71U+7Oq+UJWDZ0hViJBL1cRynbNq0sSeeiPl6ei4NqIqq6TSmlB7X6bjuTEY5pgWfzwxGPZhMpt39/b3vzvWXFGCzulZjjM/DrauDwcAr8bjcgzGjZUuVBMH8k2uDX7wCAFDr8n2LEPI7SqmhTP6SzVbz6MDlz0/nDpT8EmOM22HOvUeWU2wp8iyLgRL6hk7Hrc2SBwC4MTlykmXZRozxn00mbVcphNA5jJmV+chr6oDd5l6jN/A/TqfSuwEAGITGMIsvGo3GTwTB3Dc2NjGSxdZYq4VIOOoNBANnKE0XPXE3brjHOTQ08k2MmVZOxzVJCbkFIQSCYEphzPaFQuGzTpfjb319PZ8UFXin/5OvrHPg/9HueAH/BSUqOuNZm4fyAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAyLTE5VDA4OjUyOjI1KzAwOjAwCmFGlgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMi0xOVQwODo1MjoyMyswMDowMBjsyxAAAAAASUVORK5CYII=", + "description": "Base64 encoded logo of the asset" + }, + "decimals": { + "type": "integer", + "nullable": true, + "maximum": 255, + "example": 6, + "description": "Number of decimal places of the asset unit" + } + }, + "required": [ + "name", + "description", + "ticker", + "url", + "logo", + "decimals" + ] + } + }, + "required": [ + "asset", + "policy_id", + "asset_name", + "fingerprint", + "quantity", + "initial_mint_tx_hash", + "mint_or_burn_count", + "metadata", + "onchain_metadata" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "asset": { "type": "string" } } + } + }, + "/assets/{asset}/history": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Hash of the transaction containing the asset action" + }, + "action": { + "type": "string", + "enum": ["minted", "burned"], + "description": "Action executed upon the asset policy" + }, + "amount": { + "type": "string", + "description": "Asset amount of the specific action" + } + }, + "required": ["tx_hash", "action", "amount"] + }, + "example": [ + { + "tx_hash": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531", + "amount": "10", + "action": "minted" + }, + { + "tx_hash": "9c190bc1ac88b2ab0c05a82d7de8b71b67a9316377e865748a89d4426c0d3005", + "amount": "5", + "action": "burned" + }, + { + "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0", + "amount": "5", + "action": "burned" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "asset": { "type": "string" } } + } + }, + "/assets/{asset}/txs": { + "response": { + "200": { + "type": "array", + "items": { "type": "string", "description": "Hash of the transaction" }, + "example": [ + "8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b", + "52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f", + "e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "asset": { "type": "string" } } + } + }, + "/assets/{asset}/transactions": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Hash of the transaction" + }, + "tx_index": { + "type": "integer", + "description": "Transaction index within the block" + }, + "block_height": { + "type": "integer", + "description": "Block height" + }, + "block_time": { + "type": "integer", + "example": 1635505891, + "description": "Block creation time in UNIX time" + } + }, + "required": ["tx_hash", "tx_index", "block_height", "block_time"] + }, + "example": [ + { + "tx_hash": "8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b", + "tx_index": 6, + "block_height": 69, + "block_time": 1635505891 + }, + { + "tx_hash": "52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f", + "tx_index": 9, + "block_height": 4547, + "block_time": 1635505987 + }, + { + "tx_hash": "e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b", + "tx_index": 0, + "block_height": 564654, + "block_time": 1834505492 + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "asset": { "type": "string" } } + } + }, + "/assets/{asset}/addresses": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Address containing the specific asset" + }, + "quantity": { + "type": "string", + "description": "Asset quantity on the specific address" + } + }, + "required": ["address", "quantity"] + }, + "example": [ + { + "address": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz", + "quantity": "1" + }, + { + "address": "addr1qyhr4exrgavdcn3qhfcc9f939fzsch2re5ry9cwvcdyh4x4re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qdpvhza", + "quantity": "100000" + }, + { + "address": "addr1q8zup8m9ue3p98kxlxl9q8rnyan8hw3ul282tsl9s326dfj088lvedv4zckcj24arcpasr0gua4c5gq4zw2rpcpjk2lq8cmd9l", + "quantity": "18605647" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "asset": { "type": "string" } } + } + }, + "/assets/policy/{policy_id}": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "asset": { + "type": "string", + "description": "Concatenation of the policy_id and hex-encoded asset_name" + }, + "quantity": { + "type": "string", + "description": "Current asset quantity" + } + }, + "required": ["asset", "quantity"] + }, + "example": [ + { + "asset": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + "quantity": "1" + }, + { + "asset": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a766e", + "quantity": "100000" + }, + { + "asset": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb574636f696e", + "quantity": "18605647" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "policy_id": { "type": "string" } } + } + }, + "/scripts": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "script_hash": { "type": "string", "description": "Script hash" } + }, + "required": ["script_hash"] + }, + "example": [ + { + "script_hash": "13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1" + }, + { + "script_hash": "e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e" + }, + { + "script_hash": "a6e63c0ff05c96943d1cc30bf53112ffff0f34b45986021ca058ec54" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + } + }, + "/scripts/{script_hash}": { + "response": { + "200": { + "type": "object", + "properties": { + "script_hash": { + "type": "string", + "example": "13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1", + "description": "Script hash" + }, + "type": { + "type": "string", + "enum": ["timelock", "plutusV1", "plutusV2"], + "example": "plutusV1", + "description": "Type of the script language" + }, + "serialised_size": { + "type": "integer", + "nullable": true, + "description": "The size of the CBOR serialised script, if a Plutus script", + "example": 3119 + } + }, + "required": ["script_hash", "type", "serialised_size"] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "script_hash": { "type": "string" } } + } + }, + "/scripts/{script_hash}/json": { + "response": { + "200": { + "type": "object", + "properties": { "json": { "nullable": true } }, + "required": ["json"] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "script_hash": { "type": "string" } } + } + }, + "/scripts/{script_hash}/cbor": { + "response": { + "200": { + "type": "object", + "properties": { + "cbor": { + "type": "string", + "nullable": true, + "description": "CBOR contents of the `plutus` script, null for `timelocks`" + } + }, + "required": ["cbor"], + "example": { "cbor": "4e4d01000033222220051200120011" } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "script_hash": { "type": "string" } } + } + }, + "/scripts/{script_hash}/redeemers": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "example": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0", + "description": "Hash of the transaction" + }, + "tx_index": { + "type": "integer", + "example": 0, + "description": "The index of the redeemer pointer in the transaction" + }, + "purpose": { + "type": "string", + "enum": ["spend", "mint", "cert", "reward"], + "example": "spend", + "description": "Validation purpose" + }, + "redeemer_data_hash": { + "type": "string", + "example": "923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec", + "description": "Datum hash of the redeemer" + }, + "datum_hash": { + "type": "string", + "example": "923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec", + "description": "Datum hash", + "deprecated": true + }, + "unit_mem": { + "type": "string", + "example": "1700", + "description": "The budget in Memory to run a script" + }, + "unit_steps": { + "type": "string", + "example": "476468", + "description": "The budget in CPU steps to run a script" + }, + "fee": { + "type": "string", + "example": "172033", + "description": "The fee consumed to run the script" + } + }, + "required": [ + "tx_hash", + "tx_index", + "purpose", + "redeemer_data_hash", + "datum_hash", + "unit_mem", + "unit_steps", + "fee" + ] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { "script_hash": { "type": "string" } } + } + }, + "/scripts/datum/{datum_hash}": { + "response": { + "200": { + "type": "object", + "properties": { + "json_value": { + "type": "object", + "additionalProperties": true, + "description": "JSON content of the datum" + } + }, + "required": ["json_value"], + "example": { "json_value": { "int": 42 } } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "datum_hash": { "type": "string" } } + } + }, + "/scripts/datum/{datum_hash}/cbor": { + "response": { + "200": { + "type": "object", + "properties": { + "cbor": { "type": "string", "description": "CBOR serialized datum" } + }, + "required": ["cbor"], + "example": { "cbor": "19a6aa" } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { "datum_hash": { "type": "string" } } + } + }, + "/utils/addresses/xpub/{xpub}/{role}/{index}": { + "response": { + "200": { + "type": "object", + "properties": { + "xpub": { "type": "string", "description": "Script hash" }, + "role": { "type": "integer", "description": "Account role" }, + "index": { "type": "integer", "description": "Address index" }, + "address": { "type": "string", "description": "Derived address" } + }, + "required": ["xpub", "role", "index", "address"], + "example": [ + { + "xpub": "d507c8f866691bd96e131334c355188b1a1d0b2fa0ab11545075aab332d77d9eb19657ad13ee581b56b0f8d744d66ca356b93d42fe176b3de007d53e9c4c4e7a", + "role": 0, + "index": 0, + "address": "addr1q90sqnljxky88s0jsnps48jd872p7znzwym0jpzqnax6qs5nfrlkaatu28n0qzmqh7f2cpksxhpc9jefx3wrl0a2wu8q5amen7" + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { + "xpub": { "type": "string" }, + "role": { "type": "integer" }, + "index": { "type": "integer" } + } + } + }, + "/utils/txs/evaluate": { + "response": { + "200": { "type": "object", "additionalProperties": true }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "425": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 425 }, + "error": { "type": "string", "example": "Mempool Full" }, + "message": { + "type": "string", + "example": "Mempool is full, please try resubmitting again later." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + } + }, + "/utils/txs/evaluate/utxos": { + "response": { + "200": { "type": "object", "additionalProperties": true }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "425": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 425 }, + "error": { "type": "string", "example": "Mempool Full" }, + "message": { + "type": "string", + "example": "Mempool is full, please try resubmitting again later." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + } + }, + "/ipfs/add": { + "response": { + "200": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "README.md", + "description": "Name of the file" + }, + "ipfs_hash": { + "type": "string", + "example": "QmZbHqiCxKEVX7QfijzJTkZiSi3WEVTcvANgNAWzDYgZDr", + "description": "IPFS hash of the file" + }, + "size": { + "type": "string", + "example": "125297", + "description": "IPFS node size in Bytes" + } + }, + "required": ["name", "ipfs_hash", "size"] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + } + }, + "/ipfs/gateway/{IPFS_path}": { + "response": { + "200": { "type": "string", "format": "binary" }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { + "IPFS_path": { + "type": "string", + "description": "Path to the IPFS object" + } + } + } + }, + "/ipfs/pin/add/{IPFS_path}": { + "response": { + "200": { + "type": "object", + "properties": { + "ipfs_hash": { + "type": "string", + "example": "QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8", + "description": "IPFS hash of the pinned object" + }, + "state": { + "type": "string", + "enum": ["queued|pinned|unpinned|failed|gc"], + "example": "queued", + "description": "State of the pin action" + } + }, + "required": ["ipfs_hash", "state"] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "425": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 425 }, + "error": { "type": "string", "example": "Mempool Full" }, + "message": { + "type": "string", + "example": "Mempool is full, please try resubmitting again later." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { + "IPFS_path": { + "type": "string", + "description": "Path to the IPFS object" + } + } + } + }, + "/ipfs/pin/list": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "time_created": { + "type": "integer", + "description": "Creation time of the IPFS object on our backends", + "example": 1615551024 + }, + "time_pinned": { + "type": "integer", + "description": "Pin time of the IPFS object on our backends", + "example": 1615551024 + }, + "ipfs_hash": { + "type": "string", + "description": "IPFS hash of the pinned object", + "example": "QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx" + }, + "size": { + "type": "string", + "description": "Size of the object in Bytes", + "example": "1615551024" + }, + "state": { + "type": "string", + "enum": ["queued|pinned|unpinned|failed|gc"], + "description": "State of the pinned object, which is `queued` when we are retriving object. If this\nis successful the state is changed to `pinned` or `failed` if not. The state `gc` means the\npinned item has been garbage collected due to account being over storage quota or after it has\nbeen moved to `unpinned` state by removing the object pin.\n", + "example": "pinned" + } + }, + "required": [ + "time_created", + "time_pinned", + "ipfs_hash", + "size", + "state" + ] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + } + }, + "/ipfs/pin/list/{IPFS_path}": { + "response": { + "200": { + "type": "object", + "properties": { + "time_created": { + "type": "integer", + "description": "Time of the creation of the IPFS object on our backends", + "example": 1615551024 + }, + "time_pinned": { + "type": "integer", + "description": "Time of the pin of the IPFS object on our backends", + "example": 1615551024 + }, + "ipfs_hash": { + "type": "string", + "description": "IPFS hash of the pinned object", + "example": "QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx" + }, + "size": { + "type": "string", + "description": "Size of the object in Bytes", + "example": "1615551024" + }, + "state": { + "type": "string", + "enum": ["queued|pinned|unpinned|failed|gc"], + "description": "State of the pinned object. We define 5 states: `queued`, `pinned`, `unpinned`, `failed`, `gc`.\nWhen the object is pending retrieval (i.e. after `/ipfs/pin/add/{IPFS_path}`), the state is `queued`.\nIf the object is already successfully retrieved, state is changed to `pinned` or `failed` otherwise.\nWhen object is unpinned (i.e. after `/ipfs/pin/remove/{IPFS_path}`) it is marked for garbage collection.\nState `gc` means that a previously `unpinned` item has been garbage collected due to account being over storage quota.\n", + "example": "pinned" + } + }, + "required": [ + "time_created", + "time_pinned", + "ipfs_hash", + "size", + "state" + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { + "IPFS_path": { + "type": "string", + "description": "The path to the IPFS object" + } + } + } + }, + "/ipfs/pin/remove/{IPFS_path}": { + "response": { + "200": { + "type": "object", + "properties": { + "ipfs_hash": { + "type": "string", + "example": "QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8", + "description": "IPFS hash of the pinned object" + }, + "state": { + "type": "string", + "enum": ["queued|pinned|unpinned|failed|gc"], + "example": "unpinned", + "description": "State of the pin action" + } + }, + "required": ["ipfs_hash", "state"] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { + "IPFS_path": { + "type": "string", + "description": "The path to the IPFS object" + } + } + } + }, + "/metrics": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "description": "Starting time of the call count interval (ends midnight UTC) in UNIX time" + }, + "calls": { + "type": "integer", + "description": "Sum of all calls for a particular day" + } + }, + "required": ["time", "calls"] + }, + "example": [ + { "time": 1612543884, "calls": 42 }, + { "time": 1614523884, "calls": 6942 } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + } + }, + "/metrics/endpoints": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "description": "Starting time of the call count interval (ends midnight UTC) in UNIX time" + }, + "calls": { + "type": "integer", + "description": "Sum of all calls for a particular day and endpoint" + }, + "endpoint": { + "type": "string", + "description": "Endpoint parent name" + } + }, + "required": ["time", "calls", "endpoint"] + }, + "example": [ + { "time": 1612543814, "calls": 182, "endpoint": "block" }, + { "time": 1612543814, "calls": 42, "endpoint": "epoch" }, + { "time": 1612543812, "calls": 775, "endpoint": "block" }, + { "time": 1612523884, "calls": 4, "endpoint": "epoch" }, + { "time": 1612553884, "calls": 89794, "endpoint": "block" } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + } + }, + "/network": { + "response": { + "200": { + "type": "object", + "properties": { + "supply": { + "type": "object", + "properties": { + "max": { + "type": "string", + "description": "Maximum supply in Lovelaces", + "example": "45000000000000000" + }, + "total": { + "type": "string", + "description": "Current total (max supply - reserves) supply in Lovelaces", + "example": "32890715183299160" + }, + "circulating": { + "type": "string", + "description": "Current circulating (UTXOs + withdrawables) supply in Lovelaces", + "example": "32412601976210393" + }, + "locked": { + "type": "string", + "description": "Current supply locked by scripts in Lovelaces", + "example": "125006953355" + }, + "treasury": { + "type": "string", + "description": "Current supply locked in treasury", + "example": "98635632000000" + }, + "reserves": { + "type": "string", + "description": "Current supply locked in reserves", + "example": "46635632000000" + } + }, + "required": [ + "max", + "total", + "circulating", + "locked", + "treasury", + "reserves" + ] + }, + "stake": { + "type": "object", + "properties": { + "live": { + "type": "string", + "example": "23204950463991654", + "description": "Current live stake in Lovelaces" + }, + "active": { + "type": "string", + "description": "Current active stake in Lovelaces", + "example": "22210233523456321" + } + }, + "required": ["live", "active"] + } + }, + "required": ["supply", "stake"] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + } + }, + "/network/eras": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "start": { + "type": "object", + "description": "Start of the blockchain era,\nrelative to the start of the network\n", + "properties": { + "time": { + "type": "number", + "description": "Time in seconds relative to the start time of the network" + }, + "slot": { + "type": "integer", + "description": "Absolute slot number" + }, + "epoch": { "type": "integer", "description": "Epoch number" } + }, + "required": ["time", "slot", "epoch"] + }, + "end": { + "type": "object", + "description": "End of the blockchain era,\nrelative to the start of the network\n", + "properties": { + "time": { + "type": "number", + "description": "Time in seconds relative to the start time of the network" + }, + "slot": { + "type": "integer", + "description": "Absolute slot number" + }, + "epoch": { "type": "integer", "description": "Epoch number" } + }, + "required": ["time", "slot", "epoch"] + }, + "parameters": { + "type": "object", + "description": "Era parameters", + "properties": { + "epoch_length": { + "type": "integer", + "description": "Epoch length in number of slots" + }, + "slot_length": { + "type": "number", + "description": "Slot length in seconds" + }, + "safe_zone": { + "type": "integer", + "description": "Zone in which it is guaranteed that no hard fork can take place" + } + }, + "required": ["epoch_length", "slot_length", "safe_zone"] + } + }, + "required": ["start", "end", "parameters"] + }, + "example": [ + { + "start": { "time": 0, "slot": 0, "epoch": 0 }, + "end": { "time": 89856000, "slot": 4492800, "epoch": 208 }, + "parameters": { + "epoch_length": 21600, + "slot_length": 20, + "safe_zone": 4320 + } + }, + { + "start": { "time": 89856000, "slot": 4492800, "epoch": 208 }, + "end": { "time": 101952000, "slot": 16588800, "epoch": 236 }, + "parameters": { + "epoch_length": 432000, + "slot_length": 1, + "safe_zone": 129600 + } + } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "425": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 425 }, + "error": { "type": "string", "example": "Mempool Full" }, + "message": { + "type": "string", + "example": "Mempool is full, please try resubmitting again later." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + } + }, + "/nutlink/{address}": { + "response": { + "200": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Bech32 encoded address", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + }, + "metadata_url": { + "type": "string", + "description": "URL of the specific metadata file", + "example": "https://nut.link/metadata.json" + }, + "metadata_hash": { + "type": "string", + "description": "Hash of the metadata file", + "example": "6bf124f217d0e5a0a8adb1dbd8540e1334280d49ab861127868339f43b3948af" + }, + "metadata": { + "type": "object", + "nullable": true, + "description": "The cached metadata of the `metadata_url` file.", + "additionalProperties": true + } + }, + "required": ["address", "metadata_url", "metadata_hash", "metadata"] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "params": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Address of a metadata oracle" + } + } + } + }, + "/nutlink/{address}/tickers": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { "type": "string", "description": "Name of the ticker" }, + "count": { + "type": "integer", + "description": "Number of ticker records" + }, + "latest_block": { + "type": "integer", + "description": "Block height of the latest record" + } + }, + "required": ["name", "count", "latest_block"] + }, + "example": [ + { "name": "ADAUSD", "count": 1980038, "latest_block": 2657092 }, + { "name": "ADAEUR", "count": 1980038, "latest_block": 2657092 }, + { "name": "ADABTC", "count": 1980038, "latest_block": 2657092 } + ] + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Address of a metadata oracle" + } + } + } + }, + "/nutlink/{address}/tickers/{ticker}": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { "type": "string" }, + "block_height": { "type": "integer" }, + "tx_index": { "type": "integer" }, + "payload": {} + }, + "required": ["tx_hash", "tx_index", "block_height", "payload"] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Address of a metadata oracle" + }, + "ticker": { + "type": "string", + "description": "Ticker for the pool record" + } + } + } + }, + "/nutlink/tickers/{ticker}": { + "response": { + "200": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Address of a metadata oracle" + }, + "tx_hash": { + "type": "string", + "description": "Hash of the transaction" + }, + "block_height": { + "type": "integer", + "description": "Block height of the record" + }, + "tx_index": { + "type": "integer", + "description": "Transaction index within the block" + }, + "payload": {} + }, + "required": [ + "address", + "tx_hash", + "block_height", + "tx_index", + "payload" + ] + } + }, + "400": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 400 }, + "error": { "type": "string", "example": "Bad Request" }, + "message": { + "type": "string", + "example": "Backend did not understand your request." + } + }, + "required": ["error", "message", "status_code"] + }, + "403": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 403 }, + "error": { "type": "string", "example": "Forbidden" }, + "message": { "type": "string", "example": "Invalid project token." } + }, + "required": ["error", "message", "status_code"] + }, + "404": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 404 }, + "error": { "type": "string", "example": "Not Found" }, + "message": { + "type": "string", + "example": "The requested component has not been found." + } + }, + "required": ["error", "message", "status_code"] + }, + "418": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 418 }, + "error": { "type": "string", "example": "Requested Banned" }, + "message": { + "type": "string", + "example": "IP has been auto-banned for flooding." + } + }, + "required": ["error", "message", "status_code"] + }, + "429": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 429 }, + "error": { "type": "string", "example": "Project Over Limit" }, + "message": { "type": "string", "example": "Usage is over limit." } + }, + "required": ["error", "message", "status_code"] + }, + "500": { + "type": "object", + "properties": { + "status_code": { "type": "integer", "example": 500 }, + "error": { "type": "string", "example": "Internal Server Error" }, + "message": { + "type": "string", + "example": "An unexpected response was received from the backend." + } + }, + "required": ["error", "message", "status_code"] + } + }, + "querystring": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "page": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "order": { "type": "string", "enum": ["asc", "desc"], "default": "asc" } + } + }, + "params": { + "type": "object", + "properties": { + "ticker": { + "type": "string", + "description": "Ticker for the pool record" + } + } + } + } +} diff --git a/openapi.json b/openapi.json index 3848918e..540246ca 100644 --- a/openapi.json +++ b/openapi.json @@ -1,7 +1,7 @@ { "openapi": "3.0.0", "info": { - "version": "0.1.64", + "version": "0.1.65", "title": "Blockfrost.io ~ API Documentation", "x-logo": { "url": "https://staging.blockfrost.io/images/logo.svg", @@ -64,6 +64,9 @@ { "name": "Cardano » Epochs" }, + { + "name": "Cardano » Governance" + }, { "name": "Cardano » Ledger" }, @@ -880,59 +883,60 @@ } } }, - "/epochs/latest": { + "/governance/dreps": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Latest epoch", - "description": "Return the information about the latest, therefore current, epoch.", - "responses": { - "200": { - "description": "Return the data about the epoch", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/epoch_content" - } - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "418": { - "$ref": "#/components/responses/418" + "summary": "Delegate Representatives (DReps)", + "description": "Return the information about Delegate Representatives (DReps)", + "parameters": [ + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." }, - "429": { - "$ref": "#/components/responses/429" + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." }, - "500": { - "$ref": "#/components/responses/500" + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\nOrdering in this case is based on the time of the first mint transaction.\n" } - } - } - }, - "/epochs/latest/parameters": { - "get": { - "tags": [ - "Cardano » Epochs" ], - "summary": "Latest epoch protocol parameters", - "description": "Return the protocol parameters for the latest epoch.", "responses": { "200": { - "description": "Return the data about the epoch", + "description": "Paginated array with the Delegate Representatives (DReps) data", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_param_content" + "$ref": "#/components/schemas/drep_content" } } } @@ -943,9 +947,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -958,32 +959,32 @@ } } }, - "/epochs/{number}": { + "/governance/dreps/{drep_id}": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Specific epoch", - "description": "Return the content of the requested epoch.", + "summary": "Specific DRep", + "description": "DRep information.", "parameters": [ { "in": "path", - "name": "number", + "name": "drep_id", "required": true, "schema": { - "type": "integer" + "type": "string" }, - "description": "Number of the epoch", - "example": 225 + "description": "Bech32 or hexadecimal DRep ID.", + "example": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc" } ], "responses": { "200": { - "description": "Return the epoch data.", + "description": "Return the DRep information content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_content" + "$ref": "#/components/schemas/drep_details_content" } } } @@ -994,9 +995,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -1009,23 +1007,23 @@ } } }, - "/epochs/{number}/next": { + "/governance/dreps/{drep_id}/delegators": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Listing of next epochs", - "description": "Return the list of epochs following a specific epoch.", + "summary": "DRep delegators", + "description": "List of Drep delegators.", "parameters": [ { "in": "path", - "name": "number", + "name": "drep_id", "required": true, "schema": { - "type": "integer" + "type": "string" }, - "description": "Number of the requested epoch.", - "example": 225 + "description": "Bech32 or hexadecimal drep ID.", + "example": "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn" }, { "in": "query", @@ -1050,15 +1048,29 @@ "default": 1 }, "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the data about the epoch", + "description": "Return the DRep delegations", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_content_array" + "$ref": "#/components/schemas/drep_delegators" } } } @@ -1069,9 +1081,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -1084,56 +1093,32 @@ } } }, - "/epochs/{number}/previous": { + "/governance/dreps/{drep_id}/metadata": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Listing of previous epochs", - "description": "Return the list of epochs preceding a specific epoch.", + "summary": "DRep metadata", + "description": "DRep metadata information.", "parameters": [ { "in": "path", - "name": "number", + "name": "drep_id", "required": true, "schema": { - "type": "integer" - }, - "description": "Number of the epoch", - "example": 225 - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 + "type": "string" }, - "description": "The page number for listing the results" + "description": "Bech32 or hexadecimal DRep ID.", + "example": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc" } ], "responses": { "200": { - "description": "Return the epoch data", + "description": "Return the DRep metadata content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_content_array" + "$ref": "#/components/schemas/drep_metadata" } } } @@ -1144,9 +1129,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -1159,23 +1141,23 @@ } } }, - "/epochs/{number}/stakes": { + "/governance/dreps/{drep_id}/updates": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Stake distribution", - "description": "Return the active stake distribution for the specified epoch.", + "summary": "DRep updates", + "description": "List of certificate updates to the DRep.", "parameters": [ { "in": "path", - "name": "number", + "name": "drep_id", "required": true, "schema": { - "type": "integer" + "type": "string" }, - "description": "Number of the epoch", - "example": 225 + "description": "Bech32 or hexadecimal DRep ID.", + "example": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc" }, { "in": "query", @@ -1200,15 +1182,29 @@ "default": 1 }, "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the data about the epoch", + "description": "Return the Drep updates history", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_stake_content" + "$ref": "#/components/schemas/drep_updates" } } } @@ -1219,9 +1215,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -1234,33 +1227,23 @@ } } }, - "/epochs/{number}/stakes/{pool_id}": { + "/governance/dreps/{drep_id}/votes": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Stake distribution by pool", - "description": "Return the active stake distribution for the epoch specified by stake pool.", + "summary": "DRep votes", + "description": "History of Drep votes.", "parameters": [ { "in": "path", - "name": "number", - "required": true, - "schema": { - "type": "integer" - }, - "description": "Number of the epoch", - "example": 225 - }, - { - "in": "path", + "name": "drep_id", "required": true, - "name": "pool_id", "schema": { "type": "string" }, - "description": "Stake pool ID to filter", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + "description": "Bech32 or hexadecimal drep ID.", + "example": "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn" }, { "in": "query", @@ -1285,15 +1268,29 @@ "default": 1 }, "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the data about the epoch", + "description": "Return the DRep votes", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_stake_pool_content" + "$ref": "#/components/schemas/drep_votes" } } } @@ -1304,9 +1301,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -1319,24 +1313,14 @@ } } }, - "/epochs/{number}/blocks": { + "/governance/proposals": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Block distribution", - "description": "Return the blocks minted for the epoch specified.", + "summary": "Proposals", + "description": "Return the information about Proposals", "parameters": [ - { - "in": "path", - "name": "number", - "required": true, - "schema": { - "type": "integer" - }, - "description": "Number of the epoch", - "example": 225 - }, { "in": "query", "name": "count", @@ -1373,16 +1357,16 @@ ], "default": "asc" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\nOrdering in this case is based on the time of the first mint transaction.\n" } ], "responses": { "200": { - "description": "Return the data about the epoch", + "description": "Paginated array with the proposal data", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_block_content" + "$ref": "#/components/schemas/proposal_content" } } } @@ -1393,9 +1377,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -1408,33 +1389,91 @@ } } }, - "/epochs/{number}/blocks/{pool_id}": { + "/governance/proposals/{tx_hash}/{cert_index}": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Block distribution by pool", - "description": "Return the block minted for the epoch specified by stake pool.", + "summary": "Specific proposal", + "description": "Proposal information.", "parameters": [ { "in": "path", - "name": "number", + "name": "tx_hash", "required": true, "schema": { - "type": "integer" + "type": "string" }, - "description": "Number of the epoch", - "example": 225 + "description": "Transaction hash.", + "example": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531" }, { "in": "path", + "name": "cert_index", + "required": true, + "schema": { + "type": "integer" + }, + "description": "Transaction index.", + "example": 1 + } + ], + "responses": { + "200": { + "description": "Return the proposal information content", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/proposal_details_content" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/governance/proposals/{tx_hash}/{cert_index}/votes": { + "get": { + "tags": [ + "Cardano » Governance" + ], + "summary": "Proposal votes", + "description": "History of Proposal votes.", + "parameters": [ + { + "in": "path", + "name": "tx_hash", "required": true, - "name": "pool_id", "schema": { "type": "string" }, - "description": "Stake pool ID to filter", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + "description": "Transaction hash.", + "example": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531" + }, + { + "in": "path", + "name": "cert_index", + "required": true, + "schema": { + "type": "integer" + }, + "description": "Transaction index.", + "example": 1 }, { "in": "query", @@ -1477,11 +1516,11 @@ ], "responses": { "200": { - "description": "Return the data about the epoch", + "description": "Return the Proposal votes", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_block_content" + "$ref": "#/components/schemas/proposal_details_votes" } } } @@ -1492,9 +1531,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -1507,32 +1543,60 @@ } } }, - "/epochs/{number}/parameters": { + "/governance/votes": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Protocol parameters", - "description": "Return the protocol parameters for the epoch specified.", + "summary": "Votes", + "description": "Return the information about votes", "parameters": [ { - "in": "path", - "name": "number", - "required": true, + "in": "query", + "name": "count", + "required": false, "schema": { - "type": "integer" + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 }, - "description": "Number of the epoch", - "example": 225 + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\nOrdering in this case is based on the time of the first mint transaction.\n" } ], "responses": { "200": { - "description": "Return the data about the epoch", + "description": "Paginated array with the votes data", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_param_content" + "$ref": "#/components/schemas/vote_content" } } } @@ -1543,9 +1607,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -1558,33 +1619,20 @@ } } }, - "/txs/{hash}": { + "/epochs/latest": { "get": { "tags": [ - "Cardano » Transactions" - ], - "summary": "Specific transaction", - "description": "Return content of the requested transaction.", - "parameters": [ - { - "in": "path", - "name": "hash", - "required": true, - "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string." - }, - "description": "Hash of the requested transaction", - "example": "6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" - } + "Cardano » Epochs" ], + "summary": "Latest epoch", + "description": "Return the information about the latest, therefore current, epoch.", "responses": { "200": { - "description": "Return the contents of the transaction.", + "description": "Return the data about the epoch", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content" + "$ref": "#/components/schemas/epoch_content" } } } @@ -1610,33 +1658,20 @@ } } }, - "/txs/{hash}/utxos": { + "/epochs/latest/parameters": { "get": { "tags": [ - "Cardano » Transactions" - ], - "summary": "Transaction UTXOs", - "description": "Return the inputs and UTXOs of the specific transaction.", - "parameters": [ - { - "in": "path", - "name": "hash", - "required": true, - "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string" - }, - "description": "Hash of the requested transaction", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" - } + "Cardano » Epochs" ], + "summary": "Latest epoch protocol parameters", + "description": "Return the protocol parameters for the latest epoch.", "responses": { "200": { - "description": "Return the contents of the transaction.", + "description": "Return the data about the epoch", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_utxo" + "$ref": "#/components/schemas/epoch_param_content" } } } @@ -1662,33 +1697,32 @@ } } }, - "/txs/{hash}/stakes": { + "/epochs/{number}": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Epochs" ], - "summary": "Transaction stake addresses certificates", - "description": "Obtain information about (de)registration of stake addresses within a transaction.\n", + "summary": "Specific epoch", + "description": "Return the content of the requested epoch.", "parameters": [ { "in": "path", - "name": "hash", + "name": "number", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string." + "type": "integer" }, - "description": "Hash of the requested transaction.", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "Number of the epoch", + "example": 225 } ], "responses": { "200": { - "description": "Obtain information about (de)registration of stake addresses within a transaction.\n", + "description": "Return the epoch data.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_stake_addr" + "$ref": "#/components/schemas/epoch_content" } } } @@ -1714,33 +1748,56 @@ } } }, - "/txs/{hash}/delegations": { + "/epochs/{number}/next": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Epochs" ], - "summary": "Transaction delegation certificates", - "description": "Obtain information about delegation certificates of a specific transaction.\n", + "summary": "Listing of next epochs", + "description": "Return the list of epochs following a specific epoch.", "parameters": [ { "in": "path", - "name": "hash", + "name": "number", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string" + "type": "integer" }, - "description": "Hash of the requested transaction.", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "Number of the requested epoch.", + "example": 225 + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." } ], "responses": { "200": { - "description": "Obtain information about delegation certificates of a specific transaction", + "description": "Return the data about the epoch", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_delegations" + "$ref": "#/components/schemas/epoch_content_array" } } } @@ -1766,85 +1823,56 @@ } } }, - "/txs/{hash}/withdrawals": { + "/epochs/{number}/previous": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Epochs" ], - "summary": "Transaction withdrawal", - "description": "Obtain information about withdrawals of a specific transaction.", + "summary": "Listing of previous epochs", + "description": "Return the list of epochs preceding a specific epoch.", "parameters": [ { "in": "path", - "name": "hash", + "name": "number", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string" + "type": "integer" }, - "description": "Hash of the requested transaction.", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" - } - ], - "responses": { - "200": { - "description": "Obtain information about withdrawals of a specific transaction.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tx_content_withdrawals" - } - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "403": { - "$ref": "#/components/responses/403" + "description": "Number of the epoch", + "example": 225 }, - "404": { - "$ref": "#/components/responses/404" - }, - "418": { - "$ref": "#/components/responses/418" - }, - "429": { - "$ref": "#/components/responses/429" + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." }, - "500": { - "$ref": "#/components/responses/500" - } - } - } - }, - "/txs/{hash}/mirs": { - "get": { - "tags": [ - "Cardano » Transactions" - ], - "summary": "Transaction MIRs", - "description": "Obtain information about Move Instantaneous Rewards (MIRs) of a specific transaction.", - "parameters": [ { - "in": "path", - "name": "hash", - "required": true, + "in": "query", + "name": "page", + "required": false, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string" + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 }, - "description": "Hash of the requested transaction.", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "The page number for listing the results" } ], "responses": { "200": { - "description": "Obtain information about Move Instantaneous Rewards (MIRs) of a specific transaction.", + "description": "Return the epoch data", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_mirs" + "$ref": "#/components/schemas/epoch_content_array" } } } @@ -1870,33 +1898,56 @@ } } }, - "/txs/{hash}/pool_updates": { + "/epochs/{number}/stakes": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Epochs" ], - "summary": "Transaction stake pool registration and update certificates", - "description": "Obtain information about stake pool registration and update certificates of a specific transaction.\n", + "summary": "Stake distribution", + "description": "Return the active stake distribution for the specified epoch.", "parameters": [ { "in": "path", - "name": "hash", + "name": "number", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string" + "type": "integer" }, - "description": "Hash of the requested transaction", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "Number of the epoch", + "example": 225 + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." } ], "responses": { "200": { - "description": "Obtain information about stake pool certificates of a specific transaction", + "description": "Return the data about the epoch", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_pool_certs" + "$ref": "#/components/schemas/epoch_stake_content" } } } @@ -1922,85 +1973,66 @@ } } }, - "/txs/{hash}/pool_retires": { + "/epochs/{number}/stakes/{pool_id}": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Epochs" ], - "summary": "Transaction stake pool retirement certificates", - "description": "Obtain information about stake pool retirements within a specific transaction.\n", + "summary": "Stake distribution by pool", + "description": "Return the active stake distribution for the epoch specified by stake pool.", "parameters": [ { "in": "path", - "name": "hash", + "name": "number", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string." + "type": "integer" }, - "description": "Hash of the requested transaction", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" - } - ], - "responses": { - "200": { - "description": "Obtain information about stake pool retirements within a specific transaction.\n", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tx_content_pool_retires" - } - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "418": { - "$ref": "#/components/responses/418" - }, - "429": { - "$ref": "#/components/responses/429" + "description": "Number of the epoch", + "example": 225 }, - "500": { - "$ref": "#/components/responses/500" - } - } - } - }, - "/txs/{hash}/metadata": { - "get": { - "tags": [ - "Cardano » Transactions" - ], - "summary": "Transaction metadata", - "description": "Obtain the transaction metadata.", - "parameters": [ { "in": "path", - "name": "hash", "required": true, + "name": "pool_id", "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string." + "type": "string" }, - "description": "Hash of the requested transaction", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "Stake pool ID to filter", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." } ], "responses": { "200": { - "description": "Obtain metadata information associated with a specific transaction.", + "description": "Return the data about the epoch", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_metadata" + "$ref": "#/components/schemas/epoch_stake_pool_content" } } } @@ -2026,33 +2058,70 @@ } } }, - "/txs/{hash}/metadata/cbor": { + "/epochs/{number}/blocks": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Epochs" ], - "summary": "Transaction metadata in CBOR", - "description": "Obtain the transaction metadata in CBOR.", + "summary": "Block distribution", + "description": "Return the blocks minted for the epoch specified.", "parameters": [ { "in": "path", - "name": "hash", + "name": "number", "required": true, + "schema": { + "type": "integer" + }, + "description": "Number of the epoch", + "example": 225 + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, "schema": { "type": "string", - "format": "64-character case-sensitive hexadecimal string." + "enum": [ + "asc", + "desc" + ], + "default": "asc" }, - "description": "Hash of the requested transaction", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Obtain metadata information associated with a specific transaction.", + "description": "Return the data about the epoch", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_metadata_cbor" + "$ref": "#/components/schemas/epoch_block_content" } } } @@ -2078,33 +2147,80 @@ } } }, - "/txs/{hash}/redeemers": { + "/epochs/{number}/blocks/{pool_id}": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Epochs" ], - "summary": "Transaction redeemers", - "description": "Obtain the transaction redeemers.", + "summary": "Block distribution by pool", + "description": "Return the block minted for the epoch specified by stake pool.", "parameters": [ { "in": "path", - "name": "hash", + "name": "number", + "required": true, + "schema": { + "type": "integer" + }, + "description": "Number of the epoch", + "example": 225 + }, + { + "in": "path", "required": true, + "name": "pool_id", + "schema": { + "type": "string" + }, + "description": "Stake pool ID to filter", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, "schema": { "type": "string", - "format": "64-character case-sensitive hexadecimal string." + "enum": [ + "asc", + "desc" + ], + "default": "asc" }, - "description": "Hash of the requested transaction", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Obtain information about redeemers within a specific transaction.", + "description": "Return the data about the epoch", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_redeemers" + "$ref": "#/components/schemas/epoch_block_content" } } } @@ -2130,33 +2246,32 @@ } } }, - "/txs/{hash}/required_signers": { + "/epochs/{number}/parameters": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Epochs" ], - "summary": "Transaction required signers", - "description": "Obtain the extra transaction witnesses.", + "summary": "Protocol parameters", + "description": "Return the protocol parameters for the epoch specified.", "parameters": [ { "in": "path", - "name": "hash", + "name": "number", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string." + "type": "integer" }, - "description": "Hash of the transaction", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "Number of the epoch", + "example": 225 } ], "responses": { "200": { - "description": "Query required signers (extra transaction witnesses)", + "description": "Return the data about the epoch", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_required_signers" + "$ref": "#/components/schemas/epoch_param_content" } } } @@ -2182,13 +2297,13 @@ } } }, - "/txs/{hash}/cbor": { + "/txs/{hash}": { "get": { "tags": [ "Cardano » Transactions" ], - "summary": "Transaction CBOR", - "description": "Obtain the CBOR serialized transaction", + "summary": "Specific transaction", + "description": "Return content of the requested transaction.", "parameters": [ { "in": "path", @@ -2198,17 +2313,17 @@ "type": "string", "format": "64-character case-sensitive hexadecimal string." }, - "description": "Hash of the transaction", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "Hash of the requested transaction", + "example": "6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Query transaction CBOR", + "description": "Return the contents of the transaction.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_cbor" + "$ref": "#/components/schemas/tx_content" } } } @@ -2234,49 +2349,33 @@ } } }, - "/tx/submit": { - "post": { + "/txs/{hash}/utxos": { + "get": { "tags": [ "Cardano » Transactions" ], - "summary": "Submit a transaction", - "description": "Submit an already serialized transaction to the network.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", - "x-codeSamples": [ - { - "lang": "Shell", - "label": "cURL", - "source": "# Assuming `data` is a serialized transaction on the file-system.\ncurl \"https://cardano-mainnet.blockfrost.io/api/v0/tx/submit\" \\\n -X POST \\\n -H \"Content-Type: application/cbor\" \\\n -H \"project_id: $PROJECT_ID\" \\\n --data-binary @./data\n" - }, + "summary": "Transaction UTXOs", + "description": "Return the inputs and UTXOs of the specific transaction.", + "parameters": [ { - "lang": "Shell", - "label": "cardano-cli", - "source": "# Assuming `tx.signed` is signed transaction constructed by cardano-cli\nxxd -r -p <<< $(jq .cborHex tx.signed) > tx.submit-api.raw\ncurl \"https://cardano-mainnet.blockfrost.io/api/v0/tx/submit\" \\\n -X POST \\\n -H \"Content-Type: application/cbor\" \\\n -H \"project_id: $PROJECT_ID\" \\\n --data-binary @./tx.submit-api.raw\n" + "in": "path", + "name": "hash", + "required": true, + "schema": { + "type": "string", + "format": "64-character case-sensitive hexadecimal string" + }, + "description": "Hash of the requested transaction", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], - "requestBody": { - "description": "The transaction to submit, serialized in CBOR.\n", - "required": true, - "content": { - "application/cbor": { - "schema": { - "type": "string", - "description": "The transaction to submit, serialized in CBOR.\n" - }, - "example": "83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573\n" - } - } - }, "responses": { "200": { - "description": "Return the ID of the submitted transaction.", + "description": "Return the contents of the transaction.", "content": { "application/json": { "schema": { - "type": "string", - "format": "hex", - "minLength": 64, - "maxLength": 64, - "example": "d1662b24fa9fe985fc2dce47455df399cb2e31e1e1819339e885801cc3578908" + "$ref": "#/components/schemas/tx_content_utxo" } } } @@ -2293,9 +2392,6 @@ "418": { "$ref": "#/components/responses/418" }, - "425": { - "$ref": "#/components/responses/425" - }, "429": { "$ref": "#/components/responses/429" }, @@ -2305,32 +2401,33 @@ } } }, - "/accounts/{stake_address}": { + "/txs/{hash}/stakes": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Specific account address", - "description": "Obtain information about a specific stake account.\n", + "summary": "Transaction stake addresses certificates", + "description": "Obtain information about (de)registration of stake addresses within a transaction.\n", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, "schema": { - "type": "string" + "type": "string", + "format": "64-character case-sensitive hexadecimal string." }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" + "description": "Hash of the requested transaction.", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the account content.", + "description": "Obtain information about (de)registration of stake addresses within a transaction.\n", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_content" + "$ref": "#/components/schemas/tx_content_stake_addr" } } } @@ -2356,70 +2453,33 @@ } } }, - "/accounts/{stake_address}/rewards": { + "/txs/{hash}/delegations": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Account reward history", - "description": "Obtain information about the reward history of a specific account.\n", + "summary": "Transaction delegation certificates", + "description": "Obtain information about delegation certificates of a specific transaction.\n", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, - "schema": { - "type": "string" - }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, "schema": { "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" + "format": "64-character case-sensitive hexadecimal string" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Hash of the requested transaction.", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the account content.", + "description": "Obtain information about delegation certificates of a specific transaction", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_reward_content" + "$ref": "#/components/schemas/tx_content_delegations" } } } @@ -2445,70 +2505,85 @@ } } }, - "/accounts/{stake_address}/history": { + "/txs/{hash}/withdrawals": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Account history", - "description": "Obtain information about the history of a specific account.\n", + "summary": "Transaction withdrawal", + "description": "Obtain information about withdrawals of a specific transaction.", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, "schema": { - "type": "string" + "type": "string", + "format": "64-character case-sensitive hexadecimal string" }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" + "description": "Hash of the requested transaction.", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + } + ], + "responses": { + "200": { + "description": "Obtain information about withdrawals of a specific transaction.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/tx_content_withdrawals" + } + } + } }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." + "400": { + "$ref": "#/components/responses/400" }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/txs/{hash}/mirs": { + "get": { + "tags": [ + "Cardano » Transactions" + ], + "summary": "Transaction MIRs", + "description": "Obtain information about Move Instantaneous Rewards (MIRs) of a specific transaction.", + "parameters": [ { - "in": "query", - "name": "order", - "required": false, + "in": "path", + "name": "hash", + "required": true, "schema": { "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" + "format": "64-character case-sensitive hexadecimal string" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Hash of the requested transaction.", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the account content.", + "description": "Obtain information about Move Instantaneous Rewards (MIRs) of a specific transaction.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_history_content" + "$ref": "#/components/schemas/tx_content_mirs" } } } @@ -2534,70 +2609,33 @@ } } }, - "/accounts/{stake_address}/delegations": { + "/txs/{hash}/pool_updates": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Account delegation history", - "description": "Obtain information about the delegation of a specific account.", + "summary": "Transaction stake pool registration and update certificates", + "description": "Obtain information about stake pool registration and update certificates of a specific transaction.\n", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, - "schema": { - "type": "string" - }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, "schema": { "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" + "format": "64-character case-sensitive hexadecimal string" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Hash of the requested transaction", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the account delegations content", + "description": "Obtain information about stake pool certificates of a specific transaction", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_delegation_content" + "$ref": "#/components/schemas/tx_content_pool_certs" } } } @@ -2623,70 +2661,33 @@ } } }, - "/accounts/{stake_address}/registrations": { + "/txs/{hash}/pool_retires": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Account registration history", - "description": "Obtain information about the registrations and deregistrations of a specific account.\n", + "summary": "Transaction stake pool retirement certificates", + "description": "Obtain information about stake pool retirements within a specific transaction.\n", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, - "schema": { - "type": "string" - }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, "schema": { "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" + "format": "64-character case-sensitive hexadecimal string." }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Hash of the requested transaction", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the account registration content.", + "description": "Obtain information about stake pool retirements within a specific transaction.\n", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_registration_content" + "$ref": "#/components/schemas/tx_content_pool_retires" } } } @@ -2712,70 +2713,33 @@ } } }, - "/accounts/{stake_address}/withdrawals": { + "/txs/{hash}/metadata": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Account withdrawal history", - "description": "Obtain information about the withdrawals of a specific account.\n", + "summary": "Transaction metadata", + "description": "Obtain the transaction metadata.", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, - "schema": { - "type": "string" - }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, "schema": { "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" + "format": "64-character case-sensitive hexadecimal string." }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Hash of the requested transaction", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the account withdrawal content.", + "description": "Obtain metadata information associated with a specific transaction.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_withdrawal_content" + "$ref": "#/components/schemas/tx_content_metadata" } } } @@ -2801,70 +2765,33 @@ } } }, - "/accounts/{stake_address}/mirs": { + "/txs/{hash}/metadata/cbor": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Account MIR history", - "description": "Obtain information about the MIRs of a specific account.\n", + "summary": "Transaction metadata in CBOR", + "description": "Obtain the transaction metadata in CBOR.", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, "schema": { - "type": "string" + "type": "string", + "format": "64-character case-sensitive hexadecimal string." }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" - }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Hash of the requested transaction", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the account MIR content.", + "description": "Obtain metadata information associated with a specific transaction.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_mir_content" + "$ref": "#/components/schemas/tx_content_metadata_cbor" } } } @@ -2890,70 +2817,33 @@ } } }, - "/accounts/{stake_address}/addresses": { + "/txs/{hash}/redeemers": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Account associated addresses", - "description": "Obtain information about the addresses of a specific account.\nBe careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account.\n", + "summary": "Transaction redeemers", + "description": "Obtain the transaction redeemers.", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, - "schema": { - "type": "string" - }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, "schema": { "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" + "format": "64-character case-sensitive hexadecimal string." }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Hash of the requested transaction", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the account addresses content", + "description": "Obtain information about redeemers within a specific transaction.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_addresses_content" + "$ref": "#/components/schemas/tx_content_redeemers" } } } @@ -2979,70 +2869,33 @@ } } }, - "/accounts/{stake_address}/addresses/assets": { + "/txs/{hash}/required_signers": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Assets associated with the account addresses", - "description": "Obtain information about assets associated with addresses of a specific account.\nBe careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account.\n", + "summary": "Transaction required signers", + "description": "Obtain the extra transaction witnesses.", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, - "schema": { - "type": "string" - }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, "schema": { "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" + "format": "64-character case-sensitive hexadecimal string." }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Hash of the transaction", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the account addresses content", + "description": "Query required signers (extra transaction witnesses)", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_addresses_assets" + "$ref": "#/components/schemas/tx_content_required_signers" } } } @@ -3068,32 +2921,33 @@ } } }, - "/accounts/{stake_address}/addresses/total": { + "/txs/{hash}/cbor": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Detailed information about account associated addresses", - "description": "Obtain summed details about all addresses associated with a given account.\nBe careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account.\n", + "summary": "Transaction CBOR", + "description": "Obtain the CBOR serialized transaction", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, "schema": { - "type": "string" + "type": "string", + "format": "64-character case-sensitive hexadecimal string." }, - "description": "Bech32 address.", - "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + "description": "Hash of the transaction", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the Address details.", + "description": "Query transaction CBOR", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_addresses_total" + "$ref": "#/components/schemas/tx_content_cbor" } } } @@ -3119,60 +2973,49 @@ } } }, - "/mempool": { - "get": { + "/tx/submit": { + "post": { "tags": [ - "Cardano » Mempool" + "Cardano » Transactions" ], - "summary": "Mempool", - "description": "Return transactions that are currently stored in Blockfrost mempool,\nwaiting to be included in a newly minted block.\nShows only transactions submitted via Blockfrost.io.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", - "parameters": [ - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, + "summary": "Submit a transaction", + "description": "Submit an already serialized transaction to the network.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "x-codeSamples": [ { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." + "lang": "Shell", + "label": "cURL", + "source": "# Assuming `data` is a serialized transaction on the file-system.\ncurl \"https://cardano-mainnet.blockfrost.io/api/v0/tx/submit\" \\\n -X POST \\\n -H \"Content-Type: application/cbor\" \\\n -H \"project_id: $PROJECT_ID\" \\\n --data-binary @./data\n" }, { - "in": "query", - "name": "order", - "required": false, - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" - }, - "description": "Ordered by the time of transaction submission.\nBy default, we return oldest first, newest last.\n" + "lang": "Shell", + "label": "cardano-cli", + "source": "# Assuming `tx.signed` is signed transaction constructed by cardano-cli\nxxd -r -p <<< $(jq .cborHex tx.signed) > tx.submit-api.raw\ncurl \"https://cardano-mainnet.blockfrost.io/api/v0/tx/submit\" \\\n -X POST \\\n -H \"Content-Type: application/cbor\" \\\n -H \"project_id: $PROJECT_ID\" \\\n --data-binary @./tx.submit-api.raw\n" } ], + "requestBody": { + "description": "The transaction to submit, serialized in CBOR.\n", + "required": true, + "content": { + "application/cbor": { + "schema": { + "type": "string", + "description": "The transaction to submit, serialized in CBOR.\n" + }, + "example": "83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573\n" + } + } + }, "responses": { "200": { - "description": "Return the contents of the mempool", + "description": "Return the ID of the submitted transaction.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/mempool_content" + "type": "string", + "format": "hex", + "minLength": 64, + "maxLength": 64, + "example": "d1662b24fa9fe985fc2dce47455df399cb2e31e1e1819339e885801cc3578908" } } } @@ -3189,6 +3032,9 @@ "418": { "$ref": "#/components/responses/418" }, + "425": { + "$ref": "#/components/responses/425" + }, "429": { "$ref": "#/components/responses/429" }, @@ -3198,33 +3044,32 @@ } } }, - "/mempool/{hash}": { + "/accounts/{stake_address}": { "get": { "tags": [ - "Cardano » Mempool" + "Cardano » Accounts" ], - "summary": "Specific transaction in the mempool", - "description": "Return content of the requested transaction.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "summary": "Specific account address", + "description": "Obtain information about a specific stake account.\n", "parameters": [ { "in": "path", - "name": "hash", + "name": "stake_address", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string." + "type": "string" }, - "description": "Hash of the requested transaction", - "example": "6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" } ], "responses": { "200": { - "description": "Return the contents of the transaction.", + "description": "Return the account content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/mempool_tx_content" + "$ref": "#/components/schemas/account_content" } } } @@ -3250,24 +3095,23 @@ } } }, - "/mempool/addresses/{address}": { + "/accounts/{stake_address}/rewards": { "get": { "tags": [ - "Cardano » Mempool" + "Cardano » Accounts" ], - "summary": "Mempool by address", - "description": "List of mempool transactions where at least one of the transaction inputs or outputs belongs to the address.\nShows only transactions submitted via Blockfrost.io.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "summary": "Account reward history", + "description": "Obtain information about the reward history of a specific account.\n", "parameters": [ { "in": "path", - "name": "address", + "name": "stake_address", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string." + "type": "string" }, - "description": "Bech32 address.", - "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" }, { "in": "query", @@ -3305,16 +3149,16 @@ ], "default": "asc" }, - "description": "Ordered by the time of transaction submission.\nBy default, we return oldest first, newest last.\n" + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the contents of the mempool", + "description": "Return the account content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/mempool_addresses_content" + "$ref": "#/components/schemas/account_reward_content" } } } @@ -3340,14 +3184,24 @@ } } }, - "/metadata/txs/labels": { + "/accounts/{stake_address}/history": { "get": { "tags": [ - "Cardano » Metadata" + "Cardano » Accounts" ], - "summary": "Transaction metadata labels", - "description": "List of all used transaction metadata labels.\n", + "summary": "Account history", + "description": "Obtain information about the history of a specific account.\n", "parameters": [ + { + "in": "path", + "name": "stake_address", + "required": true, + "schema": { + "type": "string" + }, + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" + }, { "in": "query", "name": "count", @@ -3389,11 +3243,11 @@ ], "responses": { "200": { - "description": "Return the account metadata content in CBOR", + "description": "Return the account content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_metadata_labels" + "$ref": "#/components/schemas/account_history_content" } } } @@ -3419,23 +3273,23 @@ } } }, - "/metadata/txs/labels/{label}": { + "/accounts/{stake_address}/delegations": { "get": { "tags": [ - "Cardano » Metadata" + "Cardano » Accounts" ], - "summary": "Transaction metadata content in JSON", - "description": "Transaction metadata per label.", + "summary": "Account delegation history", + "description": "Obtain information about the delegation of a specific account.", "parameters": [ { "in": "path", - "name": "label", + "name": "stake_address", "required": true, "schema": { "type": "string" }, - "description": "Metadata label", - "example": "1990" + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" }, { "in": "query", @@ -3478,11 +3332,11 @@ ], "responses": { "200": { - "description": "Return the account metadata content", + "description": "Return the account delegations content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_metadata_label_json" + "$ref": "#/components/schemas/account_delegation_content" } } } @@ -3508,23 +3362,23 @@ } } }, - "/metadata/txs/labels/{label}/cbor": { + "/accounts/{stake_address}/registrations": { "get": { "tags": [ - "Cardano » Metadata" + "Cardano » Accounts" ], - "summary": "Transaction metadata content in CBOR", - "description": "Transaction metadata per label.", + "summary": "Account registration history", + "description": "Obtain information about the registrations and deregistrations of a specific account.\n", "parameters": [ { "in": "path", - "name": "label", + "name": "stake_address", "required": true, "schema": { "type": "string" }, - "description": "Metadata label", - "example": "1990" + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" }, { "in": "query", @@ -3567,11 +3421,11 @@ ], "responses": { "200": { - "description": "Return the account metadata content in CBOR", + "description": "Return the account registration content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_metadata_label_cbor" + "$ref": "#/components/schemas/account_registration_content" } } } @@ -3597,134 +3451,70 @@ } } }, - "/addresses/{address}": { + "/accounts/{stake_address}/withdrawals": { "get": { "tags": [ - "Cardano » Addresses" + "Cardano » Accounts" ], - "summary": "Specific address", - "description": "Obtain information about a specific address.", + "summary": "Account withdrawal history", + "description": "Obtain information about the withdrawals of a specific account.\n", "parameters": [ { "in": "path", - "name": "address", + "name": "stake_address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 address.", - "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" - } - ], - "responses": { - "200": { - "description": "Return the address content.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/address_content" - } - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "418": { - "$ref": "#/components/responses/418" - }, - "429": { - "$ref": "#/components/responses/429" + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" }, - "500": { - "$ref": "#/components/responses/500" - } - } - } - }, - "/addresses/{address}/extended": { - "get": { - "tags": [ - "Cardano » Addresses" - ], - "summary": "Extended information of a specific address", - "description": "Obtain extended information about a specific address.\n", - "parameters": [ { - "in": "path", - "name": "address", - "required": true, + "in": "query", + "name": "count", + "required": false, "schema": { - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 }, - "description": "Bech32 address.", - "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" - } - ], - "responses": { - "200": { - "description": "Return the address content.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/address_content_extended" - } - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "418": { - "$ref": "#/components/responses/418" + "description": "The number of results displayed on one page." }, - "429": { - "$ref": "#/components/responses/429" + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." }, - "500": { - "$ref": "#/components/responses/500" - } - } - } - }, - "/addresses/{address}/total": { - "get": { - "tags": [ - "Cardano » Addresses" - ], - "summary": "Address details", - "description": "Obtain details about an address.", - "parameters": [ { - "in": "path", - "name": "address", - "required": true, + "in": "query", + "name": "order", + "required": false, "schema": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" }, - "description": "Bech32 address.", - "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the Address details.", + "description": "Return the account withdrawal content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/address_content_total" + "$ref": "#/components/schemas/account_withdrawal_content" } } } @@ -3750,23 +3540,23 @@ } } }, - "/addresses/{address}/utxos": { + "/accounts/{stake_address}/mirs": { "get": { "tags": [ - "Cardano » Addresses" + "Cardano » Accounts" ], - "summary": "Address UTXOs", - "description": "UTXOs of the address.", + "summary": "Account MIR history", + "description": "Obtain information about the MIRs of a specific account.\n", "parameters": [ { "in": "path", - "name": "address", + "name": "stake_address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 address.", - "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" }, { "in": "query", @@ -3809,11 +3599,11 @@ ], "responses": { "200": { - "description": "Return the address content", + "description": "Return the account MIR content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/address_utxo_content" + "$ref": "#/components/schemas/account_mir_content" } } } @@ -3839,33 +3629,23 @@ } } }, - "/addresses/{address}/utxos/{asset}": { + "/accounts/{stake_address}/addresses": { "get": { "tags": [ - "Cardano » Addresses" + "Cardano » Accounts" ], - "summary": "Address UTXOs of a given asset", - "description": "UTXOs of the address.", + "summary": "Account associated addresses", + "description": "Obtain information about the addresses of a specific account.\nBe careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account.\n", "parameters": [ { "in": "path", - "name": "address", - "required": true, - "schema": { - "type": "string" - }, - "description": "Bech32 address.", - "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" - }, - { - "in": "path", - "name": "asset", + "name": "stake_address", "required": true, "schema": { "type": "string" }, - "description": "Concatenation of the policy_id and hex-encoded asset_name", - "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" }, { "in": "query", @@ -3908,11 +3688,11 @@ ], "responses": { "200": { - "description": "Return the address content", + "description": "Return the account addresses content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/address_utxo_content" + "$ref": "#/components/schemas/account_addresses_content" } } } @@ -3938,24 +3718,23 @@ } } }, - "/addresses/{address}/txs": { + "/accounts/{stake_address}/addresses/assets": { "get": { - "deprecated": true, "tags": [ - "Cardano » Addresses" + "Cardano » Accounts" ], - "summary": "Address txs", - "description": "Transactions on the address.", + "summary": "Assets associated with the account addresses", + "description": "Obtain information about assets associated with addresses of a specific account.\nBe careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account.\n", "parameters": [ { "in": "path", - "name": "address", + "name": "stake_address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 address.", - "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" }, { "in": "query", @@ -3967,7 +3746,7 @@ "maximum": 100, "default": 100 }, - "description": "The number of transactions per page." + "description": "The number of results displayed on one page." }, { "in": "query", @@ -3998,11 +3777,11 @@ ], "responses": { "200": { - "description": "Return the address content", + "description": "Return the account addresses content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/address_txs_content" + "$ref": "#/components/schemas/account_addresses_assets" } } } @@ -4028,24 +3807,65 @@ } } }, - "/addresses/{address}/transactions": { + "/accounts/{stake_address}/addresses/total": { "get": { "tags": [ - "Cardano » Addresses" + "Cardano » Accounts" ], - "summary": "Address transactions", - "description": "Transactions on the address.", + "summary": "Detailed information about account associated addresses", + "description": "Obtain summed details about all addresses associated with a given account.\nBe careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account.\n", "parameters": [ { "in": "path", - "name": "address", + "name": "stake_address", "required": true, "schema": { "type": "string" }, "description": "Bech32 address.", "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + } + ], + "responses": { + "200": { + "description": "Return the Address details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/account_addresses_total" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/mempool": { + "get": { + "tags": [ + "Cardano » Mempool" + ], + "summary": "Mempool", + "description": "Return transactions that are currently stored in Blockfrost mempool,\nwaiting to be included in a newly minted block.\nShows only transactions submitted via Blockfrost.io.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "parameters": [ { "in": "query", "name": "count", @@ -4056,7 +3876,7 @@ "maximum": 100, "default": 100 }, - "description": "The number of addresses per page." + "description": "The number of results displayed on one page." }, { "in": "query", @@ -4082,36 +3902,68 @@ ], "default": "asc" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Ordered by the time of transaction submission.\nBy default, we return oldest first, newest last.\n" + } + ], + "responses": { + "200": { + "description": "Return the contents of the mempool", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/mempool_content" + } + } + } }, - { - "in": "query", - "name": "from", - "required": false, - "schema": { - "type": "string" - }, - "description": "The block number and optionally also index from which (inclusive) to start search for results, concatenated using colon.\nHas to be lower than or equal to `to` parameter.\n", - "example": "8929261" + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/mempool/{hash}": { + "get": { + "tags": [ + "Cardano » Mempool" + ], + "summary": "Specific transaction in the mempool", + "description": "Return content of the requested transaction.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "parameters": [ { - "in": "query", - "name": "to", - "required": false, + "in": "path", + "name": "hash", + "required": true, "schema": { - "type": "string" + "type": "string", + "format": "64-character case-sensitive hexadecimal string." }, - "description": "The block number and optionally also index where (inclusive) to end the search for results, concatenated using colon.\nHas to be higher than or equal to `from` parameter.\n", - "example": "9999269:10" + "description": "Hash of the requested transaction", + "example": "6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the address content", + "description": "Return the contents of the transaction.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/address_transactions_content" + "$ref": "#/components/schemas/mempool_tx_content" } } } @@ -4137,14 +3989,25 @@ } } }, - "/pools": { + "/mempool/addresses/{address}": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Mempool" ], - "summary": "List of stake pools", - "description": "List of registered stake pools.", + "summary": "Mempool by address", + "description": "List of mempool transactions where at least one of the transaction inputs or outputs belongs to the address.\nShows only transactions submitted via Blockfrost.io.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", "parameters": [ + { + "in": "path", + "name": "address", + "required": true, + "schema": { + "type": "string", + "format": "64-character case-sensitive hexadecimal string." + }, + "description": "Bech32 address.", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + }, { "in": "query", "name": "count", @@ -4155,7 +4018,7 @@ "maximum": 100, "default": 100 }, - "description": "The number of pools per page." + "description": "The number of results displayed on one page." }, { "in": "query", @@ -4181,16 +4044,16 @@ ], "default": "asc" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Ordered by the time of transaction submission.\nBy default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the list of pools.", + "description": "Return the contents of the mempool", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_list" + "$ref": "#/components/schemas/mempool_addresses_content" } } } @@ -4216,13 +4079,13 @@ } } }, - "/pools/extended": { + "/metadata/txs/labels": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Metadata" ], - "summary": "List of stake pools with additional information", - "description": "List of registered stake pools with additional information.", + "summary": "Transaction metadata labels", + "description": "List of all used transaction metadata labels.\n", "parameters": [ { "in": "query", @@ -4234,7 +4097,7 @@ "maximum": 100, "default": 100 }, - "description": "The number of pools per page." + "description": "The number of results displayed on one page." }, { "in": "query", @@ -4265,11 +4128,11 @@ ], "responses": { "200": { - "description": "Return the list of pools.", + "description": "Return the account metadata content in CBOR", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_list_extended" + "$ref": "#/components/schemas/tx_metadata_labels" } } } @@ -4295,14 +4158,24 @@ } } }, - "/pools/retired": { + "/metadata/txs/labels/{label}": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Metadata" ], - "summary": "List of retired stake pools", - "description": "List of already retired pools.", + "summary": "Transaction metadata content in JSON", + "description": "Transaction metadata per label.", "parameters": [ + { + "in": "path", + "name": "label", + "required": true, + "schema": { + "type": "string" + }, + "description": "Metadata label", + "example": "1990" + }, { "in": "query", "name": "count", @@ -4313,7 +4186,7 @@ "maximum": 100, "default": 100 }, - "description": "The number of pools per page." + "description": "The number of results displayed on one page." }, { "in": "query", @@ -4344,11 +4217,11 @@ ], "responses": { "200": { - "description": "Return the pool information content", + "description": "Return the account metadata content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_list_retire" + "$ref": "#/components/schemas/tx_metadata_label_json" } } } @@ -4374,14 +4247,24 @@ } } }, - "/pools/retiring": { + "/metadata/txs/labels/{label}/cbor": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Metadata" ], - "summary": "List of retiring stake pools", - "description": "List of stake pools retiring in the upcoming epochs", + "summary": "Transaction metadata content in CBOR", + "description": "Transaction metadata per label.", "parameters": [ + { + "in": "path", + "name": "label", + "required": true, + "schema": { + "type": "string" + }, + "description": "Metadata label", + "example": "1990" + }, { "in": "query", "name": "count", @@ -4423,11 +4306,11 @@ ], "responses": { "200": { - "description": "Return the pool information content", + "description": "Return the account metadata content in CBOR", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_list_retire" + "$ref": "#/components/schemas/tx_metadata_label_cbor" } } } @@ -4453,32 +4336,32 @@ } } }, - "/pools/{pool_id}": { + "/addresses/{address}": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Addresses" ], - "summary": "Specific stake pool", - "description": "Pool information.", + "summary": "Specific address", + "description": "Obtain information about a specific address.", "parameters": [ { "in": "path", - "name": "pool_id", + "name": "address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 or hexadecimal pool ID.", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + "description": "Bech32 address.", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" } ], "responses": { "200": { - "description": "Return the pool information content", + "description": "Return the address content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool" + "$ref": "#/components/schemas/address_content" } } } @@ -4504,70 +4387,32 @@ } } }, - "/pools/{pool_id}/history": { + "/addresses/{address}/extended": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Addresses" ], - "summary": "Stake pool history", - "description": "History of stake pool parameters over epochs.\n", + "summary": "Extended information of a specific address", + "description": "Obtain extended information about a specific address.\n", "parameters": [ { "in": "path", - "name": "pool_id", + "name": "address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 or hexadecimal pool ID.", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results" - }, - { - "in": "query", - "name": "order", - "required": false, - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" - }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Bech32 address.", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" } ], "responses": { "200": { - "description": "Return the pool information content.", + "description": "Return the address content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_history" + "$ref": "#/components/schemas/address_content_extended" } } } @@ -4593,39 +4438,32 @@ } } }, - "/pools/{pool_id}/metadata": { + "/addresses/{address}/total": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Addresses" ], - "summary": "Stake pool metadata", - "description": "Stake pool registration metadata.\n", + "summary": "Address details", + "description": "Obtain details about an address.", "parameters": [ { "in": "path", - "name": "pool_id", + "name": "address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 or hexadecimal pool ID.", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + "description": "Bech32 address.", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" } ], "responses": { "200": { - "description": "Return the pool metadata content.", + "description": "Return the Address details.", "content": { "application/json": { "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/pool_metadata" - }, - { - "$ref": "#/components/schemas/empty_object" - } - ] + "$ref": "#/components/schemas/address_content_total" } } } @@ -4651,32 +4489,70 @@ } } }, - "/pools/{pool_id}/relays": { + "/addresses/{address}/utxos": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Addresses" ], - "summary": "Stake pool relays", - "description": "Relays of a stake pool.", + "summary": "Address UTXOs", + "description": "UTXOs of the address.", "parameters": [ { "in": "path", - "name": "pool_id", + "name": "address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 or hexadecimal pool ID.", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + "description": "Bech32 address.", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the pool relays information content.", + "description": "Return the address content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_relays" + "$ref": "#/components/schemas/address_utxo_content" } } } @@ -4702,23 +4578,33 @@ } } }, - "/pools/{pool_id}/delegators": { + "/addresses/{address}/utxos/{asset}": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Addresses" ], - "summary": "Stake pool delegators", - "description": "List of current stake pools delegators.", + "summary": "Address UTXOs of a given asset", + "description": "UTXOs of the address.", "parameters": [ { "in": "path", - "name": "pool_id", + "name": "address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 or hexadecimal pool ID.", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + "description": "Bech32 address.", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + }, + { + "in": "path", + "name": "asset", + "required": true, + "schema": { + "type": "string" + }, + "description": "Concatenation of the policy_id and hex-encoded asset_name", + "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" }, { "in": "query", @@ -4761,11 +4647,11 @@ ], "responses": { "200": { - "description": "Return the pool delegations.", + "description": "Return the address content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_delegators" + "$ref": "#/components/schemas/address_utxo_content" } } } @@ -4791,23 +4677,24 @@ } } }, - "/pools/{pool_id}/blocks": { + "/addresses/{address}/txs": { "get": { + "deprecated": true, "tags": [ - "Cardano » Pools" + "Cardano » Addresses" ], - "summary": "Stake pool blocks", - "description": "List of stake pools blocks.", + "summary": "Address txs", + "description": "Transactions on the address.", "parameters": [ { "in": "path", - "name": "pool_id", + "name": "address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 or hexadecimal pool ID.", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + "description": "Bech32 address.", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" }, { "in": "query", @@ -4819,7 +4706,7 @@ "maximum": 100, "default": 100 }, - "description": "The number of results displayed on one page." + "description": "The number of transactions per page." }, { "in": "query", @@ -4850,11 +4737,11 @@ ], "responses": { "200": { - "description": "Return the pool block list", + "description": "Return the address content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_blocks" + "$ref": "#/components/schemas/address_txs_content" } } } @@ -4880,23 +4767,23 @@ } } }, - "/pools/{pool_id}/updates": { + "/addresses/{address}/transactions": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Addresses" ], - "summary": "Stake pool updates", - "description": "List of certificate updates to the stake pool.", + "summary": "Address transactions", + "description": "Transactions on the address.", "parameters": [ { "in": "path", - "name": "pool_id", + "name": "address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 or hexadecimal pool ID.", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + "description": "Bech32 address.", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" }, { "in": "query", @@ -4908,7 +4795,7 @@ "maximum": 100, "default": 100 }, - "description": "The number of results displayed on one page." + "description": "The number of addresses per page." }, { "in": "query", @@ -4935,15 +4822,35 @@ "default": "asc" }, "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + }, + { + "in": "query", + "name": "from", + "required": false, + "schema": { + "type": "string" + }, + "description": "The block number and optionally also index from which (inclusive) to start search for results, concatenated using colon.\nHas to be lower than or equal to `to` parameter.\n", + "example": "8929261" + }, + { + "in": "query", + "name": "to", + "required": false, + "schema": { + "type": "string" + }, + "description": "The block number and optionally also index where (inclusive) to end the search for results, concatenated using colon.\nHas to be higher than or equal to `from` parameter.\n", + "example": "9999269:10" } ], "responses": { "200": { - "description": "Return the pool updates history", + "description": "Return the address content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_updates" + "$ref": "#/components/schemas/address_transactions_content" } } } @@ -4969,13 +4876,13 @@ } } }, - "/assets": { + "/pools": { "get": { "tags": [ - "Cardano » Assets" + "Cardano » Pools" ], - "summary": "Assets", - "description": "List of assets. If an asset is completely burned,\nit will stay on the list with quantity 0 (order of assets is immutable).\n", + "summary": "List of stake pools", + "description": "List of registered stake pools.", "parameters": [ { "in": "query", @@ -4987,7 +4894,7 @@ "maximum": 100, "default": 100 }, - "description": "The number of results displayed on one page." + "description": "The number of pools per page." }, { "in": "query", @@ -5013,16 +4920,16 @@ ], "default": "asc" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\nOrdering in this case is based on the time of the first mint transaction.\n" + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return list of assets", + "description": "Return the list of pools.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/assets" + "$ref": "#/components/schemas/pool_list" } } } @@ -5048,32 +4955,60 @@ } } }, - "/assets/{asset}": { + "/pools/extended": { "get": { "tags": [ - "Cardano » Assets" + "Cardano » Pools" ], - "summary": "Specific asset", - "description": "Information about a specific asset", + "summary": "List of stake pools with additional information", + "description": "List of registered stake pools with additional information.", "parameters": [ { - "in": "path", - "name": "asset", - "required": true, + "in": "query", + "name": "count", + "required": false, "schema": { - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 }, - "description": "Concatenation of the policy_id and hex-encoded asset_name", - "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" + "description": "The number of pools per page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the information about a specific asset", + "description": "Return the list of pools.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/asset" + "$ref": "#/components/schemas/pool_list_extended" } } } @@ -5099,24 +5034,14 @@ } } }, - "/assets/{asset}/history": { + "/pools/retired": { "get": { "tags": [ - "Cardano » Assets" + "Cardano » Pools" ], - "summary": "Asset history", - "description": "History of a specific asset", + "summary": "List of retired stake pools", + "description": "List of already retired pools.", "parameters": [ - { - "in": "path", - "name": "asset", - "required": true, - "schema": { - "type": "string" - }, - "description": "Concatenation of the policy_id and hex-encoded asset_name", - "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" - }, { "in": "query", "name": "count", @@ -5127,7 +5052,7 @@ "maximum": 100, "default": 100 }, - "description": "The number of results displayed on one page." + "description": "The number of pools per page." }, { "in": "query", @@ -5158,11 +5083,11 @@ ], "responses": { "200": { - "description": "Return the information about the history of a specific asset", + "description": "Return the pool information content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/asset_history" + "$ref": "#/components/schemas/pool_list_retire" } } } @@ -5188,25 +5113,14 @@ } } }, - "/assets/{asset}/txs": { + "/pools/retiring": { "get": { - "deprecated": true, "tags": [ - "Cardano » Assets" + "Cardano » Pools" ], - "summary": "Asset txs", - "description": "List of a specific asset transactions", + "summary": "List of retiring stake pools", + "description": "List of stake pools retiring in the upcoming epochs", "parameters": [ - { - "in": "path", - "name": "asset", - "required": true, - "schema": { - "type": "string" - }, - "description": "Concatenation of the policy_id and hex-encoded asset_name", - "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" - }, { "in": "query", "name": "count", @@ -5248,11 +5162,11 @@ ], "responses": { "200": { - "description": "Return the information about the history of a specific asset", + "description": "Return the pool information content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/asset_txs" + "$ref": "#/components/schemas/pool_list_retire" } } } @@ -5278,70 +5192,32 @@ } } }, - "/assets/{asset}/transactions": { + "/pools/{pool_id}": { "get": { "tags": [ - "Cardano » Assets" + "Cardano » Pools" ], - "summary": "Asset transactions", - "description": "List of a specific asset transactions", + "summary": "Specific stake pool", + "description": "Pool information.", "parameters": [ { "in": "path", - "name": "asset", + "name": "pool_id", "required": true, "schema": { "type": "string" }, - "description": "Concatenation of the policy_id and hex-encoded asset_name", - "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" - }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Bech32 or hexadecimal pool ID.", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" } ], "responses": { "200": { - "description": "Return the information about the history of a specific asset", + "description": "Return the pool information content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/asset_transactions" + "$ref": "#/components/schemas/pool" } } } @@ -5367,23 +5243,23 @@ } } }, - "/assets/{asset}/addresses": { + "/pools/{pool_id}/history": { "get": { "tags": [ - "Cardano » Assets" + "Cardano » Pools" ], - "summary": "Asset addresses", - "description": "List of a addresses containing a specific asset", + "summary": "Stake pool history", + "description": "History of stake pool parameters over epochs.\n", "parameters": [ { "in": "path", - "name": "asset", + "name": "pool_id", "required": true, "schema": { "type": "string" }, - "description": "Concatenation of the policy_id and hex-encoded asset_name", - "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" + "description": "Bech32 or hexadecimal pool ID.", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" }, { "in": "query", @@ -5407,7 +5283,7 @@ "maximum": 21474836, "default": 1 }, - "description": "The page number for listing the results." + "description": "The page number for listing the results" }, { "in": "query", @@ -5426,11 +5302,11 @@ ], "responses": { "200": { - "description": "Return the information about the history of a specific asset", + "description": "Return the pool information content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/asset_addresses" + "$ref": "#/components/schemas/pool_history" } } } @@ -5456,70 +5332,39 @@ } } }, - "/assets/policy/{policy_id}": { + "/pools/{pool_id}/metadata": { "get": { "tags": [ - "Cardano » Assets" + "Cardano » Pools" ], - "summary": "Assets of a specific policy", - "description": "List of asset minted under a specific policy", + "summary": "Stake pool metadata", + "description": "Stake pool registration metadata.\n", "parameters": [ { "in": "path", - "name": "policy_id", + "name": "pool_id", "required": true, "schema": { "type": "string" }, - "description": "Specific policy_id", - "example": "476039a0949cf0b22f6a800f56780184c44533887ca6e821007840c3" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" - }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Bech32 or hexadecimal pool ID.", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" } ], "responses": { "200": { - "description": "Return the information about a specific asset", + "description": "Return the pool metadata content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/asset_policy" + "anyOf": [ + { + "$ref": "#/components/schemas/pool_metadata" + }, + { + "$ref": "#/components/schemas/empty_object" + } + ] } } } @@ -5545,22 +5390,83 @@ } } }, - "/scripts": { + "/pools/{pool_id}/relays": { "get": { "tags": [ - "Cardano » Scripts" + "Cardano » Pools" ], - "summary": "Scripts", - "description": "List of scripts.", + "summary": "Stake pool relays", + "description": "Relays of a stake pool.", "parameters": [ { - "in": "query", - "name": "count", - "required": false, + "in": "path", + "name": "pool_id", + "required": true, "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, + "type": "string" + }, + "description": "Bech32 or hexadecimal pool ID.", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + } + ], + "responses": { + "200": { + "description": "Return the pool relays information content.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pool_relays" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/pools/{pool_id}/delegators": { + "get": { + "tags": [ + "Cardano » Pools" + ], + "summary": "Stake pool delegators", + "description": "List of current stake pools delegators.", + "parameters": [ + { + "in": "path", + "name": "pool_id", + "required": true, + "schema": { + "type": "string" + }, + "description": "Bech32 or hexadecimal pool ID.", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, "default": 100 }, "description": "The number of results displayed on one page." @@ -5594,11 +5500,11 @@ ], "responses": { "200": { - "description": "Return list of scripts", + "description": "Return the pool delegations.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/scripts" + "$ref": "#/components/schemas/pool_delegators" } } } @@ -5624,32 +5530,70 @@ } } }, - "/scripts/{script_hash}": { + "/pools/{pool_id}/blocks": { "get": { "tags": [ - "Cardano » Scripts" + "Cardano » Pools" ], - "summary": "Specific script", - "description": "Information about a specific script", + "summary": "Stake pool blocks", + "description": "List of stake pools blocks.", "parameters": [ { "in": "path", - "name": "script_hash", + "name": "pool_id", "required": true, "schema": { "type": "string" }, - "description": "Hash of the script", - "example": "e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e" + "description": "Bech32 or hexadecimal pool ID.", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the information about a specific script", + "description": "Return the pool block list", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/script" + "$ref": "#/components/schemas/pool_blocks" } } } @@ -5675,32 +5619,70 @@ } } }, - "/scripts/{script_hash}/json": { + "/pools/{pool_id}/updates": { "get": { "tags": [ - "Cardano » Scripts" + "Cardano » Pools" ], - "summary": "Script JSON", - "description": "JSON representation of a `timelock` script", + "summary": "Stake pool updates", + "description": "List of certificate updates to the stake pool.", "parameters": [ { "in": "path", - "name": "script_hash", + "name": "pool_id", "required": true, "schema": { "type": "string" }, - "description": "Hash of the script", - "example": "e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e" + "description": "Bech32 or hexadecimal pool ID.", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the JSON representation of a `timelock` script", + "description": "Return the pool updates history", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/script_json" + "$ref": "#/components/schemas/pool_updates" } } } @@ -5726,32 +5708,70 @@ } } }, - "/scripts/{script_hash}/cbor": { + "/pools/{pool_id}/votes": { "get": { "tags": [ - "Cardano » Scripts" + "Cardano » Pools" ], - "summary": "Script CBOR", - "description": "CBOR representation of a `plutus` script", + "summary": "Stake pool votes", + "description": "History of stake pools votes.", "parameters": [ { "in": "path", - "name": "script_hash", + "name": "pool_id", "required": true, "schema": { "type": "string" }, - "description": "Hash of the script", - "example": "e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e" + "description": "Bech32 or hexadecimal pool ID.", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the CBOR representation of a `plutus` script", + "description": "Return the pool votes.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/script_cbor" + "$ref": "#/components/schemas/pool_votes" } } } @@ -5777,24 +5797,14 @@ } } }, - "/scripts/{script_hash}/redeemers": { + "/assets": { "get": { "tags": [ - "Cardano » Scripts" + "Cardano » Assets" ], - "summary": "Redeemers of a specific script", - "description": "List of redeemers of a specific script", + "summary": "Assets", + "description": "List of assets. If an asset is completely burned,\nit will stay on the list with quantity 0 (order of assets is immutable).\n", "parameters": [ - { - "in": "path", - "name": "script_hash", - "required": true, - "schema": { - "type": "string" - }, - "description": "Hash of the script", - "example": "e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e" - }, { "in": "query", "name": "count", @@ -5831,16 +5841,16 @@ ], "default": "asc" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\nOrdering in this case is based on the time of the first mint transaction.\n" } ], "responses": { "200": { - "description": "Return the information about redeemers of a specific script", + "description": "Return list of assets", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/script_redeemers" + "$ref": "#/components/schemas/assets" } } } @@ -5866,32 +5876,32 @@ } } }, - "/scripts/datum/{datum_hash}": { + "/assets/{asset}": { "get": { "tags": [ - "Cardano » Scripts" + "Cardano » Assets" ], - "summary": "Datum value", - "description": "Query JSON value of a datum by its hash", + "summary": "Specific asset", + "description": "Information about a specific asset", "parameters": [ { "in": "path", - "name": "datum_hash", + "name": "asset", "required": true, "schema": { "type": "string" }, - "description": "Hash of the datum", - "example": "db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d" + "description": "Concatenation of the policy_id and hex-encoded asset_name", + "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" } ], "responses": { "200": { - "description": "Return the datum value", + "description": "Return the information about a specific asset", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/script_datum" + "$ref": "#/components/schemas/asset" } } } @@ -5917,32 +5927,70 @@ } } }, - "/scripts/datum/{datum_hash}/cbor": { + "/assets/{asset}/history": { "get": { "tags": [ - "Cardano » Scripts" + "Cardano » Assets" ], - "summary": "Datum CBOR value", - "description": "Query CBOR serialised datum by its hash", + "summary": "Asset history", + "description": "History of a specific asset", "parameters": [ { "in": "path", - "name": "datum_hash", + "name": "asset", "required": true, "schema": { "type": "string" }, - "description": "Hash of the datum", - "example": "db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d" + "description": "Concatenation of the policy_id and hex-encoded asset_name", + "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the CBOR serialised datum value", + "description": "Return the information about the history of a specific asset", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/script_datum_cbor" + "$ref": "#/components/schemas/asset_history" } } } @@ -5968,52 +6016,71 @@ } } }, - "/utils/addresses/xpub/{xpub}/{role}/{index}": { + "/assets/{asset}/txs": { "get": { + "deprecated": true, "tags": [ - "Cardano » Utilities" + "Cardano » Assets" ], - "summary": "Derive an address", - "description": "Derive Shelley address from an xpub", + "summary": "Asset txs", + "description": "List of a specific asset transactions", "parameters": [ { "in": "path", - "name": "xpub", + "name": "asset", "required": true, "schema": { "type": "string" }, - "description": "Hex xpub", - "example": "d507c8f866691bd96e131334c355188b1a1d0b2fa0ab11545075aab332d77d9eb19657ad13ee581b56b0f8d744d66ca356b93d42fe176b3de007d53e9c4c4e7a" + "description": "Concatenation of the policy_id and hex-encoded asset_name", + "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" }, { - "in": "path", - "name": "role", - "required": true, + "in": "query", + "name": "count", + "required": false, "schema": { - "type": "integer" + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 }, - "description": "Account role", - "example": 0 + "description": "The number of results displayed on one page." }, { - "in": "path", - "name": "index", - "required": true, + "in": "query", + "name": "page", + "required": false, "schema": { - "type": "integer" + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 }, - "description": "Address index", - "example": 2 + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return derivated Shelley address", + "description": "Return the information about the history of a specific asset", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/utils_addresses_xpub" + "$ref": "#/components/schemas/asset_txs" } } } @@ -6039,54 +6106,70 @@ } } }, - "/utils/txs/evaluate": { - "post": { + "/assets/{asset}/transactions": { + "get": { "tags": [ - "Cardano » Utilities" + "Cardano » Assets" ], - "summary": "Submit a transaction for execution units evaluation", - "description": "Submit an already serialized transaction to evaluate how much execution units it requires.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "summary": "Asset transactions", + "description": "List of a specific asset transactions", "parameters": [ { - "in": "header", - "name": "Content-Type", + "in": "path", + "name": "asset", "required": true, + "schema": { + "type": "string" + }, + "description": "Concatenation of the policy_id and hex-encoded asset_name", + "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, "schema": { "type": "string", "enum": [ - "application/cbor" - ] - } - } - ], - "x-codeSamples": [ - { - "lang": "Shell", - "label": "cURL", - "source": "# Assuming `tx.data` is a CBOR serialized transaction on the file-system.\n# (encoded using base16 or base64)\ncurl \"https://cardano-mainnet.blockfrost.io/api/v0/utils/txs/evaluate\" \\\n -X POST \\\n -H \"Content-Type: application/cbor\" \\\n -H \"project_id: $PROJECT_ID\" \\\n --data @./tx.data\n" + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], - "requestBody": { - "description": "The transaction to submit, serialized in CBOR.\n", - "required": true, - "content": { - "application/cbor": { - "schema": { - "type": "string", - "description": "The transaction to submit, serialized in CBOR.\n" - }, - "example": "83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573\n" - } - } - }, "responses": { "200": { - "description": "

\n

\n Returns result of EvaluateTx function from Ogmios see EvaluateTx\n and API reference (EvaluateTxResponse) for related errors.\n
\n

\n", + "description": "Return the information about the history of a specific asset", "content": { "application/json": { "schema": { - "type": "object", - "additionalProperties": true + "$ref": "#/components/schemas/asset_transactions" } } } @@ -6103,9 +6186,6 @@ "418": { "$ref": "#/components/responses/418" }, - "425": { - "$ref": "#/components/responses/425" - }, "429": { "$ref": "#/components/responses/429" }, @@ -6115,132 +6195,70 @@ } } }, - "/utils/txs/evaluate/utxos": { - "post": { + "/assets/{asset}/addresses": { + "get": { "tags": [ - "Cardano » Utilities" + "Cardano » Assets" ], - "summary": "Submit a transaction for execution units evaluation (additional UTXO set)", - "description": "Submit a JSON payload with transaction CBOR and additional UTXO set to evaluate how much execution units it requires.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "summary": "Asset addresses", + "description": "List of a addresses containing a specific asset", "parameters": [ { - "in": "header", - "name": "Content-Type", + "in": "path", + "name": "asset", "required": true, "schema": { - "type": "string", - "enum": [ - "application/json" - ] - } - } - ], - "requestBody": { - "description": "JSON payload", - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "cbor": { - "type": "string", - "description": "Transaction CBOR (encoded using base64 or base16)." - }, - "additionalUtxoSet": { - "type": "array", - "description": "Additional UTXO as an array of tuples [TxIn, TxOut]. See https://ogmios.dev/mini-protocols/local-tx-submission/#additional-utxo-set.", - "items": { - "type": "array", - "minItems": 2, - "maxItems": 2, - "items": { - "anyOf": [ - { - "type": "object", - "description": "TxIn", - "properties": { - "txId": { - "type": "string", - "description": "Transaction hash for the input" - }, - "index": { - "type": "number", - "description": "Index of the output within the transaction" - } - } - }, - { - "type": "object", - "description": "TxOut", - "properties": { - "address": { - "type": "string", - "description": "Output address" - }, - "value": { - "type": "object", - "properties": { - "coins": { - "type": "number", - "description": "Lovelace amount" - }, - "assets": { - "type": "object", - "description": "Assets amount", - "additionalProperties": { - "type": "number" - } - } - }, - "required": [ - "coins" - ] - }, - "datum_hash": { - "type": "string" - }, - "datum": { - "type": "object", - "additionalProperties": true - }, - "script": { - "type": "object", - "additionalProperties": true - } - }, - "required": [ - "address", - "value" - ] - } - ] - } - } - } - }, - "required": [ - "cbor" - ] - } - } - } - }, - "x-codeSamples": [ + "type": "string" + }, + "description": "Concatenation of the policy_id and hex-encoded asset_name", + "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" + }, { - "lang": "Shell", - "label": "cURL", - "source": "# Assuming TxCbor is a CBOR serialized transaction encoded using base16 or base64\n# For a structure of additional UTXO set see https://ogmios.dev/mini-protocols/local-tx-submission/#additional-utxo-set\ncurl \"https://cardano-mainnet.blockfrost.io/api/v0/utils/txs/evaluate/utxos\" \\\n -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"project_id: $PROJECT_ID\" \\\n -d '{\"cbor\":\"\",\"additionalUtxoSet\":[[, ]]}'\n" + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "

\n

\n Returns result of EvaluateTx function from Ogmios see EvaluateTx\n and API reference (EvaluateTxResponse) for related errors.\n
\n

\n", + "description": "Return the information about the history of a specific asset", "content": { "application/json": { "schema": { - "type": "object", - "additionalProperties": true + "$ref": "#/components/schemas/asset_addresses" } } } @@ -6257,9 +6275,6 @@ "418": { "$ref": "#/components/responses/418" }, - "425": { - "$ref": "#/components/responses/425" - }, "429": { "$ref": "#/components/responses/429" }, @@ -6269,70 +6284,70 @@ } } }, - "/ipfs/add": { - "servers": [ - { - "url": "https://ipfs.blockfrost.io/api/v0" - } - ], - "post": { + "/assets/policy/{policy_id}": { + "get": { "tags": [ - "IPFS » Add" + "Cardano » Assets" ], - "summary": "Add a file to IPFS", - "operationId": "ipfs_add", - "description": "You need to `/ipfs/pin/add` an object to avoid it being garbage collected. This usage\nis being counted in your user account quota.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", - "x-codeSamples": [ + "summary": "Assets of a specific policy", + "description": "List of asset minted under a specific policy", + "parameters": [ { - "lang": "Shell", - "label": "cURL", - "source": "curl \"https://ipfs.blockfrost.io/api/v0/ipfs/add\" \\\n -X POST \\\n -H \"project_id: $PROJECT_ID\" \\\n -F \"file=@./README.md\"\n" + "in": "path", + "name": "policy_id", + "required": true, + "schema": { + "type": "string" + }, + "description": "Specific policy_id", + "example": "476039a0949cf0b22f6a800f56780184c44533887ca6e821007840c3" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "properties": { - "file": { - "type": "string", - "format": "binary" - } - } - } - } - } - }, "responses": { "200": { - "description": "Returns information about added IPFS object", + "description": "Return the information about a specific asset", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "example": "README.md", - "description": "Name of the file" - }, - "ipfs_hash": { - "type": "string", - "example": "QmZbHqiCxKEVX7QfijzJTkZiSi3WEVTcvANgNAWzDYgZDr", - "description": "IPFS hash of the file" - }, - "size": { - "type": "string", - "example": "125297", - "description": "IPFS node size in Bytes" - } - }, - "required": [ - "name", - "ipfs_hash", - "size" - ] + "$ref": "#/components/schemas/asset_policy" } } } @@ -6358,37 +6373,60 @@ } } }, - "/ipfs/gateway/{IPFS_path}": { - "servers": [ - { - "url": "https://ipfs.blockfrost.io/api/v0" - } - ], + "/scripts": { "get": { "tags": [ - "IPFS » Gateway" + "Cardano » Scripts" ], - "summary": "Relay to an IPFS gateway", - "description": "Retrieve an object from the IPFS gateway (useful if you do not want to rely on a public gateway, such as `ipfs.blockfrost.dev`).\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "summary": "Scripts", + "description": "List of scripts.", "parameters": [ { - "in": "path", - "required": true, - "name": "IPFS_path", + "in": "query", + "name": "count", + "required": false, "schema": { - "type": "string", - "description": "Path to the IPFS object" - } + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Returns the object content", + "description": "Return list of scripts", "content": { - "application/octet-stream": { + "application/json": { "schema": { - "type": "string", - "format": "binary" + "$ref": "#/components/schemas/scripts" } } } @@ -6414,55 +6452,32 @@ } } }, - "/ipfs/pin/add/{IPFS_path}": { - "servers": [ - { - "url": "https://ipfs.blockfrost.io/api/v0" - } - ], - "post": { + "/scripts/{script_hash}": { + "get": { "tags": [ - "IPFS » Pins" + "Cardano » Scripts" ], - "summary": "Pin an object", - "description": "Pinning is necessary to avoid regular garbage collection (deletion) of IPFS objects. Non-pinned objects are regularly being removed without prior notice. Pinned objects are counted in your user storage quota.", + "summary": "Specific script", + "description": "Information about a specific script", "parameters": [ { "in": "path", + "name": "script_hash", "required": true, - "name": "IPFS_path", "schema": { - "type": "string", - "description": "Path to the IPFS object" - } + "type": "string" + }, + "description": "Hash of the script", + "example": "e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e" } ], "responses": { "200": { - "description": "Returns pinned object", + "description": "Return the information about a specific script", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "ipfs_hash": { - "type": "string", - "example": "QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8", - "description": "IPFS hash of the pinned object" - }, - "state": { - "type": "string", - "enum": [ - "queued|pinned|unpinned|failed|gc" - ], - "example": "queued", - "description": "State of the pin action" - } - }, - "required": [ - "ipfs_hash", - "state" - ] + "$ref": "#/components/schemas/script" } } } @@ -6479,9 +6494,6 @@ "418": { "$ref": "#/components/responses/418" }, - "425": { - "$ref": "#/components/responses/425-2" - }, "429": { "$ref": "#/components/responses/429" }, @@ -6491,105 +6503,32 @@ } } }, - "/ipfs/pin/list": { - "servers": [ - { - "url": "https://ipfs.blockfrost.io/api/v0" - } - ], + "/scripts/{script_hash}/json": { "get": { "tags": [ - "IPFS » Pins" + "Cardano » Scripts" ], - "summary": "List pinned objects", - "description": "List objects pinned to local storage\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "summary": "Script JSON", + "description": "JSON representation of a `timelock` script", "parameters": [ { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, + "in": "path", + "name": "script_hash", + "required": true, "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" + "type": "string" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Hash of the script", + "example": "e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e" } ], "responses": { "200": { - "description": "Returns pinned objects", + "description": "Return the JSON representation of a `timelock` script", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "time_created": { - "type": "integer", - "description": "Creation time of the IPFS object on our backends", - "example": 1615551024 - }, - "time_pinned": { - "type": "integer", - "description": "Pin time of the IPFS object on our backends", - "example": 1615551024 - }, - "ipfs_hash": { - "type": "string", - "description": "IPFS hash of the pinned object", - "example": "QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx" - }, - "size": { - "type": "string", - "description": "Size of the object in Bytes", - "example": "1615551024" - }, - "state": { - "type": "string", - "enum": [ - "queued|pinned|unpinned|failed|gc" - ], - "description": "State of the pinned object, which is `queued` when we are retriving object. If this\nis successful the state is changed to `pinned` or `failed` if not. The state `gc` means the\npinned item has been garbage collected due to account being over storage quota or after it has\nbeen moved to `unpinned` state by removing the object pin.\n", - "example": "pinned" - } - }, - "required": [ - "time_created", - "time_pinned", - "ipfs_hash", - "size", - "state" - ] - } + "$ref": "#/components/schemas/script_json" } } } @@ -6615,73 +6554,32 @@ } } }, - "/ipfs/pin/list/{IPFS_path}": { - "servers": [ - { - "url": "https://ipfs.blockfrost.io/api/v0" - } - ], + "/scripts/{script_hash}/cbor": { "get": { "tags": [ - "IPFS » Pins" + "Cardano » Scripts" ], - "summary": "Get details about pinned object", - "description": "Get information about locally pinned IPFS object\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "summary": "Script CBOR", + "description": "CBOR representation of a `plutus` script", "parameters": [ { "in": "path", + "name": "script_hash", "required": true, - "name": "IPFS_path", "schema": { - "type": "string", - "description": "The path to the IPFS object" - } + "type": "string" + }, + "description": "Hash of the script", + "example": "e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e" } ], "responses": { "200": { - "description": "Returns the pins pinned", + "description": "Return the CBOR representation of a `plutus` script", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "time_created": { - "type": "integer", - "description": "Time of the creation of the IPFS object on our backends", - "example": 1615551024 - }, - "time_pinned": { - "type": "integer", - "description": "Time of the pin of the IPFS object on our backends", - "example": 1615551024 - }, - "ipfs_hash": { - "type": "string", - "description": "IPFS hash of the pinned object", - "example": "QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx" - }, - "size": { - "type": "string", - "description": "Size of the object in Bytes", - "example": "1615551024" - }, - "state": { - "type": "string", - "enum": [ - "queued|pinned|unpinned|failed|gc" - ], - "description": "State of the pinned object. We define 5 states: `queued`, `pinned`, `unpinned`, `failed`, `gc`.\nWhen the object is pending retrieval (i.e. after `/ipfs/pin/add/{IPFS_path}`), the state is `queued`.\nIf the object is already successfully retrieved, state is changed to `pinned` or `failed` otherwise.\nWhen object is unpinned (i.e. after `/ipfs/pin/remove/{IPFS_path}`) it is marked for garbage collection.\nState `gc` means that a previously `unpinned` item has been garbage collected due to account being over storage quota.\n", - "example": "pinned" - } - }, - "required": [ - "time_created", - "time_pinned", - "ipfs_hash", - "size", - "state" - ] + "$ref": "#/components/schemas/script_cbor" } } } @@ -6707,55 +6605,70 @@ } } }, - "/ipfs/pin/remove/{IPFS_path}": { - "servers": [ - { - "url": "https://ipfs.blockfrost.io/api/v0" - } - ], - "post": { + "/scripts/{script_hash}/redeemers": { + "get": { "tags": [ - "IPFS » Pins" + "Cardano » Scripts" ], - "summary": "Remove a IPFS pin", - "description": "Remove pinned objects from local storage\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "summary": "Redeemers of a specific script", + "description": "List of redeemers of a specific script", "parameters": [ { "in": "path", + "name": "script_hash", "required": true, - "name": "IPFS_path", + "schema": { + "type": "string" + }, + "description": "Hash of the script", + "example": "e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, "schema": { "type": "string", - "description": "The path to the IPFS object" - } + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Returns the pins removed", + "description": "Return the information about redeemers of a specific script", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "ipfs_hash": { - "type": "string", - "example": "QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8", - "description": "IPFS hash of the pinned object" - }, - "state": { - "type": "string", - "enum": [ - "queued|pinned|unpinned|failed|gc" - ], - "example": "unpinned", - "description": "State of the pin action" - } - }, - "required": [ - "ipfs_hash", - "state" - ] + "$ref": "#/components/schemas/script_redeemers" } } } @@ -6781,20 +6694,32 @@ } } }, - "/metrics": { + "/scripts/datum/{datum_hash}": { "get": { "tags": [ - "Metrics" + "Cardano » Scripts" + ], + "summary": "Datum value", + "description": "Query JSON value of a datum by its hash", + "parameters": [ + { + "in": "path", + "name": "datum_hash", + "required": true, + "schema": { + "type": "string" + }, + "description": "Hash of the datum", + "example": "db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d" + } ], - "summary": "Blockfrost usage metrics", - "description": "History of your Blockfrost usage metrics in the past 30 days.", "responses": { "200": { - "description": "Return the last 30 days of metrics", + "description": "Return the datum value", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/metrics" + "$ref": "#/components/schemas/script_datum" } } } @@ -6820,20 +6745,32 @@ } } }, - "/metrics/endpoints": { + "/scripts/datum/{datum_hash}/cbor": { "get": { "tags": [ - "Metrics" + "Cardano » Scripts" + ], + "summary": "Datum CBOR value", + "description": "Query CBOR serialised datum by its hash", + "parameters": [ + { + "in": "path", + "name": "datum_hash", + "required": true, + "schema": { + "type": "string" + }, + "description": "Hash of the datum", + "example": "db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d" + } ], - "summary": "Blockfrost endpoint usage metrics", - "description": "History of your Blockfrost usage metrics per endpoint in the past 30 days.\n", "responses": { "200": { - "description": "Return the last 30 days of metrics", + "description": "Return the CBOR serialised datum value", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/metrics_endpoints" + "$ref": "#/components/schemas/script_datum_cbor" } } } @@ -6859,59 +6796,52 @@ } } }, - "/network": { + "/utils/addresses/xpub/{xpub}/{role}/{index}": { "get": { "tags": [ - "Cardano » Network" + "Cardano » Utilities" ], - "summary": "Network information", - "description": "Return detailed network information.", - "responses": { - "200": { - "description": "Return detailed network information.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/network" - } - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "418": { - "$ref": "#/components/responses/418" + "summary": "Derive an address", + "description": "Derive Shelley address from an xpub", + "parameters": [ + { + "in": "path", + "name": "xpub", + "required": true, + "schema": { + "type": "string" + }, + "description": "Hex xpub", + "example": "d507c8f866691bd96e131334c355188b1a1d0b2fa0ab11545075aab332d77d9eb19657ad13ee581b56b0f8d744d66ca356b93d42fe176b3de007d53e9c4c4e7a" }, - "429": { - "$ref": "#/components/responses/429" + { + "in": "path", + "name": "role", + "required": true, + "schema": { + "type": "integer" + }, + "description": "Account role", + "example": 0 }, - "500": { - "$ref": "#/components/responses/500" + { + "in": "path", + "name": "index", + "required": true, + "schema": { + "type": "integer" + }, + "description": "Address index", + "example": 2 } - } - } - }, - "/network/eras": { - "get": { - "tags": [ - "Cardano » Network" ], - "summary": "Query summary of blockchain eras", - "description": "Returns start and end of each era along with\nparameters that can vary between hard forks.\n", "responses": { "200": { - "description": "Returns era summaries content.", + "description": "Return derivated Shelley address", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/network-eras" + "$ref": "#/components/schemas/utils_addresses_xpub" } } } @@ -6928,9 +6858,6 @@ "418": { "$ref": "#/components/responses/418" }, - "425": { - "$ref": "#/components/responses/425" - }, "429": { "$ref": "#/components/responses/429" }, @@ -6940,31 +6867,54 @@ } } }, - "/nutlink/{address}": { - "get": { + "/utils/txs/evaluate": { + "post": { "tags": [ - "Nut.link" + "Cardano » Utilities" ], - "summary": "Specific nut.link address", - "description": "List metadata about specific address", + "summary": "Submit a transaction for execution units evaluation", + "description": "Submit an already serialized transaction to evaluate how much execution units it requires.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", "parameters": [ { - "in": "path", + "in": "header", + "name": "Content-Type", "required": true, - "name": "address", "schema": { "type": "string", - "description": "Address of a metadata oracle" + "enum": [ + "application/cbor" + ] } } ], + "x-codeSamples": [ + { + "lang": "Shell", + "label": "cURL", + "source": "# Assuming `tx.data` is a CBOR serialized transaction on the file-system.\n# (encoded using base16 or base64)\ncurl \"https://cardano-mainnet.blockfrost.io/api/v0/utils/txs/evaluate\" \\\n -X POST \\\n -H \"Content-Type: application/cbor\" \\\n -H \"project_id: $PROJECT_ID\" \\\n --data @./tx.data\n" + } + ], + "requestBody": { + "description": "The transaction to submit, serialized in CBOR.\n", + "required": true, + "content": { + "application/cbor": { + "schema": { + "type": "string", + "description": "The transaction to submit, serialized in CBOR.\n" + }, + "example": "83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573\n" + } + } + }, "responses": { "200": { - "description": "Return the metadata about metadata oracle", + "description": "

\n

\n Returns result of EvaluateTx function from Ogmios see EvaluateTx\n and API reference (EvaluateTxResponse) for related errors.\n
\n

\n", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/nutlink_address" + "type": "object", + "additionalProperties": true } } } @@ -6981,6 +6931,9 @@ "418": { "$ref": "#/components/responses/418" }, + "425": { + "$ref": "#/components/responses/425" + }, "429": { "$ref": "#/components/responses/429" }, @@ -6990,69 +6943,224 @@ } } }, - "/nutlink/{address}/tickers": { - "get": { + "/utils/txs/evaluate/utxos": { + "post": { "tags": [ - "Nut.link" + "Cardano » Utilities" ], - "summary": "List of tickers of an oracle", - "description": "List of records of a specific oracle", + "summary": "Submit a transaction for execution units evaluation (additional UTXO set)", + "description": "Submit a JSON payload with transaction CBOR and additional UTXO set to evaluate how much execution units it requires.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", "parameters": [ { - "in": "path", + "in": "header", + "name": "Content-Type", "required": true, - "name": "address", "schema": { "type": "string", - "description": "Address of a metadata oracle" + "enum": [ + "application/json" + ] } - }, + } + ], + "requestBody": { + "description": "JSON payload", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "cbor": { + "type": "string", + "description": "Transaction CBOR (encoded using base64 or base16)." + }, + "additionalUtxoSet": { + "type": "array", + "description": "Additional UTXO as an array of tuples [TxIn, TxOut]. See https://ogmios.dev/mini-protocols/local-tx-submission/#additional-utxo-set.", + "items": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": { + "anyOf": [ + { + "type": "object", + "description": "TxIn", + "properties": { + "txId": { + "type": "string", + "description": "Transaction hash for the input" + }, + "index": { + "type": "number", + "description": "Index of the output within the transaction" + } + } + }, + { + "type": "object", + "description": "TxOut", + "properties": { + "address": { + "type": "string", + "description": "Output address" + }, + "value": { + "type": "object", + "properties": { + "coins": { + "type": "number", + "description": "Lovelace amount" + }, + "assets": { + "type": "object", + "description": "Assets amount", + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "coins" + ] + }, + "datum_hash": { + "type": "string" + }, + "datum": { + "type": "object", + "additionalProperties": true + }, + "script": { + "type": "object", + "additionalProperties": true + } + }, + "required": [ + "address", + "value" + ] + } + ] + } + } + } + }, + "required": [ + "cbor" + ] + } + } + } + }, + "x-codeSamples": [ { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." + "lang": "Shell", + "label": "cURL", + "source": "# Assuming TxCbor is a CBOR serialized transaction encoded using base16 or base64\n# For a structure of additional UTXO set see https://ogmios.dev/mini-protocols/local-tx-submission/#additional-utxo-set\ncurl \"https://cardano-mainnet.blockfrost.io/api/v0/utils/txs/evaluate/utxos\" \\\n -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"project_id: $PROJECT_ID\" \\\n -d '{\"cbor\":\"\",\"additionalUtxoSet\":[[, ]]}'\n" + } + ], + "responses": { + "200": { + "description": "

\n

\n Returns result of EvaluateTx function from Ogmios see EvaluateTx\n and API reference (EvaluateTxResponse) for related errors.\n
\n

\n", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "425": { + "$ref": "#/components/responses/425" + }, + "429": { + "$ref": "#/components/responses/429" }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/ipfs/add": { + "servers": [ + { + "url": "https://ipfs.blockfrost.io/api/v0" + } + ], + "post": { + "tags": [ + "IPFS » Add" + ], + "summary": "Add a file to IPFS", + "operationId": "ipfs_add", + "description": "You need to `/ipfs/pin/add` an object to avoid it being garbage collected. This usage\nis being counted in your user account quota.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "x-codeSamples": [ { - "in": "query", - "name": "order", - "required": false, - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" - }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "lang": "Shell", + "label": "cURL", + "source": "curl \"https://ipfs.blockfrost.io/api/v0/ipfs/add\" \\\n -X POST \\\n -H \"project_id: $PROJECT_ID\" \\\n -F \"file=@./README.md\"\n" } ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary" + } + } + } + } + } + }, "responses": { "200": { - "description": "Return the tickers provided by the metadata oracle", + "description": "Returns information about added IPFS object", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/nutlink_address_tickers" + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "README.md", + "description": "Name of the file" + }, + "ipfs_hash": { + "type": "string", + "example": "QmZbHqiCxKEVX7QfijzJTkZiSi3WEVTcvANgNAWzDYgZDr", + "description": "IPFS hash of the file" + }, + "size": { + "type": "string", + "example": "125297", + "description": "IPFS node size in Bytes" + } + }, + "required": [ + "name", + "ipfs_hash", + "size" + ] } } } @@ -7078,78 +7186,111 @@ } } }, - "/nutlink/{address}/tickers/{ticker}": { + "/ipfs/gateway/{IPFS_path}": { + "servers": [ + { + "url": "https://ipfs.blockfrost.io/api/v0" + } + ], "get": { "tags": [ - "Nut.link" + "IPFS » Gateway" ], - "summary": "Specific ticker for an address", - "description": "List of records of a specific ticker", + "summary": "Relay to an IPFS gateway", + "description": "Retrieve an object from the IPFS gateway (useful if you do not want to rely on a public gateway, such as `ipfs.blockfrost.dev`).\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", "parameters": [ { "in": "path", "required": true, - "name": "address", + "name": "IPFS_path", "schema": { "type": "string", - "description": "Address of a metadata oracle" + "description": "Path to the IPFS object" } - }, - { - "in": "path", - "required": true, - "name": "ticker", - "schema": { - "type": "string", - "description": "Ticker for the pool record" + } + ], + "responses": { + "200": { + "description": "Returns the object content", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } } }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." + "400": { + "$ref": "#/components/responses/400" }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/ipfs/pin/add/{IPFS_path}": { + "servers": [ + { + "url": "https://ipfs.blockfrost.io/api/v0" + } + ], + "post": { + "tags": [ + "IPFS » Pins" + ], + "summary": "Pin an object", + "description": "Pinning is necessary to avoid regular garbage collection (deletion) of IPFS objects. Non-pinned objects are regularly being removed without prior notice. Pinned objects are counted in your user storage quota.", + "parameters": [ { - "in": "query", - "name": "order", - "required": false, + "in": "path", + "required": true, + "name": "IPFS_path", "schema": { "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" - }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Path to the IPFS object" + } } ], "responses": { "200": { - "description": "Return the tickers provided by the metadata oracle", + "description": "Returns pinned object", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/nutlink_address_ticker" + "type": "object", + "properties": { + "ipfs_hash": { + "type": "string", + "example": "QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8", + "description": "IPFS hash of the pinned object" + }, + "state": { + "type": "string", + "enum": [ + "queued|pinned|unpinned|failed|gc" + ], + "example": "queued", + "description": "State of the pin action" + } + }, + "required": [ + "ipfs_hash", + "state" + ] } } } @@ -7166,6 +7307,9 @@ "418": { "$ref": "#/components/responses/418" }, + "425": { + "$ref": "#/components/responses/425-2" + }, "429": { "$ref": "#/components/responses/429" }, @@ -7175,23 +7319,19 @@ } } }, - "/nutlink/tickers/{ticker}": { + "/ipfs/pin/list": { + "servers": [ + { + "url": "https://ipfs.blockfrost.io/api/v0" + } + ], "get": { "tags": [ - "Nut.link" + "IPFS » Pins" ], - "summary": "Specific ticker", - "description": "List of records of a specific ticker", + "summary": "List pinned objects", + "description": "List objects pinned to local storage\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", "parameters": [ - { - "in": "path", - "required": true, - "name": "ticker", - "schema": { - "type": "string", - "description": "Ticker for the pool record" - } - }, { "in": "query", "name": "count", @@ -7233,11 +7373,51 @@ ], "responses": { "200": { - "description": "Return the tickers provided by the metadata oracle", + "description": "Returns pinned objects", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/nutlink_tickers_ticker" + "type": "array", + "items": { + "type": "object", + "properties": { + "time_created": { + "type": "integer", + "description": "Creation time of the IPFS object on our backends", + "example": 1615551024 + }, + "time_pinned": { + "type": "integer", + "description": "Pin time of the IPFS object on our backends", + "example": 1615551024 + }, + "ipfs_hash": { + "type": "string", + "description": "IPFS hash of the pinned object", + "example": "QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx" + }, + "size": { + "type": "string", + "description": "Size of the object in Bytes", + "example": "1615551024" + }, + "state": { + "type": "string", + "enum": [ + "queued|pinned|unpinned|failed|gc" + ], + "description": "State of the pinned object, which is `queued` when we are retriving object. If this\nis successful the state is changed to `pinned` or `failed` if not. The state `gc` means the\npinned item has been garbage collected due to account being over storage quota or after it has\nbeen moved to `unpinned` state by removing the object pin.\n", + "example": "pinned" + } + }, + "required": [ + "time_created", + "time_pinned", + "ipfs_hash", + "size", + "state" + ] + } } } } @@ -7262,277 +7442,1429 @@ } } } - } - }, - "components": { - "schemas": { - "onchain_metadata_cip25": { - "$ref": "#/components/schemas/asset_onchain_metadata_cip25" - }, - "onchain_metadata_cip68_ft_333": { - "$ref": "#/components/schemas/asset_onchain_metadata_cip68_ft_333" - }, - "onchain_metadata_cip68_nft_222": { - "$ref": "#/components/schemas/asset_onchain_metadata_cip68_nft_222" - }, - "onchain_metadata_cip68_rft_444": { - "$ref": "#/components/schemas/asset_onchain_metadata_cip68_rft_444" - }, - "block_content": { - "type": "object", - "properties": { - "time": { - "type": "integer", - "example": 1641338934, - "description": "Block creation time in UNIX time" - }, - "height": { - "type": "integer", - "nullable": true, - "example": 15243593, - "description": "Block number" - }, - "hash": { - "type": "string", - "example": "4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a", - "description": "Hash of the block" - }, - "slot": { - "type": "integer", - "nullable": true, - "example": 412162133, - "description": "Slot number" - }, - "epoch": { - "type": "integer", - "nullable": true, - "example": 425, - "description": "Epoch number" - }, - "epoch_slot": { - "type": "integer", - "nullable": true, - "example": 12, - "description": "Slot within the epoch" - }, - "slot_leader": { - "type": "string", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy", - "description": "Bech32 ID of the slot leader or specific block description in case there is no slot leader" - }, - "size": { - "type": "integer", - "example": 3, - "description": "Block size in Bytes" - }, - "tx_count": { - "type": "integer", - "example": 1, - "description": "Number of transactions in the block" - }, - "output": { - "type": "string", - "nullable": true, - "example": "128314491794", - "description": "Total output within the block in Lovelaces" - }, - "fees": { - "type": "string", - "nullable": true, + }, + "/ipfs/pin/list/{IPFS_path}": { + "servers": [ + { + "url": "https://ipfs.blockfrost.io/api/v0" + } + ], + "get": { + "tags": [ + "IPFS » Pins" + ], + "summary": "Get details about pinned object", + "description": "Get information about locally pinned IPFS object\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "parameters": [ + { + "in": "path", + "required": true, + "name": "IPFS_path", + "schema": { + "type": "string", + "description": "The path to the IPFS object" + } + } + ], + "responses": { + "200": { + "description": "Returns the pins pinned", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "time_created": { + "type": "integer", + "description": "Time of the creation of the IPFS object on our backends", + "example": 1615551024 + }, + "time_pinned": { + "type": "integer", + "description": "Time of the pin of the IPFS object on our backends", + "example": 1615551024 + }, + "ipfs_hash": { + "type": "string", + "description": "IPFS hash of the pinned object", + "example": "QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx" + }, + "size": { + "type": "string", + "description": "Size of the object in Bytes", + "example": "1615551024" + }, + "state": { + "type": "string", + "enum": [ + "queued|pinned|unpinned|failed|gc" + ], + "description": "State of the pinned object. We define 5 states: `queued`, `pinned`, `unpinned`, `failed`, `gc`.\nWhen the object is pending retrieval (i.e. after `/ipfs/pin/add/{IPFS_path}`), the state is `queued`.\nIf the object is already successfully retrieved, state is changed to `pinned` or `failed` otherwise.\nWhen object is unpinned (i.e. after `/ipfs/pin/remove/{IPFS_path}`) it is marked for garbage collection.\nState `gc` means that a previously `unpinned` item has been garbage collected due to account being over storage quota.\n", + "example": "pinned" + } + }, + "required": [ + "time_created", + "time_pinned", + "ipfs_hash", + "size", + "state" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/ipfs/pin/remove/{IPFS_path}": { + "servers": [ + { + "url": "https://ipfs.blockfrost.io/api/v0" + } + ], + "post": { + "tags": [ + "IPFS » Pins" + ], + "summary": "Remove a IPFS pin", + "description": "Remove pinned objects from local storage\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "parameters": [ + { + "in": "path", + "required": true, + "name": "IPFS_path", + "schema": { + "type": "string", + "description": "The path to the IPFS object" + } + } + ], + "responses": { + "200": { + "description": "Returns the pins removed", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "ipfs_hash": { + "type": "string", + "example": "QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8", + "description": "IPFS hash of the pinned object" + }, + "state": { + "type": "string", + "enum": [ + "queued|pinned|unpinned|failed|gc" + ], + "example": "unpinned", + "description": "State of the pin action" + } + }, + "required": [ + "ipfs_hash", + "state" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/metrics": { + "get": { + "tags": [ + "Metrics" + ], + "summary": "Blockfrost usage metrics", + "description": "History of your Blockfrost usage metrics in the past 30 days.", + "responses": { + "200": { + "description": "Return the last 30 days of metrics", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/metrics" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/metrics/endpoints": { + "get": { + "tags": [ + "Metrics" + ], + "summary": "Blockfrost endpoint usage metrics", + "description": "History of your Blockfrost usage metrics per endpoint in the past 30 days.\n", + "responses": { + "200": { + "description": "Return the last 30 days of metrics", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/metrics_endpoints" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/network": { + "get": { + "tags": [ + "Cardano » Network" + ], + "summary": "Network information", + "description": "Return detailed network information.", + "responses": { + "200": { + "description": "Return detailed network information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/network" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/network/eras": { + "get": { + "tags": [ + "Cardano » Network" + ], + "summary": "Query summary of blockchain eras", + "description": "Returns start and end of each era along with\nparameters that can vary between hard forks.\n", + "responses": { + "200": { + "description": "Returns era summaries content.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/network-eras" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "425": { + "$ref": "#/components/responses/425" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/nutlink/{address}": { + "get": { + "tags": [ + "Nut.link" + ], + "summary": "Specific nut.link address", + "description": "List metadata about specific address", + "parameters": [ + { + "in": "path", + "required": true, + "name": "address", + "schema": { + "type": "string", + "description": "Address of a metadata oracle" + } + } + ], + "responses": { + "200": { + "description": "Return the metadata about metadata oracle", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/nutlink_address" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/nutlink/{address}/tickers": { + "get": { + "tags": [ + "Nut.link" + ], + "summary": "List of tickers of an oracle", + "description": "List of records of a specific oracle", + "parameters": [ + { + "in": "path", + "required": true, + "name": "address", + "schema": { + "type": "string", + "description": "Address of a metadata oracle" + } + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + } + ], + "responses": { + "200": { + "description": "Return the tickers provided by the metadata oracle", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/nutlink_address_tickers" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/nutlink/{address}/tickers/{ticker}": { + "get": { + "tags": [ + "Nut.link" + ], + "summary": "Specific ticker for an address", + "description": "List of records of a specific ticker", + "parameters": [ + { + "in": "path", + "required": true, + "name": "address", + "schema": { + "type": "string", + "description": "Address of a metadata oracle" + } + }, + { + "in": "path", + "required": true, + "name": "ticker", + "schema": { + "type": "string", + "description": "Ticker for the pool record" + } + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + } + ], + "responses": { + "200": { + "description": "Return the tickers provided by the metadata oracle", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/nutlink_address_ticker" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/nutlink/tickers/{ticker}": { + "get": { + "tags": [ + "Nut.link" + ], + "summary": "Specific ticker", + "description": "List of records of a specific ticker", + "parameters": [ + { + "in": "path", + "required": true, + "name": "ticker", + "schema": { + "type": "string", + "description": "Ticker for the pool record" + } + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + } + ], + "responses": { + "200": { + "description": "Return the tickers provided by the metadata oracle", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/nutlink_tickers_ticker" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + } + }, + "components": { + "schemas": { + "onchain_metadata_cip25": { + "$ref": "#/components/schemas/asset_onchain_metadata_cip25" + }, + "onchain_metadata_cip68_ft_333": { + "$ref": "#/components/schemas/asset_onchain_metadata_cip68_ft_333" + }, + "onchain_metadata_cip68_nft_222": { + "$ref": "#/components/schemas/asset_onchain_metadata_cip68_nft_222" + }, + "onchain_metadata_cip68_rft_444": { + "$ref": "#/components/schemas/asset_onchain_metadata_cip68_rft_444" + }, + "block_content": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "example": 1641338934, + "description": "Block creation time in UNIX time" + }, + "height": { + "type": "integer", + "nullable": true, + "example": 15243593, + "description": "Block number" + }, + "hash": { + "type": "string", + "example": "4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a", + "description": "Hash of the block" + }, + "slot": { + "type": "integer", + "nullable": true, + "example": 412162133, + "description": "Slot number" + }, + "epoch": { + "type": "integer", + "nullable": true, + "example": 425, + "description": "Epoch number" + }, + "epoch_slot": { + "type": "integer", + "nullable": true, + "example": 12, + "description": "Slot within the epoch" + }, + "slot_leader": { + "type": "string", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy", + "description": "Bech32 ID of the slot leader or specific block description in case there is no slot leader" + }, + "size": { + "type": "integer", + "example": 3, + "description": "Block size in Bytes" + }, + "tx_count": { + "type": "integer", + "example": 1, + "description": "Number of transactions in the block" + }, + "output": { + "type": "string", + "nullable": true, + "example": "128314491794", + "description": "Total output within the block in Lovelaces" + }, + "fees": { + "type": "string", + "nullable": true, "example": "592661", "description": "Total fees within the block in Lovelaces" }, - "block_vrf": { - "type": "string", - "nullable": true, - "example": "vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty", - "description": "VRF key of the block", - "minLength": 65, - "maxLength": 65 + "block_vrf": { + "type": "string", + "nullable": true, + "example": "vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty", + "description": "VRF key of the block", + "minLength": 65, + "maxLength": 65 + }, + "op_cert": { + "type": "string", + "nullable": true, + "example": "da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c", + "description": "The hash of the operational certificate of the block producer" + }, + "op_cert_counter": { + "type": "string", + "nullable": true, + "example": "18", + "description": "The value of the counter used to produce the operational certificate" + }, + "previous_block": { + "type": "string", + "nullable": true, + "example": "43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05", + "description": "Hash of the previous block" + }, + "next_block": { + "type": "string", + "nullable": true, + "example": "8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa", + "description": "Hash of the next block" + }, + "confirmations": { + "type": "integer", + "example": 4698, + "description": "Number of block confirmations" + } + }, + "required": [ + "time", + "height", + "hash", + "slot", + "epoch", + "epoch_slot", + "slot_leader", + "size", + "tx_count", + "output", + "fees", + "block_vrf", + "op_cert", + "op_cert_counter", + "previous_block", + "next_block", + "confirmations" + ] + }, + "block_content_txs": { + "type": "array", + "items": { + "type": "string", + "description": "Hash of the transaction" + }, + "example": [ + "8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b", + "4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036", + "52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f", + "e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b" + ] + }, + "block_content_array": { + "type": "array", + "items": { + "$ref": "#/components/schemas/block_content" + } + }, + "block_content_addresses": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Address that was affected in the specified block" + }, + "transactions": { + "type": "array", + "description": "List of transactions containing the address either in their inputs or outputs. Sorted by transaction index within a block, ascending.", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string" + } + }, + "required": [ + "tx_hash" + ] + } + } + }, + "required": [ + "address", + "transactions" + ] + }, + "example": [ + { + "address": "addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv", + "transactions": [ + { + "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0" + } + ] + }, + { + "address": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz", + "transactions": [ + { + "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157d0" + } + ] + } + ] + }, + "genesis_content": { + "type": "object", + "properties": { + "active_slots_coefficient": { + "type": "number", + "example": 0.05, + "description": "The proportion of slots in which blocks should be issued" + }, + "update_quorum": { + "type": "integer", + "example": 5, + "description": "Determines the quorum needed for votes on the protocol parameter updates" + }, + "max_lovelace_supply": { + "type": "string", + "example": "45000000000000000", + "description": "The total number of lovelace in the system" + }, + "network_magic": { + "type": "integer", + "example": 764824073, + "description": "Network identifier" + }, + "epoch_length": { + "type": "integer", + "example": 432000, + "description": "Number of slots in an epoch" + }, + "system_start": { + "type": "integer", + "example": 1506203091, + "description": "Time of slot 0 in UNIX time" }, - "op_cert": { - "type": "string", - "nullable": true, - "example": "da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c", - "description": "The hash of the operational certificate of the block producer" + "slots_per_kes_period": { + "type": "integer", + "example": 129600, + "description": "Number of slots in an KES period" }, - "op_cert_counter": { + "slot_length": { + "type": "integer", + "example": 1, + "description": "Duration of one slot in seconds" + }, + "max_kes_evolutions": { + "type": "integer", + "example": 62, + "description": "The maximum number of time a KES key can be evolved before a pool operator must create a new operational certificate" + }, + "security_param": { + "type": "integer", + "example": 2160, + "description": "Security parameter k" + } + }, + "required": [ + "active_slots_coefficient", + "update_quorum", + "max_lovelace_supply", + "network_magic", + "epoch_length", + "system_start", + "slots_per_kes_period", + "slot_length", + "max_kes_evolutions", + "security_param" + ] + }, + "drep_content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "drep_id": { + "type": "string", + "description": "The Bech32 encoded DRep address" + }, + "hex": { + "type": "string", + "description": "The raw bytes of the DRep" + } + }, + "required": [ + "drep_id", + "hex" + ] + }, + "example": [ + { + "drep_id": "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn", + "hex": "db1bc3c3f99ce68977ceaf27ab4dd917123ef9e73f85c304236eab23" + }, + { + "drep_id": "drep1cxayn4fgy27yaucvhamsvqj3v6835mh3tjjx6x8hdnr4", + "hex": "c1ba49d52822bc4ef30cbf77060251668f1a6ef15ca46d18f76cc758" + } + ] + }, + "drep_details_content": { + "type": "object", + "properties": { + "drep_id": { "type": "string", - "nullable": true, - "example": "18", - "description": "The value of the counter used to produce the operational certificate" + "description": "Bech32 encoded DRep address" }, - "previous_block": { + "hex": { "type": "string", - "nullable": true, - "example": "43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05", - "description": "Hash of the previous block" + "description": "The raw bytes of the DRep" }, - "next_block": { + "amount": { "type": "string", - "nullable": true, - "example": "8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa", - "description": "Hash of the next block" + "description": "The total amount of voting power this DRep is delegated." }, - "confirmations": { + "active": { + "type": "boolean", + "description": "Registration state of the DRep" + }, + "active_epoch": { "type": "integer", - "example": 4698, - "description": "Number of block confirmations" + "nullable": true, + "description": "Epoch of the most recent action - registration or deregistration" + }, + "has_script": { + "type": "boolean", + "description": "Flag which shows if this DRep credentials are a script hash" } }, "required": [ - "time", - "height", - "hash", - "slot", - "epoch", - "epoch_slot", - "slot_leader", - "size", - "tx_count", - "output", - "fees", - "block_vrf", - "op_cert", - "op_cert_counter", - "previous_block", - "next_block", - "confirmations" + "drep_id", + "hex", + "amount", + "active", + "active_epoch", + "has_script" + ], + "example": [ + { + "drep_id": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc", + "hex": "a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d", + "amount": "2000000", + "active": true, + "active_epoch": 420, + "has_script": true + } ] }, - "block_content_txs": { + "drep_delegators": { "type": "array", "items": { - "type": "string", - "description": "Hash of the transaction" + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Bech32 encoded stake addresses" + }, + "amount": { + "type": "string", + "description": "Currently delegated amount" + } + }, + "required": [ + "address", + "amount" + ] }, "example": [ - "8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b", - "4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036", - "52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f", - "e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b" + { + "address": "stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha", + "amount": "1137959159981411" + }, + { + "address": "stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u", + "amount": "16958865648" + }, + { + "address": "stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck", + "amount": "18605647" + } ] }, - "block_content_array": { + "drep_metadata": { + "type": "object", + "properties": { + "drep_id": { + "type": "string", + "description": "Bech32 encoded addresses" + }, + "hex": { + "type": "string", + "description": "The raw bytes of the DRep" + }, + "url": { + "type": "string", + "nullable": true, + "example": "https://stakenuts.com/drep.json", + "description": "URL to the drep metadata" + }, + "hash": { + "type": "string", + "nullable": true, + "example": "69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c\"", + "description": "Hash of the metadata file" + } + }, + "required": [ + "drep_id", + "hex", + "url", + "hash" + ], + "example": [ + { + "drep_id": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc", + "hex": "a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d", + "url": "https://stakenuts.com/drep.json", + "hash": "69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c" + } + ] + }, + "drep_updates": { "type": "array", "items": { - "$ref": "#/components/schemas/block_content" - } + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Transaction ID" + }, + "cert_index": { + "type": "integer", + "description": "Certificate within the transaction" + }, + "action": { + "type": "string", + "enum": [ + "registered", + "deregistered" + ], + "description": "Action in the certificate" + } + }, + "required": [ + "tx_hash", + "cert_index", + "action" + ] + }, + "example": [ + { + "tx_hash": "f4097fbdb87ab7c7ab44b30d4e2b81713a058488975d1ab8b05c381dd946a393", + "cert_index": 0, + "action": "registered" + }, + { + "tx_hash": "dd3243af975be4b5bedce4e5f5b483b2386d5ad207d05e0289c1df0eb261447e", + "cert_index": 0, + "action": "deregistered" + } + ] }, - "block_content_addresses": { + "drep_votes": { "type": "array", "items": { "type": "object", "properties": { - "address": { + "tx_hash": { "type": "string", - "description": "Address that was affected in the specified block" + "description": "Hash of the proposal transaction." }, - "transactions": { - "type": "array", - "description": "List of transactions containing the address either in their inputs or outputs. Sorted by transaction index within a block, ascending.", - "items": { - "type": "object", - "properties": { - "tx_hash": { - "type": "string" - } - }, - "required": [ - "tx_hash" - ] - } + "cert_index": { + "type": "integer", + "description": "Index of the certificate within the proposal transaction." + }, + "vote": { + "type": "string", + "enum": [ + "yes", + "no", + "abstain" + ], + "description": "The Vote. Can be one of yes, no, abstain." + } + }, + "required": [ + "tx_hash", + "cert_index", + "vote" + ] + }, + "example": [ + { + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "cert_index": 2, + "vote": "yes" + }, + { + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "cert_index": 3, + "vote": "abstain" + } + ] + }, + "proposal_content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Hash of the proposal transaction." + }, + "cert_index": { + "type": "integer", + "description": "Index of the certificate within the proposal transaction." + }, + "governance_type": { + "type": "string", + "enum": [ + "hard_fork_initiation", + "new_committee", + "new_constitution", + "info_action", + "no_confidence", + "parameter_change", + "treasury_withdrawals" + ], + "description": "Type of proposal." } }, "required": [ - "address", - "transactions" + "tx_hash", + "cert_index", + "governance_type" ] }, "example": [ { - "address": "addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv", - "transactions": [ - { - "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0" - } - ] + "tx_hash": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531", + "cert_index": 1, + "governance_type": "treasury_withdrawals" }, { - "address": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz", - "transactions": [ - { - "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157d0" - } - ] + "tx_hash": "71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60", + "cert_index": 4, + "governance_type": "no_confidence" } ] }, - "genesis_content": { + "proposal_details_content": { "type": "object", "properties": { - "active_slots_coefficient": { - "type": "number", - "example": 0.05, - "description": "The proportion of slots in which blocks should be issued" + "tx_hash": { + "type": "string", + "description": "Hash of the proposal transaction." }, - "update_quorum": { + "cert_index": { "type": "integer", - "example": 5, - "description": "Determines the quorum needed for votes on the protocol parameter updates" + "description": "Index of the certificate within the proposal transaction." }, - "max_lovelace_supply": { + "governance_type": { "type": "string", - "example": "45000000000000000", - "description": "The total number of lovelace in the system" + "enum": [ + "hard_fork_initiation", + "new_committee", + "new_constitution", + "info_action", + "no_confidence", + "parameter_change", + "treasury_withdrawals" + ], + "description": "Type of proposal." }, - "network_magic": { - "type": "integer", - "example": 764824073, - "description": "Network identifier" + "governance_description": { + "additionalProperties": true, + "type": "object", + "nullable": true, + "description": "An object describing the content of this GovActionProposal in a readable way." }, - "epoch_length": { - "type": "integer", - "example": 432000, - "description": "Number of slots in an epoch" + "deposit": { + "type": "string", + "description": "The deposit amount paid for this proposal." }, - "system_start": { + "return_address": { + "type": "string", + "description": "Bech32 stake address of the reward address to receive the deposit when it is repaid." + }, + "ratified_epoch": { "type": "integer", - "example": 1506203091, - "description": "Time of slot 0 in UNIX time" + "nullable": true }, - "slots_per_kes_period": { + "enacted_epoch": { "type": "integer", - "example": 129600, - "description": "Number of slots in an KES period" + "nullable": true }, - "slot_length": { + "dropped_epoch": { "type": "integer", - "example": 1, - "description": "Duration of one slot in seconds" + "nullable": true }, - "max_kes_evolutions": { + "expired_epoch": { "type": "integer", - "example": 62, - "description": "The maximum number of time a KES key can be evolved before a pool operator must create a new operational certificate" + "nullable": true }, - "security_param": { + "expiration": { "type": "integer", - "example": 2160, - "description": "Security parameter k" + "description": "Shows the epoch at which this governance action will expire." + }, + "anchor_url": { + "type": "string", + "nullable": true, + "description": "The URL of the offchain anchor data." + }, + "anchor_hash": { + "type": "string", + "nullable": true, + "description": "The hash of the offchain anchor data." } }, "required": [ - "active_slots_coefficient", - "update_quorum", - "max_lovelace_supply", - "network_magic", - "epoch_length", - "system_start", - "slots_per_kes_period", - "slot_length", - "max_kes_evolutions", - "security_param" + "tx_hash", + "cert_index", + "governance_type", + "deposit", + "return_address", + "governance_description", + "ratified_epoch", + "enacted_epoch", + "dropped_epoch", + "expired_epoch", + "expiration", + "anchor_url", + "anchor_hash" + ], + "example": [ + { + "tx_hash": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531", + "cert_index": 1, + "governance_type": "treasury_withdrawals", + "deposit": 12000, + "return_address": "stake_test1urd3hs7rlxwwdzthe6hj026dmyt3y0heuulctscyydh2kgck6nkmz", + "governance_description": "TreasuryWithdrawals (fromList [(RewardAcnt {getRwdNetwork = Testnet, getRwdCred = KeyHashObj (KeyHash \"71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60\")},Coin 20000000)])", + "ratified_epoch": null, + "enacted_epoch": 123, + "dropped_epoch": null, + "expired_epoch": null, + "expiration": 120, + "anchor_url": "https://gist.github.com/123", + "anchor_hash": "50b340624d49823720505e3f0095be0d6cd8f26501e094a6ab9068dd" + } + ] + }, + "proposal_details_votes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Hash of the voting transaction." + }, + "cert_index": { + "type": "integer", + "description": "Index of the certificate within the voting transaction." + }, + "voter_role": { + "type": "string", + "enum": [ + "constitutional_committee", + "drep", + "spo" + ], + "description": "The role of the voter. Can be one of constitutional_committee, drep, spo." + }, + "voter": { + "type": "string", + "description": "The actual voter." + }, + "vote": { + "type": "string", + "enum": [ + "yes", + "no", + "abstain" + ], + "description": "The Vote. Can be one of yes, no, abstain." + } + }, + "required": [ + "tx_hash", + "cert_index", + "voter_role", + "voter", + "vote" + ] + }, + "example": [ + { + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "cert_index": 2, + "voter_role": "drep", + "voter": "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn", + "vote": "yes" + }, + { + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "cert_index": 3, + "voter_role": "constitutional_committee", + "voter": "53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4", + "vote": "abstain" + } + ] + }, + "vote_content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Hash of the proposal transaction." + }, + "cert_index": { + "type": "integer", + "description": "Index of the certificate within the proposal transaction." + }, + "voter_role": { + "type": "string", + "enum": [ + "constitutional_committee", + "drep", + "spo" + ], + "description": "The role of the voter. Can be one of constitutional_committee, drep, spo." + }, + "voter": { + "type": "string", + "description": "The actual voter." + }, + "vote": { + "type": "string", + "enum": [ + "yes", + "no", + "abstain" + ], + "description": "The Vote. Can be one of yes, no, abstain." + } + }, + "required": [ + "tx_hash", + "cert_index", + "voter_role", + "voter", + "vote" + ] + }, + "example": [ + { + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "cert_index": 2, + "voter_role": "spo", + "voter": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy", + "vote": "yes" + }, + { + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "cert_index": 3, + "voter_role": "constitutional_committee", + "voter": "53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4", + "vote": "abstain" + } ] }, "epoch_content": { @@ -7788,8 +9120,113 @@ "type": "string", "nullable": true, "example": "34482", - "description": "Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later.", - "deprecated": true + "deprecated": true, + "description": "Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later." + }, + "pvt_motion_no_confidence": { + "type": "number", + "nullable": true, + "description": "Pool Voting threshold for motion of no-confidence." + }, + "pvt_committee_normal": { + "nullable": true, + "type": "number", + "description": "Pool Voting threshold for new committee/threshold (normal state)." + }, + "pvt_committee_no_confidence": { + "nullable": true, + "type": "number", + "description": "Pool Voting threshold for new committee/threshold (state of no-confidence)." + }, + "pvt_hard_fork_initiation": { + "nullable": true, + "type": "number", + "description": "Pool Voting threshold for hard-fork initiation." + }, + "dvt_motion_no_confidence": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for motion of no-confidence." + }, + "dvt_committee_normal": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for new committee/threshold (normal state)." + }, + "dvt_committee_no_confidence": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for new committee/threshold (state of no-confidence)." + }, + "dvt_update_to_constitution": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for update to the Constitution." + }, + "dvt_hard_fork_initiation": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for hard-fork initiation." + }, + "dvt_p_p_network_group": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for protocol parameter changes, network group." + }, + "dvt_p_p_economic_group": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for protocol parameter changes, economic group." + }, + "dvt_p_p_technical_group": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for protocol parameter changes, technical group." + }, + "dvt_p_p_gov_group": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for protocol parameter changes, governance group." + }, + "dvt_treasury_withdrawal": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for treasury withdrawal." + }, + "committee_min_size": { + "type": "string", + "nullable": true, + "description": "Minimal constitutional committee size." + }, + "committee_max_term_length": { + "type": "string", + "nullable": true, + "description": "Constitutional committee term limits." + }, + "gov_action_lifetime": { + "type": "string", + "nullable": true, + "description": "Governance action expiration." + }, + "gov_action_deposit": { + "type": "string", + "nullable": true, + "description": "Governance action deposit." + }, + "drep_deposit": { + "type": "string", + "nullable": true, + "description": "DRep deposit amount." + }, + "drep_activity": { + "type": "string", + "nullable": true, + "description": "DRep activity period." + }, + "registered_tx_id": { + "type": "integer", + "nullable": true, + "description": "The Tx table index for the transaction that contains this parameter proposal." } }, "required": [ @@ -7824,7 +9261,28 @@ "collateral_percent", "max_collateral_inputs", "coins_per_utxo_size", - "coins_per_utxo_word" + "coins_per_utxo_word", + "pvt_motion_no_confidence", + "pvt_committee_normal", + "pvt_committee_no_confidence", + "pvt_hard_fork_initiation", + "dvt_motion_no_confidence", + "dvt_committee_normal", + "dvt_committee_no_confidence", + "dvt_update_to_constitution", + "dvt_hard_fork_initiation", + "dvt_p_p_network_group", + "dvt_p_p_economic_group", + "dvt_p_p_technical_group", + "dvt_p_p_gov_group", + "dvt_treasury_withdrawal", + "committee_min_size", + "committee_max_term_length", + "gov_action_lifetime", + "gov_action_deposit", + "drep_deposit", + "drep_activity", + "registered_tx_id" ] }, "epoch_content_array": { @@ -8806,7 +10264,13 @@ "type": "string", "nullable": true, "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy", - "description": "Bech32 pool ID that owns the account" + "description": "Bech32 pool ID to which this account is delegated" + }, + "drep_id": { + "type": "string", + "nullable": true, + "example": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc", + "description": "Bech32 drep ID to which this account is delegated" } }, "required": [ @@ -8819,7 +10283,8 @@ "reserves_sum", "treasury_sum", "withdrawable_amount", - "pool_id" + "pool_id", + "drep_id" ] }, "account_reward_content": { @@ -10641,6 +12106,43 @@ } ] }, + "pool_votes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Hash of the proposal transaction." + }, + "cert_index": { + "type": "integer", + "description": "Index of the certificate within the proposal transaction." + }, + "vote": { + "type": "string", + "enum": [ + "yes", + "no", + "abstain" + ], + "description": "The Vote. Can be one of yes, no, abstain." + } + }, + "required": [ + "tx_hash", + "cert_index", + "vote" + ] + }, + "example": [ + { + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "cert_index": 2, + "vote": "yes" + } + ] + }, "assets": { "type": "array", "items": { diff --git a/openapi.yaml b/openapi.yaml index 69b95e70..e5bbc628 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -1,6 +1,6 @@ openapi: 3.0.0 info: - version: 0.1.64 + version: 0.1.65 title: Blockfrost.io ~ API Documentation x-logo: url: https://staging.blockfrost.io/images/logo.svg @@ -260,6 +260,7 @@ tags: - name: Cardano » Assets - name: Cardano » Blocks - name: Cardano » Epochs + - name: Cardano » Governance - name: Cardano » Ledger - name: Cardano » Mempool - name: Cardano » Metadata @@ -280,7 +281,7 @@ paths: description: | Root endpoint has no other function than to point end users to documentation. responses: - '200': + "200": description: Information pointing to the documentation. content: application/json: @@ -296,16 +297,16 @@ paths: required: - url - version - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /health: get: tags: @@ -315,7 +316,7 @@ paths: description: | Return backend status as a boolean. Your application should handle situations when backend for the given chain is unavailable. responses: - '200': + "200": description: Return the boolean indicating the health of the backend. content: application/json: @@ -327,16 +328,16 @@ paths: example: true required: - is_healthy - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /health/clock: get: tags: @@ -346,7 +347,7 @@ paths: This endpoint provides the current UNIX time. Your application might use this to verify if the client clock is not out of sync. responses: - '200': + "200": description: Return the current UNIX time in milliseconds. content: application/json: @@ -359,16 +360,16 @@ paths: example: 1603400958947 required: - server_time - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /blocks/latest: get: tags: @@ -378,24 +379,24 @@ paths: Return the latest block available to the backends, also known as the tip of the blockchain. responses: - '200': + "200": description: Return the contents of the block content: application/json: schema: - $ref: '#/components/schemas/block_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/block_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /blocks/latest/txs: get: tags: @@ -435,24 +436,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the contents of the block content: application/json: schema: - $ref: '#/components/schemas/block_content_txs' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/block_content_txs" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /blocks/{hash_or_number}: get: tags: @@ -470,24 +471,24 @@ paths: description: Hash or number of the requested block. example: 4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a responses: - '200': + "200": description: Return the contents of the block content: application/json: schema: - $ref: '#/components/schemas/block_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/block_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /blocks/{hash_or_number}/next: get: tags: @@ -523,24 +524,24 @@ paths: default: 1 description: The page number for listing the results. responses: - '200': + "200": description: Return the contents of the block content: application/json: schema: - $ref: '#/components/schemas/block_content_array' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/block_content_array" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /blocks/{hash_or_number}/previous: get: tags: @@ -556,7 +557,7 @@ paths: type: string format: 64-character case-sensitive hexadecimal string or block number. description: Hash of the requested block - example: '4873401' + example: "4873401" - in: query name: count required: false @@ -576,24 +577,24 @@ paths: default: 1 description: The page number for listing the results. responses: - '200': + "200": description: Return the contents of the block content: application/json: schema: - $ref: '#/components/schemas/block_content_array' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/block_content_array" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /blocks/slot/{slot_number}: get: tags: @@ -611,24 +612,24 @@ paths: description: Slot position for requested block. example: 30895909 responses: - '200': + "200": description: Return the contents of the block content: application/json: schema: - $ref: '#/components/schemas/block_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/block_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /blocks/epoch/{epoch_number}/slot/{slot_number}: get: tags: @@ -654,24 +655,24 @@ paths: description: Slot position for requested block. example: 30895909 responses: - '200': + "200": description: Return the contents of the block content: application/json: schema: - $ref: '#/components/schemas/block_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/block_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /blocks/{hash_or_number}/txs: get: tags: @@ -686,7 +687,7 @@ paths: type: string format: 64-character case-sensitive hexadecimal string or block number. description: Hash of the requested block. - example: '4873401' + example: "4873401" - in: query name: count required: false @@ -719,24 +720,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the contents of the block content: application/json: schema: - $ref: '#/components/schemas/block_content_txs' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/block_content_txs" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /blocks/{hash_or_number}/addresses: get: tags: @@ -751,7 +752,7 @@ paths: type: string format: 64-character case-sensitive hexadecimal string or block number. description: Hash of the requested block. - example: '4873401' + example: "4873401" - in: query name: count required: false @@ -771,24 +772,24 @@ paths: default: 1 description: The page number for listing the results. responses: - '200': + "200": description: Return the contents of the block content: application/json: schema: - $ref: '#/components/schemas/block_content_addresses' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/block_content_addresses" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /genesis: get: tags: @@ -796,22 +797,538 @@ paths: summary: Blockchain genesis description: Return the information about blockchain genesis. responses: - '200': + "200": description: Return the genesis parameters. content: application/json: schema: - $ref: '#/components/schemas/genesis_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/genesis_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" + /governance/dreps: + get: + tags: + - Cardano » Governance + summary: Delegate Representatives (DReps) + description: Return the information about Delegate Representatives (DReps) + parameters: + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + Ordering in this case is based on the time of the first mint transaction. + responses: + "200": + description: Paginated array with the Delegate Representatives (DReps) data + content: + application/json: + schema: + $ref: "#/components/schemas/drep_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" + /governance/dreps/{drep_id}: + get: + tags: + - Cardano » Governance + summary: Specific DRep + description: DRep information. + parameters: + - in: path + name: drep_id + required: true + schema: + type: string + description: Bech32 or hexadecimal DRep ID. + example: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + responses: + "200": + description: Return the DRep information content + content: + application/json: + schema: + $ref: "#/components/schemas/drep_details_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" + /governance/dreps/{drep_id}/delegators: + get: + tags: + - Cardano » Governance + summary: DRep delegators + description: List of Drep delegators. + parameters: + - in: path + name: drep_id + required: true + schema: + type: string + description: Bech32 or hexadecimal drep ID. + example: drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + "200": + description: Return the DRep delegations + content: + application/json: + schema: + $ref: "#/components/schemas/drep_delegators" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" + /governance/dreps/{drep_id}/metadata: + get: + tags: + - Cardano » Governance + summary: DRep metadata + description: DRep metadata information. + parameters: + - in: path + name: drep_id + required: true + schema: + type: string + description: Bech32 or hexadecimal DRep ID. + example: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + responses: + "200": + description: Return the DRep metadata content. + content: + application/json: + schema: + $ref: "#/components/schemas/drep_metadata" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" + /governance/dreps/{drep_id}/updates: + get: + tags: + - Cardano » Governance + summary: DRep updates + description: List of certificate updates to the DRep. + parameters: + - in: path + name: drep_id + required: true + schema: + type: string + description: Bech32 or hexadecimal DRep ID. + example: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + "200": + description: Return the Drep updates history + content: + application/json: + schema: + $ref: "#/components/schemas/drep_updates" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" + /governance/dreps/{drep_id}/votes: + get: + tags: + - Cardano » Governance + summary: DRep votes + description: History of Drep votes. + parameters: + - in: path + name: drep_id + required: true + schema: + type: string + description: Bech32 or hexadecimal drep ID. + example: drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + "200": + description: Return the DRep votes + content: + application/json: + schema: + $ref: "#/components/schemas/drep_votes" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" + /governance/proposals: + get: + tags: + - Cardano » Governance + summary: Proposals + description: Return the information about Proposals + parameters: + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + Ordering in this case is based on the time of the first mint transaction. + responses: + "200": + description: Paginated array with the proposal data + content: + application/json: + schema: + $ref: "#/components/schemas/proposal_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" + /governance/proposals/{tx_hash}/{cert_index}: + get: + tags: + - Cardano » Governance + summary: Specific proposal + description: Proposal information. + parameters: + - in: path + name: tx_hash + required: true + schema: + type: string + description: Transaction hash. + example: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + - in: path + name: cert_index + required: true + schema: + type: integer + description: Transaction index. + example: 1 + responses: + "200": + description: Return the proposal information content + content: + application/json: + schema: + $ref: "#/components/schemas/proposal_details_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" + /governance/proposals/{tx_hash}/{cert_index}/votes: + get: + tags: + - Cardano » Governance + summary: Proposal votes + description: History of Proposal votes. + parameters: + - in: path + name: tx_hash + required: true + schema: + type: string + description: Transaction hash. + example: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + - in: path + name: cert_index + required: true + schema: + type: integer + description: Transaction index. + example: 1 + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + "200": + description: Return the Proposal votes + content: + application/json: + schema: + $ref: "#/components/schemas/proposal_details_votes" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" + /governance/votes: + get: + tags: + - Cardano » Governance + summary: Votes + description: Return the information about votes + parameters: + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + Ordering in this case is based on the time of the first mint transaction. + responses: + "200": + description: Paginated array with the votes data + content: + application/json: + schema: + $ref: "#/components/schemas/vote_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /epochs/latest: get: tags: @@ -819,24 +1336,24 @@ paths: summary: Latest epoch description: Return the information about the latest, therefore current, epoch. responses: - '200': + "200": description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/epoch_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/epoch_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /epochs/latest/parameters: get: tags: @@ -844,24 +1361,24 @@ paths: summary: Latest epoch protocol parameters description: Return the protocol parameters for the latest epoch. responses: - '200': + "200": description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/epoch_param_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/epoch_param_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /epochs/{number}: get: tags: @@ -877,24 +1394,24 @@ paths: description: Number of the epoch example: 225 responses: - '200': + "200": description: Return the epoch data. content: application/json: schema: - $ref: '#/components/schemas/epoch_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/epoch_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /epochs/{number}/next: get: tags: @@ -928,24 +1445,24 @@ paths: default: 1 description: The page number for listing the results. responses: - '200': + "200": description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/epoch_content_array' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/epoch_content_array" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /epochs/{number}/previous: get: tags: @@ -979,24 +1496,24 @@ paths: default: 1 description: The page number for listing the results responses: - '200': + "200": description: Return the epoch data content: application/json: schema: - $ref: '#/components/schemas/epoch_content_array' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/epoch_content_array" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /epochs/{number}/stakes: get: tags: @@ -1030,24 +1547,24 @@ paths: default: 1 description: The page number for listing the results. responses: - '200': + "200": description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/epoch_stake_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/epoch_stake_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /epochs/{number}/stakes/{pool_id}: get: tags: @@ -1088,24 +1605,24 @@ paths: default: 1 description: The page number for listing the results. responses: - '200': + "200": description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/epoch_stake_pool_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/epoch_stake_pool_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /epochs/{number}/blocks: get: tags: @@ -1151,24 +1668,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/epoch_block_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/epoch_block_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /epochs/{number}/blocks/{pool_id}: get: tags: @@ -1221,24 +1738,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/epoch_block_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/epoch_block_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /epochs/{number}/parameters: get: tags: @@ -1254,24 +1771,24 @@ paths: description: Number of the epoch example: 225 responses: - '200': + "200": description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/epoch_param_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/epoch_param_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /txs/{hash}: get: tags: @@ -1288,24 +1805,24 @@ paths: description: Hash of the requested transaction example: 6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: - '200': + "200": description: Return the contents of the transaction. content: application/json: schema: - $ref: '#/components/schemas/tx_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/tx_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /txs/{hash}/utxos: get: tags: @@ -1322,24 +1839,24 @@ paths: description: Hash of the requested transaction example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: - '200': + "200": description: Return the contents of the transaction. content: application/json: schema: - $ref: '#/components/schemas/tx_content_utxo' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/tx_content_utxo" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /txs/{hash}/stakes: get: tags: @@ -1357,25 +1874,25 @@ paths: description: Hash of the requested transaction. example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: - '200': + "200": description: | Obtain information about (de)registration of stake addresses within a transaction. content: application/json: schema: - $ref: '#/components/schemas/tx_content_stake_addr' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/tx_content_stake_addr" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /txs/{hash}/delegations: get: tags: @@ -1393,24 +1910,24 @@ paths: description: Hash of the requested transaction. example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: - '200': + "200": description: Obtain information about delegation certificates of a specific transaction content: application/json: schema: - $ref: '#/components/schemas/tx_content_delegations' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/tx_content_delegations" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /txs/{hash}/withdrawals: get: tags: @@ -1427,24 +1944,24 @@ paths: description: Hash of the requested transaction. example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: - '200': + "200": description: Obtain information about withdrawals of a specific transaction. content: application/json: schema: - $ref: '#/components/schemas/tx_content_withdrawals' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/tx_content_withdrawals" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /txs/{hash}/mirs: get: tags: @@ -1461,24 +1978,24 @@ paths: description: Hash of the requested transaction. example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: - '200': + "200": description: Obtain information about Move Instantaneous Rewards (MIRs) of a specific transaction. content: application/json: schema: - $ref: '#/components/schemas/tx_content_mirs' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/tx_content_mirs" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /txs/{hash}/pool_updates: get: tags: @@ -1496,24 +2013,24 @@ paths: description: Hash of the requested transaction example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: - '200': + "200": description: Obtain information about stake pool certificates of a specific transaction content: application/json: schema: - $ref: '#/components/schemas/tx_content_pool_certs' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/tx_content_pool_certs" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /txs/{hash}/pool_retires: get: tags: @@ -1531,25 +2048,25 @@ paths: description: Hash of the requested transaction example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: - '200': + "200": description: | Obtain information about stake pool retirements within a specific transaction. content: application/json: schema: - $ref: '#/components/schemas/tx_content_pool_retires' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/tx_content_pool_retires" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /txs/{hash}/metadata: get: tags: @@ -1566,24 +2083,24 @@ paths: description: Hash of the requested transaction example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: - '200': + "200": description: Obtain metadata information associated with a specific transaction. content: application/json: schema: - $ref: '#/components/schemas/tx_content_metadata' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/tx_content_metadata" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /txs/{hash}/metadata/cbor: get: tags: @@ -1600,24 +2117,24 @@ paths: description: Hash of the requested transaction example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: - '200': + "200": description: Obtain metadata information associated with a specific transaction. content: application/json: schema: - $ref: '#/components/schemas/tx_content_metadata_cbor' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/tx_content_metadata_cbor" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /txs/{hash}/redeemers: get: tags: @@ -1634,24 +2151,24 @@ paths: description: Hash of the requested transaction example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: - '200': + "200": description: Obtain information about redeemers within a specific transaction. content: application/json: schema: - $ref: '#/components/schemas/tx_content_redeemers' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/tx_content_redeemers" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /txs/{hash}/required_signers: get: tags: @@ -1668,24 +2185,24 @@ paths: description: Hash of the transaction example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: - '200': + "200": description: Query required signers (extra transaction witnesses) content: application/json: schema: - $ref: '#/components/schemas/tx_content_required_signers' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/tx_content_required_signers" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /txs/{hash}/cbor: get: tags: @@ -1702,24 +2219,24 @@ paths: description: Hash of the transaction example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: - '200': + "200": description: Query transaction CBOR content: application/json: schema: - $ref: '#/components/schemas/tx_content_cbor' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/tx_content_cbor" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /tx/submit: post: tags: @@ -1764,7 +2281,7 @@ paths: example: | 83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573 responses: - '200': + "200": description: Return the ID of the submitted transaction. content: application/json: @@ -1774,20 +2291,20 @@ paths: minLength: 64 maxLength: 64 example: d1662b24fa9fe985fc2dce47455df399cb2e31e1e1819339e885801cc3578908 - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '425': - $ref: '#/components/responses/425' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "425": + $ref: "#/components/responses/425" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /accounts/{stake_address}: get: tags: @@ -1804,24 +2321,24 @@ paths: description: Bech32 stake address. example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc responses: - '200': + "200": description: Return the account content. content: application/json: schema: - $ref: '#/components/schemas/account_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/account_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /accounts/{stake_address}/rewards: get: tags: @@ -1868,24 +2385,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the account content. content: application/json: schema: - $ref: '#/components/schemas/account_reward_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/account_reward_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /accounts/{stake_address}/history: get: tags: @@ -1932,24 +2449,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the account content. content: application/json: schema: - $ref: '#/components/schemas/account_history_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/account_history_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /accounts/{stake_address}/delegations: get: tags: @@ -1995,24 +2512,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the account delegations content content: application/json: schema: - $ref: '#/components/schemas/account_delegation_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/account_delegation_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /accounts/{stake_address}/registrations: get: tags: @@ -2059,24 +2576,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the account registration content. content: application/json: schema: - $ref: '#/components/schemas/account_registration_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/account_registration_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /accounts/{stake_address}/withdrawals: get: tags: @@ -2123,24 +2640,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the account withdrawal content. content: application/json: schema: - $ref: '#/components/schemas/account_withdrawal_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/account_withdrawal_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /accounts/{stake_address}/mirs: get: tags: @@ -2187,24 +2704,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the account MIR content. content: application/json: schema: - $ref: '#/components/schemas/account_mir_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/account_mir_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /accounts/{stake_address}/addresses: get: tags: @@ -2252,24 +2769,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the account addresses content content: application/json: schema: - $ref: '#/components/schemas/account_addresses_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/account_addresses_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /accounts/{stake_address}/addresses/assets: get: tags: @@ -2317,24 +2834,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the account addresses content content: application/json: schema: - $ref: '#/components/schemas/account_addresses_assets' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/account_addresses_assets" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /accounts/{stake_address}/addresses/total: get: tags: @@ -2352,24 +2869,24 @@ paths: description: Bech32 address. example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz responses: - '200': + "200": description: Return the Address details. content: application/json: schema: - $ref: '#/components/schemas/account_addresses_total' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/account_addresses_total" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /mempool: get: tags: @@ -2415,24 +2932,24 @@ paths: Ordered by the time of transaction submission. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the contents of the mempool content: application/json: schema: - $ref: '#/components/schemas/mempool_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/mempool_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /mempool/{hash}: get: tags: @@ -2454,24 +2971,24 @@ paths: description: Hash of the requested transaction example: 6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: - '200': + "200": description: Return the contents of the transaction. content: application/json: schema: - $ref: '#/components/schemas/mempool_tx_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/mempool_tx_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /mempool/addresses/{address}: get: tags: @@ -2524,24 +3041,24 @@ paths: Ordered by the time of transaction submission. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the contents of the mempool content: application/json: schema: - $ref: '#/components/schemas/mempool_addresses_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/mempool_addresses_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /metadata/txs/labels: get: tags: @@ -2581,24 +3098,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the account metadata content in CBOR content: application/json: schema: - $ref: '#/components/schemas/tx_metadata_labels' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/tx_metadata_labels" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /metadata/txs/labels/{label}: get: tags: @@ -2612,7 +3129,7 @@ paths: schema: type: string description: Metadata label - example: '1990' + example: "1990" - in: query name: count required: false @@ -2644,24 +3161,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the account metadata content content: application/json: schema: - $ref: '#/components/schemas/tx_metadata_label_json' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/tx_metadata_label_json" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /metadata/txs/labels/{label}/cbor: get: tags: @@ -2675,7 +3192,7 @@ paths: schema: type: string description: Metadata label - example: '1990' + example: "1990" - in: query name: count required: false @@ -2707,24 +3224,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the account metadata content in CBOR content: application/json: schema: - $ref: '#/components/schemas/tx_metadata_label_cbor' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/tx_metadata_label_cbor" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /addresses/{address}: get: tags: @@ -2740,24 +3257,24 @@ paths: description: Bech32 address. example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz responses: - '200': + "200": description: Return the address content. content: application/json: schema: - $ref: '#/components/schemas/address_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/address_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /addresses/{address}/extended: get: tags: @@ -2774,24 +3291,24 @@ paths: description: Bech32 address. example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz responses: - '200': + "200": description: Return the address content. content: application/json: schema: - $ref: '#/components/schemas/address_content_extended' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/address_content_extended" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /addresses/{address}/total: get: tags: @@ -2807,24 +3324,24 @@ paths: description: Bech32 address. example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz responses: - '200': + "200": description: Return the Address details. content: application/json: schema: - $ref: '#/components/schemas/address_content_total' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/address_content_total" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /addresses/{address}/utxos: get: tags: @@ -2870,24 +3387,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the address content content: application/json: schema: - $ref: '#/components/schemas/address_utxo_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/address_utxo_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /addresses/{address}/utxos/{asset}: get: tags: @@ -2940,24 +3457,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the address content content: application/json: schema: - $ref: '#/components/schemas/address_utxo_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/address_utxo_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /addresses/{address}/txs: get: deprecated: true @@ -3004,24 +3521,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the address content content: application/json: schema: - $ref: '#/components/schemas/address_txs_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/address_txs_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /addresses/{address}/transactions: get: tags: @@ -3074,7 +3591,7 @@ paths: description: | The block number and optionally also index from which (inclusive) to start search for results, concatenated using colon. Has to be lower than or equal to `to` parameter. - example: '8929261' + example: "8929261" - in: query name: to required: false @@ -3083,26 +3600,26 @@ paths: description: | The block number and optionally also index where (inclusive) to end the search for results, concatenated using colon. Has to be higher than or equal to `from` parameter. - example: '9999269:10' + example: "9999269:10" responses: - '200': + "200": description: Return the address content content: application/json: schema: - $ref: '#/components/schemas/address_transactions_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/address_transactions_content" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /pools: get: tags: @@ -3141,24 +3658,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the list of pools. content: application/json: schema: - $ref: '#/components/schemas/pool_list' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/pool_list" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /pools/extended: get: tags: @@ -3197,24 +3714,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the list of pools. content: application/json: schema: - $ref: '#/components/schemas/pool_list_extended' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/pool_list_extended" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /pools/retired: get: tags: @@ -3253,24 +3770,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the pool information content content: application/json: schema: - $ref: '#/components/schemas/pool_list_retire' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/pool_list_retire" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /pools/retiring: get: tags: @@ -3309,24 +3826,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the pool information content content: application/json: schema: - $ref: '#/components/schemas/pool_list_retire' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/pool_list_retire" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /pools/{pool_id}: get: tags: @@ -3342,24 +3859,24 @@ paths: description: Bech32 or hexadecimal pool ID. example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy responses: - '200': + "200": description: Return the pool information content content: application/json: schema: - $ref: '#/components/schemas/pool' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/pool" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /pools/{pool_id}/history: get: tags: @@ -3406,24 +3923,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the pool information content. content: application/json: schema: - $ref: '#/components/schemas/pool_history' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/pool_history" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /pools/{pool_id}/metadata: get: tags: @@ -3440,26 +3957,26 @@ paths: description: Bech32 or hexadecimal pool ID. example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy responses: - '200': + "200": description: Return the pool metadata content. content: application/json: schema: anyOf: - - $ref: '#/components/schemas/pool_metadata' - - $ref: '#/components/schemas/empty_object' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + - $ref: "#/components/schemas/pool_metadata" + - $ref: "#/components/schemas/empty_object" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /pools/{pool_id}/relays: get: tags: @@ -3475,24 +3992,24 @@ paths: description: Bech32 or hexadecimal pool ID. example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy responses: - '200': + "200": description: Return the pool relays information content. content: application/json: schema: - $ref: '#/components/schemas/pool_relays' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/pool_relays" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /pools/{pool_id}/delegators: get: tags: @@ -3538,30 +4055,93 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the pool delegations. content: application/json: schema: - $ref: '#/components/schemas/pool_delegators' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' - /pools/{pool_id}/blocks: + $ref: "#/components/schemas/pool_delegators" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" + /pools/{pool_id}/blocks: + get: + tags: + - Cardano » Pools + summary: Stake pool blocks + description: List of stake pools blocks. + parameters: + - in: path + name: pool_id + required: true + schema: + type: string + description: Bech32 or hexadecimal pool ID. + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + "200": + description: Return the pool block list + content: + application/json: + schema: + $ref: "#/components/schemas/pool_blocks" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" + /pools/{pool_id}/updates: get: tags: - Cardano » Pools - summary: Stake pool blocks - description: List of stake pools blocks. + summary: Stake pool updates + description: List of certificate updates to the stake pool. parameters: - in: path name: pool_id @@ -3601,30 +4181,30 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': - description: Return the pool block list + "200": + description: Return the pool updates history content: application/json: schema: - $ref: '#/components/schemas/pool_blocks' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' - /pools/{pool_id}/updates: + $ref: "#/components/schemas/pool_updates" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" + /pools/{pool_id}/votes: get: tags: - Cardano » Pools - summary: Stake pool updates - description: List of certificate updates to the stake pool. + summary: Stake pool votes + description: History of stake pools votes. parameters: - in: path name: pool_id @@ -3664,24 +4244,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': - description: Return the pool updates history + "200": + description: Return the pool votes. content: application/json: schema: - $ref: '#/components/schemas/pool_updates' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/pool_votes" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /assets: get: tags: @@ -3723,24 +4303,24 @@ paths: not the page listing itself. By default, we return oldest first, newest last. Ordering in this case is based on the time of the first mint transaction. responses: - '200': + "200": description: Return list of assets content: application/json: schema: - $ref: '#/components/schemas/assets' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/assets" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /assets/{asset}: get: tags: @@ -3756,24 +4336,24 @@ paths: description: Concatenation of the policy_id and hex-encoded asset_name example: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e responses: - '200': + "200": description: Return the information about a specific asset content: application/json: schema: - $ref: '#/components/schemas/asset' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/asset" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /assets/{asset}/history: get: tags: @@ -3819,24 +4399,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the information about the history of a specific asset content: application/json: schema: - $ref: '#/components/schemas/asset_history' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/asset_history" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /assets/{asset}/txs: get: deprecated: true @@ -3883,24 +4463,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the information about the history of a specific asset content: application/json: schema: - $ref: '#/components/schemas/asset_txs' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/asset_txs" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /assets/{asset}/transactions: get: tags: @@ -3946,24 +4526,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the information about the history of a specific asset content: application/json: schema: - $ref: '#/components/schemas/asset_transactions' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/asset_transactions" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /assets/{asset}/addresses: get: tags: @@ -4009,24 +4589,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the information about the history of a specific asset content: application/json: schema: - $ref: '#/components/schemas/asset_addresses' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/asset_addresses" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /assets/policy/{policy_id}: get: tags: @@ -4072,24 +4652,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the information about a specific asset content: application/json: schema: - $ref: '#/components/schemas/asset_policy' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/asset_policy" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /scripts: get: tags: @@ -4128,24 +4708,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return list of scripts content: application/json: schema: - $ref: '#/components/schemas/scripts' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/scripts" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /scripts/{script_hash}: get: tags: @@ -4161,24 +4741,24 @@ paths: description: Hash of the script example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e responses: - '200': + "200": description: Return the information about a specific script content: application/json: schema: - $ref: '#/components/schemas/script' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/script" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /scripts/{script_hash}/json: get: tags: @@ -4194,24 +4774,24 @@ paths: description: Hash of the script example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e responses: - '200': + "200": description: Return the JSON representation of a `timelock` script content: application/json: schema: - $ref: '#/components/schemas/script_json' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/script_json" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /scripts/{script_hash}/cbor: get: tags: @@ -4227,24 +4807,24 @@ paths: description: Hash of the script example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e responses: - '200': + "200": description: Return the CBOR representation of a `plutus` script content: application/json: schema: - $ref: '#/components/schemas/script_cbor' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/script_cbor" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /scripts/{script_hash}/redeemers: get: tags: @@ -4290,24 +4870,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the information about redeemers of a specific script content: application/json: schema: - $ref: '#/components/schemas/script_redeemers' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/script_redeemers" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /scripts/datum/{datum_hash}: get: tags: @@ -4323,24 +4903,24 @@ paths: description: Hash of the datum example: db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d responses: - '200': + "200": description: Return the datum value content: application/json: schema: - $ref: '#/components/schemas/script_datum' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/script_datum" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /scripts/datum/{datum_hash}/cbor: get: tags: @@ -4356,24 +4936,24 @@ paths: description: Hash of the datum example: db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d responses: - '200': + "200": description: Return the CBOR serialised datum value content: application/json: schema: - $ref: '#/components/schemas/script_datum_cbor' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/script_datum_cbor" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /utils/addresses/xpub/{xpub}/{role}/{index}: get: tags: @@ -4403,24 +4983,24 @@ paths: description: Address index example: 2 responses: - '200': + "200": description: Return derivated Shelley address content: application/json: schema: - $ref: '#/components/schemas/utils_addresses_xpub' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/utils_addresses_xpub" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /utils/txs/evaluate: post: tags: @@ -4464,7 +5044,7 @@ paths: example: | 83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573 responses: - '200': + "200": description: |

@@ -4477,20 +5057,20 @@ paths: schema: type: object additionalProperties: true - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '425': - $ref: '#/components/responses/425' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "425": + $ref: "#/components/responses/425" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /utils/txs/evaluate/utxos: post: tags: @@ -4583,7 +5163,7 @@ paths: -H "project_id: $PROJECT_ID" \ -d '{"cbor":"","additionalUtxoSet":[[, ]]}' responses: - '200': + "200": description: |

@@ -4596,20 +5176,20 @@ paths: schema: type: object additionalProperties: true - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '425': - $ref: '#/components/responses/425' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "425": + $ref: "#/components/responses/425" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /ipfs/add: servers: - url: https://ipfs.blockfrost.io/api/v0 @@ -4643,7 +5223,7 @@ paths: type: string format: binary responses: - '200': + "200": description: Returns information about added IPFS object content: application/json: @@ -4660,24 +5240,24 @@ paths: description: IPFS hash of the file size: type: string - example: '125297' + example: "125297" description: IPFS node size in Bytes required: - name - ipfs_hash - size - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /ipfs/gateway/{IPFS_path}: servers: - url: https://ipfs.blockfrost.io/api/v0 @@ -4699,25 +5279,25 @@ paths: type: string description: Path to the IPFS object responses: - '200': + "200": description: Returns the object content content: application/octet-stream: schema: type: string format: binary - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /ipfs/pin/add/{IPFS_path}: servers: - url: https://ipfs.blockfrost.io/api/v0 @@ -4734,7 +5314,7 @@ paths: type: string description: Path to the IPFS object responses: - '200': + "200": description: Returns pinned object content: application/json: @@ -4754,20 +5334,20 @@ paths: required: - ipfs_hash - state - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '425': - $ref: '#/components/responses/425-2' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "425": + $ref: "#/components/responses/425-2" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /ipfs/pin/list: servers: - url: https://ipfs.blockfrost.io/api/v0 @@ -4813,7 +5393,7 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Returns pinned objects content: application/json: @@ -4837,7 +5417,7 @@ paths: size: type: string description: Size of the object in Bytes - example: '1615551024' + example: "1615551024" state: type: string enum: @@ -4854,18 +5434,18 @@ paths: - ipfs_hash - size - state - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /ipfs/pin/list/{IPFS_path}: servers: - url: https://ipfs.blockfrost.io/api/v0 @@ -4887,7 +5467,7 @@ paths: type: string description: The path to the IPFS object responses: - '200': + "200": description: Returns the pins pinned content: application/json: @@ -4909,7 +5489,7 @@ paths: size: type: string description: Size of the object in Bytes - example: '1615551024' + example: "1615551024" state: type: string enum: @@ -4927,18 +5507,18 @@ paths: - ipfs_hash - size - state - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /ipfs/pin/remove/{IPFS_path}: servers: - url: https://ipfs.blockfrost.io/api/v0 @@ -4960,7 +5540,7 @@ paths: type: string description: The path to the IPFS object responses: - '200': + "200": description: Returns the pins removed content: application/json: @@ -4980,18 +5560,18 @@ paths: required: - ipfs_hash - state - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /metrics: get: tags: @@ -4999,24 +5579,24 @@ paths: summary: Blockfrost usage metrics description: History of your Blockfrost usage metrics in the past 30 days. responses: - '200': + "200": description: Return the last 30 days of metrics content: application/json: schema: - $ref: '#/components/schemas/metrics' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/metrics" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /metrics/endpoints: get: tags: @@ -5025,24 +5605,24 @@ paths: description: | History of your Blockfrost usage metrics per endpoint in the past 30 days. responses: - '200': + "200": description: Return the last 30 days of metrics content: application/json: schema: - $ref: '#/components/schemas/metrics_endpoints' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/metrics_endpoints" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /network: get: tags: @@ -5050,24 +5630,24 @@ paths: summary: Network information description: Return detailed network information. responses: - '200': + "200": description: Return detailed network information. content: application/json: schema: - $ref: '#/components/schemas/network' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/network" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /network/eras: get: tags: @@ -5077,26 +5657,26 @@ paths: Returns start and end of each era along with parameters that can vary between hard forks. responses: - '200': + "200": description: Returns era summaries content. content: application/json: schema: - $ref: '#/components/schemas/network-eras' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '425': - $ref: '#/components/responses/425' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/network-eras" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "425": + $ref: "#/components/responses/425" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /nutlink/{address}: get: tags: @@ -5111,24 +5691,24 @@ paths: type: string description: Address of a metadata oracle responses: - '200': + "200": description: Return the metadata about metadata oracle content: application/json: schema: - $ref: '#/components/schemas/nutlink_address' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/nutlink_address" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /nutlink/{address}/tickers: get: tags: @@ -5173,24 +5753,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the tickers provided by the metadata oracle content: application/json: schema: - $ref: '#/components/schemas/nutlink_address_tickers' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/nutlink_address_tickers" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /nutlink/{address}/tickers/{ticker}: get: tags: @@ -5241,24 +5821,24 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the tickers provided by the metadata oracle content: application/json: schema: - $ref: '#/components/schemas/nutlink_address_ticker' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/nutlink_address_ticker" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" /nutlink/tickers/{ticker}: get: tags: @@ -5303,34 +5883,34 @@ paths: The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. responses: - '200': + "200": description: Return the tickers provided by the metadata oracle content: application/json: schema: - $ref: '#/components/schemas/nutlink_tickers_ticker' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' + $ref: "#/components/schemas/nutlink_tickers_ticker" + "400": + $ref: "#/components/responses/400" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "418": + $ref: "#/components/responses/418" + "429": + $ref: "#/components/responses/429" + "500": + $ref: "#/components/responses/500" components: schemas: onchain_metadata_cip25: - $ref: '#/components/schemas/asset_onchain_metadata_cip25' + $ref: "#/components/schemas/asset_onchain_metadata_cip25" onchain_metadata_cip68_ft_333: - $ref: '#/components/schemas/asset_onchain_metadata_cip68_ft_333' + $ref: "#/components/schemas/asset_onchain_metadata_cip68_ft_333" onchain_metadata_cip68_nft_222: - $ref: '#/components/schemas/asset_onchain_metadata_cip68_nft_222' + $ref: "#/components/schemas/asset_onchain_metadata_cip68_nft_222" onchain_metadata_cip68_rft_444: - $ref: '#/components/schemas/asset_onchain_metadata_cip68_rft_444' + $ref: "#/components/schemas/asset_onchain_metadata_cip68_rft_444" block_content: type: object properties: @@ -5377,12 +5957,12 @@ components: output: type: string nullable: true - example: '128314491794' + example: "128314491794" description: Total output within the block in Lovelaces fees: type: string nullable: true - example: '592661' + example: "592661" description: Total fees within the block in Lovelaces block_vrf: type: string @@ -5399,7 +5979,7 @@ components: op_cert_counter: type: string nullable: true - example: '18' + example: "18" description: The value of the counter used to produce the operational certificate previous_block: type: string @@ -5446,7 +6026,7 @@ components: block_content_array: type: array items: - $ref: '#/components/schemas/block_content' + $ref: "#/components/schemas/block_content" block_content_addresses: type: array items: @@ -5488,7 +6068,7 @@ components: description: Determines the quorum needed for votes on the protocol parameter updates max_lovelace_supply: type: string - example: '45000000000000000' + example: "45000000000000000" description: The total number of lovelace in the system network_magic: type: integer @@ -5529,6 +6109,373 @@ components: - slot_length - max_kes_evolutions - security_param + drep_content: + type: array + items: + type: object + properties: + drep_id: + type: string + description: The Bech32 encoded DRep address + hex: + type: string + description: The raw bytes of the DRep + required: + - drep_id + - hex + example: + - drep_id: drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn + hex: db1bc3c3f99ce68977ceaf27ab4dd917123ef9e73f85c304236eab23 + - drep_id: drep1cxayn4fgy27yaucvhamsvqj3v6835mh3tjjx6x8hdnr4 + hex: c1ba49d52822bc4ef30cbf77060251668f1a6ef15ca46d18f76cc758 + drep_details_content: + type: object + properties: + drep_id: + type: string + description: Bech32 encoded DRep address + hex: + type: string + description: The raw bytes of the DRep + amount: + type: string + description: The total amount of voting power this DRep is delegated. + active: + type: boolean + description: Registration state of the DRep + active_epoch: + type: integer + nullable: true + description: Epoch of the most recent action - registration or deregistration + has_script: + type: boolean + description: Flag which shows if this DRep credentials are a script hash + required: + - drep_id + - hex + - amount + - active + - active_epoch + - has_script + example: + - drep_id: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + hex: a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d + amount: "2000000" + active: true + active_epoch: 420 + has_script: true + drep_delegators: + type: array + items: + type: object + properties: + address: + type: string + description: Bech32 encoded stake addresses + amount: + type: string + description: Currently delegated amount + required: + - address + - amount + example: + - address: stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha + amount: "1137959159981411" + - address: stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u + amount: "16958865648" + - address: stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck + amount: "18605647" + drep_metadata: + type: object + properties: + drep_id: + type: string + description: Bech32 encoded addresses + hex: + type: string + description: The raw bytes of the DRep + url: + type: string + nullable: true + example: https://stakenuts.com/drep.json + description: URL to the drep metadata + hash: + type: string + nullable: true + example: 69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c" + description: Hash of the metadata file + required: + - drep_id + - hex + - url + - hash + example: + - drep_id: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + hex: a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d + url: https://stakenuts.com/drep.json + hash: 69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c + drep_updates: + type: array + items: + type: object + properties: + tx_hash: + type: string + description: Transaction ID + cert_index: + type: integer + description: Certificate within the transaction + action: + type: string + enum: + - registered + - deregistered + description: Action in the certificate + required: + - tx_hash + - cert_index + - action + example: + - tx_hash: f4097fbdb87ab7c7ab44b30d4e2b81713a058488975d1ab8b05c381dd946a393 + cert_index: 0 + action: registered + - tx_hash: dd3243af975be4b5bedce4e5f5b483b2386d5ad207d05e0289c1df0eb261447e + cert_index: 0 + action: deregistered + drep_votes: + type: array + items: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + vote: + type: string + enum: + - "yes" + - "no" + - abstain + description: The Vote. Can be one of yes, no, abstain. + required: + - tx_hash + - cert_index + - vote + example: + - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5 + cert_index: 2 + vote: "yes" + - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5 + cert_index: 3 + vote: abstain + proposal_content: + type: array + items: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + governance_type: + type: string + enum: + - hard_fork_initiation + - new_committee + - new_constitution + - info_action + - no_confidence + - parameter_change + - treasury_withdrawals + description: Type of proposal. + required: + - tx_hash + - cert_index + - governance_type + example: + - tx_hash: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + cert_index: 1 + governance_type: treasury_withdrawals + - tx_hash: 71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60 + cert_index: 4 + governance_type: no_confidence + proposal_details_content: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + governance_type: + type: string + enum: + - hard_fork_initiation + - new_committee + - new_constitution + - info_action + - no_confidence + - parameter_change + - treasury_withdrawals + description: Type of proposal. + governance_description: + additionalProperties: true + type: object + nullable: true + description: An object describing the content of this GovActionProposal in a readable way. + deposit: + type: string + description: The deposit amount paid for this proposal. + return_address: + type: string + description: Bech32 stake address of the reward address to receive the deposit when it is repaid. + ratified_epoch: + type: integer + nullable: true + enacted_epoch: + type: integer + nullable: true + dropped_epoch: + type: integer + nullable: true + expired_epoch: + type: integer + nullable: true + expiration: + type: integer + description: Shows the epoch at which this governance action will expire. + anchor_url: + type: string + nullable: true + description: The URL of the offchain anchor data. + anchor_hash: + type: string + nullable: true + description: The hash of the offchain anchor data. + required: + - tx_hash + - cert_index + - governance_type + - deposit + - return_address + - governance_description + - ratified_epoch + - enacted_epoch + - dropped_epoch + - expired_epoch + - expiration + - anchor_url + - anchor_hash + example: + - tx_hash: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + cert_index: 1 + governance_type: treasury_withdrawals + deposit: 12000 + return_address: stake_test1urd3hs7rlxwwdzthe6hj026dmyt3y0heuulctscyydh2kgck6nkmz + governance_description: TreasuryWithdrawals (fromList [(RewardAcnt {getRwdNetwork = Testnet, getRwdCred = KeyHashObj (KeyHash "71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60")},Coin 20000000)]) + ratified_epoch: null + enacted_epoch: 123 + dropped_epoch: null + expired_epoch: null + expiration: 120 + anchor_url: https://gist.github.com/123 + anchor_hash: 50b340624d49823720505e3f0095be0d6cd8f26501e094a6ab9068dd + proposal_details_votes: + type: array + items: + type: object + properties: + tx_hash: + type: string + description: Hash of the voting transaction. + cert_index: + type: integer + description: Index of the certificate within the voting transaction. + voter_role: + type: string + enum: + - constitutional_committee + - drep + - spo + description: The role of the voter. Can be one of constitutional_committee, drep, spo. + voter: + type: string + description: The actual voter. + vote: + type: string + enum: + - "yes" + - "no" + - abstain + description: The Vote. Can be one of yes, no, abstain. + required: + - tx_hash + - cert_index + - voter_role + - voter + - vote + example: + - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5 + cert_index: 2 + voter_role: drep + voter: drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn + vote: "yes" + - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5 + cert_index: 3 + voter_role: constitutional_committee + voter: 53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4 + vote: abstain + vote_content: + type: array + items: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + voter_role: + type: string + enum: + - constitutional_committee + - drep + - spo + description: The role of the voter. Can be one of constitutional_committee, drep, spo. + voter: + type: string + description: The actual voter. + vote: + type: string + enum: + - "yes" + - "no" + - abstain + description: The Vote. Can be one of yes, no, abstain. + required: + - tx_hash + - cert_index + - voter_role + - voter + - vote + example: + - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5 + cert_index: 2 + voter_role: spo + voter: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy + vote: "yes" + - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5 + cert_index: 3 + voter_role: constitutional_committee + voter: 53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4 + vote: abstain epoch_content: type: object properties: @@ -5562,16 +6509,16 @@ components: description: Number of transactions within the epoch output: type: string - example: '7849943934049314' + example: "7849943934049314" description: Sum of all the transactions within the epoch in Lovelaces fees: type: string - example: '4203312194' + example: "4203312194" description: Sum of all the fees within the epoch in Lovelaces active_stake: type: string nullable: true - example: '784953934049314' + example: "784953934049314" description: Sum of all the active stakes within the epoch in Lovelaces required: - epoch @@ -5613,11 +6560,11 @@ components: description: Maximum block header size key_deposit: type: string - example: '2000000' + example: "2000000" description: The amount of a key registration deposit in Lovelaces pool_deposit: type: string - example: '500000000' + example: "500000000" description: The amount of a pool registration deposit in Lovelaces e_max: type: integer @@ -5658,12 +6605,12 @@ components: description: Accepted protocol minor version min_utxo: type: string - example: '1000000' + example: "1000000" description: Minimum UTXO value. Use `coins_per_utxo_size` for Alonzo and later eras deprecated: true min_pool_cost: type: string - example: '340000000' + example: "340000000" description: Minimum stake cost forced on the pool nonce: type: string @@ -5694,27 +6641,27 @@ components: max_tx_ex_mem: type: string nullable: true - example: '10000000' + example: "10000000" description: The maximum number of execution memory allowed to be used in a single transaction max_tx_ex_steps: type: string nullable: true - example: '10000000000' + example: "10000000000" description: The maximum number of execution steps allowed to be used in a single transaction max_block_ex_mem: type: string nullable: true - example: '50000000' + example: "50000000" description: The maximum number of execution memory allowed to be used in a single block max_block_ex_steps: type: string nullable: true - example: '40000000000' + example: "40000000000" description: The maximum number of execution steps allowed to be used in a single block max_val_size: type: string nullable: true - example: '5000' + example: "5000" description: The maximum Val size collateral_percent: type: integer @@ -5729,14 +6676,98 @@ components: coins_per_utxo_size: type: string nullable: true - example: '34482' + example: "34482" description: Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. coins_per_utxo_word: type: string nullable: true - example: '34482' - description: Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. + example: "34482" deprecated: true + description: Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. + pvt_motion_no_confidence: + type: number + nullable: true + description: Pool Voting threshold for motion of no-confidence. + pvt_committee_normal: + nullable: true + type: number + description: Pool Voting threshold for new committee/threshold (normal state). + pvt_committee_no_confidence: + nullable: true + type: number + description: Pool Voting threshold for new committee/threshold (state of no-confidence). + pvt_hard_fork_initiation: + nullable: true + type: number + description: Pool Voting threshold for hard-fork initiation. + dvt_motion_no_confidence: + nullable: true + type: number + description: DRep Vote threshold for motion of no-confidence. + dvt_committee_normal: + nullable: true + type: number + description: DRep Vote threshold for new committee/threshold (normal state). + dvt_committee_no_confidence: + nullable: true + type: number + description: DRep Vote threshold for new committee/threshold (state of no-confidence). + dvt_update_to_constitution: + nullable: true + type: number + description: DRep Vote threshold for update to the Constitution. + dvt_hard_fork_initiation: + nullable: true + type: number + description: DRep Vote threshold for hard-fork initiation. + dvt_p_p_network_group: + nullable: true + type: number + description: DRep Vote threshold for protocol parameter changes, network group. + dvt_p_p_economic_group: + nullable: true + type: number + description: DRep Vote threshold for protocol parameter changes, economic group. + dvt_p_p_technical_group: + nullable: true + type: number + description: DRep Vote threshold for protocol parameter changes, technical group. + dvt_p_p_gov_group: + nullable: true + type: number + description: DRep Vote threshold for protocol parameter changes, governance group. + dvt_treasury_withdrawal: + nullable: true + type: number + description: DRep Vote threshold for treasury withdrawal. + committee_min_size: + type: string + nullable: true + description: Minimal constitutional committee size. + committee_max_term_length: + type: string + nullable: true + description: Constitutional committee term limits. + gov_action_lifetime: + type: string + nullable: true + description: Governance action expiration. + gov_action_deposit: + type: string + nullable: true + description: Governance action deposit. + drep_deposit: + type: string + nullable: true + description: DRep deposit amount. + drep_activity: + type: string + nullable: true + description: DRep activity period. + registered_tx_id: + type: integer + nullable: true + description: The Tx table index for the transaction that contains this parameter proposal. required: - epoch - min_fee_a @@ -5770,10 +6801,31 @@ components: - max_collateral_inputs - coins_per_utxo_size - coins_per_utxo_word + - pvt_motion_no_confidence + - pvt_committee_normal + - pvt_committee_no_confidence + - pvt_hard_fork_initiation + - dvt_motion_no_confidence + - dvt_committee_normal + - dvt_committee_no_confidence + - dvt_update_to_constitution + - dvt_hard_fork_initiation + - dvt_p_p_network_group + - dvt_p_p_economic_group + - dvt_p_p_technical_group + - dvt_p_p_gov_group + - dvt_treasury_withdrawal + - committee_min_size + - committee_max_term_length + - gov_action_lifetime + - gov_action_deposit + - drep_deposit + - drep_activity + - registered_tx_id epoch_content_array: type: array items: - $ref: '#/components/schemas/epoch_content' + $ref: "#/components/schemas/epoch_content" epoch_stake_content: type: array items: @@ -5789,7 +6841,7 @@ components: description: Bech32 prefix of the pool delegated to amount: type: string - example: '4440295078' + example: "4440295078" description: Amount of active delegated stake in Lovelaces required: - stake_address @@ -5805,7 +6857,7 @@ components: description: Stake address amount: type: string - example: '4440295078' + example: "4440295078" description: Amount of active delegated stake in Lovelaces required: - stake_address @@ -5864,16 +6916,16 @@ components: - quantity example: - unit: lovelace - quantity: '42000000' + quantity: "42000000" - unit: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - quantity: '12' + quantity: "12" fees: type: string - example: '182485' + example: "182485" description: Fees of the transaction in Lovelaces deposit: type: string - example: '0' + example: "0" description: Deposit within the transaction in Lovelaces size: type: integer @@ -5887,7 +6939,7 @@ components: invalid_hereafter: type: string nullable: true - example: '13885913' + example: "13885913" description: Right (excluded) endpoint of the timelock validity intervals utxo_count: type: integer @@ -5986,9 +7038,9 @@ components: - quantity example: - unit: lovelace - quantity: '42000000' + quantity: "42000000" - unit: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - quantity: '12' + quantity: "12" tx_hash: type: string example: 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0 @@ -6056,9 +7108,9 @@ components: - quantity example: - unit: lovelace - quantity: '42000000' + quantity: "42000000" - unit: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - quantity: '12' + quantity: "12" output_index: type: integer example: 0 @@ -6158,7 +7210,7 @@ components: description: Bech32 withdrawal address amount: type: string - example: '431833601' + example: "431833601" description: Withdrawal amount in Lovelaces required: - address @@ -6185,7 +7237,7 @@ components: description: Bech32 stake address amount: type: string - example: '431833601' + example: "431833601" description: MIR amount in Lovelaces required: - pot @@ -6211,7 +7263,7 @@ components: description: VRF key hash pledge: type: string - example: '5000000000' + example: "5000000000" description: Stake pool certificate pledge in Lovelaces margin_cost: type: number @@ -6219,7 +7271,7 @@ components: description: Margin tax cost of the stake pool fixed_cost: type: string - example: '340000000' + example: "340000000" description: Fixed tax cost of the stake pool in Lovelaces reward_account: type: string @@ -6363,14 +7415,14 @@ components: - label - json_metadata example: - - label: '1967' + - label: "1967" json_metadata: metadata: https://nut.link/metadata.json hash: 6bf124f217d0e5a0a8adb1dbd8540e1334280d49ab861127868339f43b3948af - - label: '1968' + - label: "1968" json_metadata: ADAUSD: - - value: '0.10409800535729975' + - value: "0.10409800535729975" source: ergoOracles tx_content_metadata_cbor: type: array @@ -6394,7 +7446,7 @@ components: - cbor_metadata - metadata example: - - label: '1968' + - label: "1968" cbor_metadata: \xa100a16b436f6d62696e6174696f6e8601010101010c metadata: a100a16b436f6d62696e6174696f6e8601010101010c tx_content_redeemers: @@ -6430,15 +7482,15 @@ components: description: Datum hash unit_mem: type: string - example: '1700' + example: "1700" description: The budget in Memory to run a script unit_steps: type: string - example: '476468' + example: "476468" description: The budget in CPU steps to run a script fee: type: string - example: '172033' + example: "172033" description: The fee consumed to run the script required: - tx_index @@ -6488,33 +7540,38 @@ components: description: Epoch of the most recent action - registration or deregistration controlled_amount: type: string - example: '619154618165' + example: "619154618165" description: Balance of the account in Lovelaces rewards_sum: type: string - example: '319154618165' + example: "319154618165" description: Sum of all rewards for the account in the Lovelaces withdrawals_sum: type: string - example: '12125369253' + example: "12125369253" description: Sum of all the withdrawals for the account in Lovelaces reserves_sum: type: string - example: '319154618165' + example: "319154618165" description: Sum of all funds from reserves for the account in the Lovelaces treasury_sum: type: string - example: '12000000' + example: "12000000" description: Sum of all funds from treasury for the account in the Lovelaces withdrawable_amount: type: string - example: '319154618165' + example: "319154618165" description: Sum of available rewards that haven't been withdrawn yet for the account in the Lovelaces pool_id: type: string nullable: true example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy - description: Bech32 pool ID that owns the account + description: Bech32 pool ID to which this account is delegated + drep_id: + type: string + nullable: true + example: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + description: Bech32 drep ID to which this account is delegated required: - stake_address - active @@ -6526,6 +7583,7 @@ components: - treasury_sum - withdrawable_amount - pool_id + - drep_id account_reward_content: type: array items: @@ -6554,27 +7612,27 @@ components: - type example: - epoch: 215 - amount: '12695385' + amount: "12695385" pool_id: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy type: member - epoch: 216 - amount: '3586329' + amount: "3586329" pool_id: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy type: member - epoch: 217 - amount: '1' + amount: "1" pool_id: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy type: member - epoch: 217 - amount: '1337' + amount: "1337" pool_id: pool1cytwr0n7eas6du2h2xshl8ypa1yqr18f0erlhhjcuczysiunjcs type: leader - epoch: 218 - amount: '1395265' + amount: "1395265" pool_id: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy type: member - epoch: 218 - amount: '500000000' + amount: "500000000" pool_id: pool1cytwr0n7eas6du2h2xshl8ypa1yqr18f0erlhhjcuczysiunjcs type: pool_deposit_refund account_history_content: @@ -6598,10 +7656,10 @@ components: - pool_id example: - active_epoch: 210 - amount: '12695385' + amount: "12695385" pool_id: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy - active_epoch: 211 - amount: '22695385' + amount: "22695385" pool_id: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy account_delegation_content: type: array @@ -6629,11 +7687,11 @@ components: example: - active_epoch: 210 tx_hash: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 - amount: '12695385' + amount: "12695385" pool_id: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy - active_epoch: 242 tx_hash: 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0 - amount: '12691385' + amount: "12691385" pool_id: pool1kchver88u3kygsak8wgll7htr8uxn5v35lfrsyy842nkscrzyvj account_registration_content: type: array @@ -6673,9 +7731,9 @@ components: - amount example: - tx_hash: 48a9625c841eea0dd2bb6cf551eabe6523b7290c9ce34be74eedef2dd8f7ecc5 - amount: '454541212442' + amount: "454541212442" - tx_hash: 4230b0cbccf6f449f0847d8ad1d634a7a49df60d8c142bb8cc2dbc8ca03d9e34 - amount: '97846969' + amount: "97846969" account_mir_content: type: array items: @@ -6692,9 +7750,9 @@ components: - amount example: - tx_hash: 69705bba1d687a816ff5a04ec0c358a1f1ef075ab7f9c6cc2763e792581cec6d - amount: '2193707473' + amount: "2193707473" - tx_hash: baaa77b63d4d7d2bb3ab02c9b85978c2092c336dede7f59e31ad65452d510c13 - amount: '14520198574' + amount: "14520198574" account_addresses_content: type: array items: @@ -6728,9 +7786,9 @@ components: - quantity example: - unit: d5e6bf0500378d4f0da4e8dde6becec7621cd8cbf5cbb9b87013d4cc537061636542756433343132 - quantity: '1' + quantity: "1" - unit: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - quantity: '125' + quantity: "125" account_addresses_total: type: object properties: @@ -6756,9 +7814,9 @@ components: - quantity example: - unit: lovelace - quantity: '42000000' + quantity: "42000000" - unit: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - quantity: '12' + quantity: "12" sent_sum: type: array items: @@ -6777,9 +7835,9 @@ components: - quantity example: - unit: lovelace - quantity: '42000000' + quantity: "42000000" - unit: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - quantity: '12' + quantity: "12" tx_count: type: integer example: 12 @@ -6829,16 +7887,16 @@ components: - quantity example: - unit: lovelace - quantity: '42000000' + quantity: "42000000" - unit: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - quantity: '12' + quantity: "12" fees: type: string - example: '182485' + example: "182485" description: Fees of the transaction in Lovelaces deposit: type: string - example: '0' + example: "0" description: Deposit within the transaction in Lovelaces size: type: integer @@ -6852,7 +7910,7 @@ components: invalid_hereafter: type: string nullable: true - example: '13885913' + example: "13885913" description: Right (excluded) endpoint of the timelock validity intervals utxo_count: type: integer @@ -6968,9 +8026,9 @@ components: - quantity example: - unit: lovelace - quantity: '42000000' + quantity: "42000000" - unit: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - quantity: '12' + quantity: "12" output_index: type: integer example: 0 @@ -7022,11 +8080,11 @@ components: description: Validation purpose unit_mem: type: string - example: '1700' + example: "1700" description: The budget in Memory to run a script unit_steps: type: string - example: '476468' + example: "476468" description: The budget in CPU steps to run a script required: - tx_index @@ -7069,15 +8127,15 @@ components: - cip10 - count example: - - label: '1990' + - label: "1990" cip10: null - count: '1' - - label: '1967' + count: "1" + - label: "1967" cip10: nut.link metadata oracles registry - count: '3' - - label: '1968' + count: "3" + - label: "1968" cip10: nut.link metadata oracles data points - count: '16321' + count: "16321" tx_metadata_label_json: type: array items: @@ -7096,7 +8154,7 @@ components: - type: integer - type: number - type: boolean - - type: 'null' + - type: "null" description: Content of the JSON metadata required: - tx_hash @@ -7105,12 +8163,12 @@ components: - tx_hash: 257d75c8ddb0434e9b63e29ebb6241add2b835a307aa33aedba2effe09ed4ec8 json_metadata: ADAUSD: - - value: '0.10409800535729975' + - value: "0.10409800535729975" source: ergoOracles - tx_hash: e865f2cc01ca7381cf98dcdc4de07a5e8674b8ea16e6a18e3ed60c186fde2b9c json_metadata: ADAUSD: - - value: '0.15409850555139935' + - value: "0.15409850555139935" source: ergoOracles - tx_hash: 4237501da3cfdd53ade91e8911e764bd0699d88fd43b12f44a1f459b89bc91be json_metadata: null @@ -7170,9 +8228,9 @@ components: - quantity example: - unit: lovelace - quantity: '42000000' + quantity: "42000000" - unit: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - quantity: '12' + quantity: "12" stake_address: type: string nullable: true @@ -7229,11 +8287,11 @@ components: - has_nft_onchain_metadata example: - unit: lovelace - quantity: '42000000' + quantity: "42000000" decimals: 6 has_nft_onchain_metadata: false - unit: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - quantity: '12' + quantity: "12" decimals: null has_nft_onchain_metadata: true stake_address: @@ -7283,9 +8341,9 @@ components: - quantity example: - unit: lovelace - quantity: '42000000' + quantity: "42000000" - unit: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - quantity: '12' + quantity: "12" sent_sum: type: array items: @@ -7304,9 +8362,9 @@ components: - quantity example: - unit: lovelace - quantity: '42000000' + quantity: "42000000" - unit: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - quantity: '12' + quantity: "12" tx_count: type: integer example: 12 @@ -7384,7 +8442,7 @@ components: output_index: 0 amount: - unit: lovelace - quantity: '42000000' + quantity: "42000000" block: 7eb8e27d18686c7db9a18f8bbcfe34e3fed6e047afaa2d969904d15e934847e6 data_hash: 9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710 inline_datum: null @@ -7394,7 +8452,7 @@ components: output_index: 0 amount: - unit: lovelace - quantity: '729235000' + quantity: "729235000" block: 953f1b80eb7c11a7ffcd67cbd4fde66e824a451aca5a4065725e5174b81685b7 data_hash: null inline_datum: null @@ -7404,9 +8462,9 @@ components: output_index: 1 amount: - unit: lovelace - quantity: '42000000' + quantity: "42000000" - unit: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - quantity: '12' + quantity: "12" block: 5c571f83fe6c784d3fbc223792627ccf0eea96773100f9aedecf8b1eda4544d7 data_hash: null inline_datum: null @@ -7478,11 +8536,11 @@ components: description: Hexadecimal pool ID. active_stake: type: string - example: '4200000000' + example: "4200000000" description: Active delegated amount live_stake: type: string - example: '6900000000' + example: "6900000000" description: Currently delegated amount required: - pool_id @@ -7492,16 +8550,16 @@ components: example: - pool_id: pool19u64770wqp6s95gkajc8udheske5e6ljmpq33awxk326zjaza0q hex: 2f355f79ee007502d116ecb07e36f985b34cebf2d84118f5c6b455a1 - active_stake: '1541200000' - live_stake: '1541400000' + active_stake: "1541200000" + live_stake: "1541400000" - pool_id: pool1dvla4zq98hpvacv20snndupjrqhuc79zl6gjap565nku6et5zdx hex: 6b3fda88053dc2cee18a7c2736f032182fcc78a2fe912e869aa4edcd - active_stake: '22200000' - live_stake: '48955550' + active_stake: "22200000" + live_stake: "48955550" - pool_id: pool1wvccajt4eugjtf3k0ja3exjqdj7t8egsujwhcw4tzj4rzsxzw5w hex: 73318ec975cf1125a6367cbb1c9a406cbcb3e510e49d7c3aab14aa31 - active_stake: '9989541215' - live_stake: '168445464878' + active_stake: "9989541215" + live_stake: "168445464878" pool_list_retire: type: array items: @@ -7550,7 +8608,7 @@ components: description: Number of blocks minted in the current epoch live_stake: type: string - example: '6900000000' + example: "6900000000" live_size: type: number example: 0.42 @@ -7562,17 +8620,17 @@ components: example: 127 active_stake: type: string - example: '4200000000' + example: "4200000000" active_size: type: number example: 0.43 declared_pledge: type: string - example: '5000000000' + example: "5000000000" description: Stake pool certificate pledge live_pledge: type: string - example: '5000000001' + example: "5000000001" description: Stake pool current pledge margin_cost: type: number @@ -7580,7 +8638,7 @@ components: description: Margin tax cost of the stake pool fixed_cost: type: string - example: '340000000' + example: "340000000" description: Fixed tax cost of the stake pool reward_account: type: string @@ -7643,7 +8701,7 @@ components: description: Number of blocks created by pool active_stake: type: string - example: '20485965693569' + example: "20485965693569" description: Active (Snapshot of live stake 2 epochs ago) stake in Lovelaces active_size: type: number @@ -7655,11 +8713,11 @@ components: description: Number of delegators for epoch rewards: type: string - example: '206936253674159' + example: "206936253674159" description: Total rewards received before distribution to delegators fees: type: string - example: '1290968354' + example: "1290968354" description: Pool operator rewards required: - epoch @@ -7772,11 +8830,11 @@ components: - live_stake example: - address: stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha - live_stake: '1137959159981411' + live_stake: "1137959159981411" - address: stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u - live_stake: '16958865648' + live_stake: "16958865648" - address: stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck - live_stake: '18605647' + live_stake: "18605647" pool_blocks: type: array items: @@ -7818,6 +8876,32 @@ components: - tx_hash: e14a75b0eb2625de7055f1f580d70426311b78e0d36dd695a6bdc96c7b3d80e0 cert_index: 1 action: registered + pool_votes: + type: array + items: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + vote: + type: string + enum: + - "yes" + - "no" + - abstain + description: The Vote. Can be one of yes, no, abstain. + required: + - tx_hash + - cert_index + - vote + example: + - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5 + cert_index: 2 + vote: "yes" assets: type: array items: @@ -7835,11 +8919,11 @@ components: - quantity example: - asset: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - quantity: '1' + quantity: "1" - asset: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e75d - quantity: '100000' + quantity: "100000" - asset: 6804edf9712d2b619edb6ac86861fe93a730693183a262b165fcc1ba1bc99cad - quantity: '18605647' + quantity: "18605647" asset: type: object properties: @@ -7862,7 +8946,7 @@ components: description: CIP14 based user-facing fingerprint quantity: type: string - example: '12000' + example: "12000" description: Current asset quantity initial_mint_tx_hash: type: string @@ -7972,13 +9056,13 @@ components: - amount example: - tx_hash: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 - amount: '10' + amount: "10" action: minted - tx_hash: 9c190bc1ac88b2ab0c05a82d7de8b71b67a9316377e865748a89d4426c0d3005 - amount: '5' + amount: "5" action: burned - tx_hash: 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0 - amount: '5' + amount: "5" action: burned asset_txs: type: array @@ -8041,11 +9125,11 @@ components: - quantity example: - address: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - quantity: '1' + quantity: "1" - address: addr1qyhr4exrgavdcn3qhfcc9f939fzsch2re5ry9cwvcdyh4x4re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qdpvhza - quantity: '100000' + quantity: "100000" - address: addr1q8zup8m9ue3p98kxlxl9q8rnyan8hw3ul282tsl9s326dfj088lvedv4zckcj24arcpasr0gua4c5gq4zw2rpcpjk2lq8cmd9l - quantity: '18605647' + quantity: "18605647" asset_policy: type: array items: @@ -8062,11 +9146,11 @@ components: - quantity example: - asset: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - quantity: '1' + quantity: "1" - asset: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a766e - quantity: '100000' + quantity: "100000" - asset: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb574636f696e - quantity: '18605647' + quantity: "18605647" scripts: type: array items: @@ -8118,7 +9202,7 @@ components: - type: integer - type: number - type: boolean - - type: 'null' + - type: "null" description: JSON contents of the `timelock` script, null for `plutus` scripts required: - json @@ -8177,15 +9261,15 @@ components: deprecated: true unit_mem: type: string - example: '1700' + example: "1700" description: The budget in Memory to run a script unit_steps: type: string - example: '476468' + example: "476468" description: The budget in CPU steps to run a script fee: type: string - example: '172033' + example: "172033" description: The fee consumed to run the script required: - tx_hash @@ -8305,27 +9389,27 @@ components: max: type: string description: Maximum supply in Lovelaces - example: '45000000000000000' + example: "45000000000000000" total: type: string description: Current total (max supply - reserves) supply in Lovelaces - example: '32890715183299160' + example: "32890715183299160" circulating: type: string description: Current circulating (UTXOs + withdrawables) supply in Lovelaces - example: '32412601976210393' + example: "32412601976210393" locked: type: string description: Current supply locked by scripts in Lovelaces - example: '125006953355' + example: "125006953355" treasury: type: string description: Current supply locked in treasury - example: '98635632000000' + example: "98635632000000" reserves: type: string description: Current supply locked in reserves - example: '46635632000000' + example: "46635632000000" required: - max - total @@ -8338,12 +9422,12 @@ components: properties: live: type: string - example: '23204950463991654' + example: "23204950463991654" description: Current live stake in Lovelaces active: type: string description: Current active stake in Lovelaces - example: '22210233523456321' + example: "22210233523456321" required: - live - active @@ -8528,9 +9612,9 @@ components: tx_index: 8 payload: - source: coinGecko - value: '1.29' + value: "1.29" - source: cryptoCompare - value: '1.283' + value: "1.283" nutlink_tickers_ticker: type: array items: @@ -8572,9 +9656,9 @@ components: tx_index: 8 payload: - source: coinGecko - value: '1.29' + value: "1.29" - source: cryptoCompare - value: '1.283' + value: "1.283" asset_onchain_metadata_cip25: type: object additionalProperties: true @@ -8780,7 +9864,7 @@ components: when creating a Blockfrost a project, for a list of token types see available networks. responses: - '400': + "400": description: Bad request content: application/json: @@ -8800,7 +9884,7 @@ components: - error - message - status_code - '403': + "403": description: Authentication secret is missing or invalid content: application/json: @@ -8820,7 +9904,7 @@ components: - error - message - status_code - '404': + "404": description: Component not found content: application/json: @@ -8840,7 +9924,7 @@ components: - error - message - status_code - '418': + "418": description: IP has been auto-banned for extensive sending of requests after usage limit has been reached content: application/json: @@ -8860,7 +9944,7 @@ components: - error - message - status_code - '425': + "425": description: Mempool is already full, not accepting new txs straight away content: application/json: @@ -8880,7 +9964,7 @@ components: - error - message - status_code - '429': + "429": description: Usage limit reached content: application/json: @@ -8900,7 +9984,7 @@ components: - error - message - status_code - '500': + "500": description: Internal Server Error content: application/json: diff --git a/package.json b/package.json index e1bcdeea..a12c257d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@blockfrost/openapi", - "version": "0.1.64", + "version": "0.1.65", "description": "OpenAPI specifications for blockfrost.io", "repository": "git@github.com:blockfrost/openapi.git", "author": "admin@blockfrost.io", @@ -14,6 +14,7 @@ "scripts": { "prepublish": "yarn build", "bundle": "yarn redocly bundle -o ./openapi.yaml src/definitions.yaml && yarn redocly bundle -o ./openapi.json src/definitions.yaml", + "generate-docs": "yarn redocly build-docs -t ./src/template.hbs -o docs/index.html ./openapi.yaml", "lint": "yarn redocly lint src/definitions.yaml", "generate-docs": "yarn redocly build-docs -t ./src/template.hbs -o docs/index.html ./openapi.yaml", "generate-types": "yarn openapi-typescript ./openapi.yaml --output ./src/generated-types.ts", diff --git a/shell.nix b/shell.nix index 32c994ac..4f47d711 100644 --- a/shell.nix +++ b/shell.nix @@ -10,8 +10,9 @@ stdenv.mkDerivation { export PATH="$PATH:$(pwd)/node_modules/.bin" yarn echo "Rebuilding docs" + yarn build yarn run bundle && yarn run generate-docs && yarn run generate-types - echo -e "\nDON'T FORGET TO RUN THIS BEFORE OPENING PR:" - echo "yarn run bundle && yarn run generate-docs && yarn run generate-types" + echo -e "\nDON'T FORGET TO RUN yarn build && yarn run bundle && yarn run generate-docs && yarn run generate-types" + echo "yarn build && yarn run bundle && yarn run generate-docs && yarn run generate-types" ''; } diff --git a/src/definitions.yaml b/src/definitions.yaml index 2a6c819b..7a5e2aa3 100644 --- a/src/definitions.yaml +++ b/src/definitions.yaml @@ -1,6 +1,6 @@ openapi: 3.0.0 info: - version: "0.1.64" + version: "0.1.65" title: Blockfrost.io ~ API Documentation x-logo: url: https://staging.blockfrost.io/images/logo.svg @@ -263,6 +263,7 @@ tags: - name: Cardano » Assets - name: Cardano » Blocks - name: Cardano » Epochs + - name: Cardano » Governance - name: Cardano » Ledger - name: Cardano » Mempool - name: Cardano » Metadata @@ -279,12 +280,16 @@ paths: /: $ref: ./paths/api/root/index.yaml + # health + /health: $ref: ./paths/api/health/index.yaml /health/clock: $ref: ./paths/api/health/clock.yaml + # blocks + /blocks/latest: $ref: ./paths/api/blocks/latest/index.yaml @@ -312,9 +317,45 @@ paths: /blocks/{hash_or_number}/addresses: $ref: ./paths/api/blocks/addresses/index.yaml + # genesis + /genesis: $ref: ./paths/api/genesis/index.yaml + # governance + + /governance/dreps: + $ref: ./paths/api/governance/dreps/index.yaml + + /governance/dreps/{drep_id}: + $ref: ./paths/api/governance/dreps/{drep_id}/index.yaml + + /governance/dreps/{drep_id}/delegators: + $ref: ./paths/api/governance/dreps/{drep_id}/delegators.yaml + + /governance/dreps/{drep_id}/metadata: + $ref: ./paths/api/governance/dreps/{drep_id}/metadata.yaml + + /governance/dreps/{drep_id}/updates: + $ref: ./paths/api/governance/dreps/{drep_id}/updates.yaml + + /governance/dreps/{drep_id}/votes: + $ref: ./paths/api/governance/dreps/{drep_id}/votes.yaml + + /governance/proposals: + $ref: ./paths/api/governance/proposals/index.yaml + + /governance/proposals/{tx_hash}/{cert_index}: + $ref: ./paths/api/governance/proposals/{tx_hash}/{cert_index}/index.yaml + + /governance/proposals/{tx_hash}/{cert_index}/votes: + $ref: ./paths/api/governance/proposals/{tx_hash}/{cert_index}/votes.yaml + + /governance/votes: + $ref: ./paths/api/governance/votes.yaml + + # epochs + /epochs/latest: $ref: ./paths/api/epochs/latest/index.yaml @@ -345,6 +386,8 @@ paths: /epochs/{number}/parameters: $ref: ./paths/api/epochs/{number}/parameters.yaml + # transactions + /txs/{hash}: $ref: ./paths/api/txs/{hash}/index.yaml @@ -387,6 +430,8 @@ paths: /tx/submit: $ref: ./paths/api/tx/submit.yaml + # accounts + /accounts/{stake_address}: $ref: ./paths/api/accounts/{stake_address}/index.yaml @@ -417,6 +462,8 @@ paths: /accounts/{stake_address}/addresses/total: $ref: ./paths/api/accounts/{stake_address}/addresses/total.yaml + # mempool + /mempool: $ref: ./paths/api/mempool/index.yaml @@ -426,6 +473,8 @@ paths: /mempool/addresses/{address}: $ref: ./paths/api/mempool/addresses/{address}/index.yaml + # metadata + /metadata/txs/labels: $ref: ./paths/api/metadata/txs/labels/index.yaml @@ -435,6 +484,8 @@ paths: /metadata/txs/labels/{label}/cbor: $ref: ./paths/api/metadata/txs/labels/{label}/cbor.yaml + # addresses + /addresses/{address}: $ref: ./paths/api/addresses/{address}/index.yaml @@ -456,6 +507,8 @@ paths: /addresses/{address}/transactions: $ref: ./paths/api/addresses/{address}/transactions.yaml + # pools + /pools: $ref: ./paths/api/pools/index.yaml @@ -489,6 +542,11 @@ paths: /pools/{pool_id}/updates: $ref: ./paths/api/pools/{pool_id}/updates.yaml + /pools/{pool_id}/votes: + $ref: ./paths/api/pools/{pool_id}/votes.yaml + + # assets + /assets: $ref: ./paths/api/assets/index.yaml @@ -510,6 +568,8 @@ paths: /assets/policy/{policy_id}: $ref: ./paths/api/assets/policy/{policy_id}/index.yaml + # scripts + /scripts: $ref: ./paths/api/scripts/index.yaml @@ -531,6 +591,8 @@ paths: /scripts/datum/{datum_hash}/cbor: $ref: ./paths/api/scripts/datum/{datum_hash}/cbor.yaml + # utils + /utils/addresses/xpub/{xpub}/{role}/{index}: $ref: ./paths/api/utils/addresses/xpub/{xpub}/{role}/{index}/index.yaml @@ -540,6 +602,8 @@ paths: /utils/txs/evaluate/utxos: $ref: ./paths/api/utils/txs/evaluate/utxos.yaml + # ipfs + /ipfs/add: $ref: ./paths/ipfs/add.yaml @@ -558,18 +622,24 @@ paths: /ipfs/pin/remove/{IPFS_path}: $ref: ./paths/ipfs/pin/remove/{IPFS_path}/index.yaml + # metrics + /metrics: $ref: ./paths/api/metrics/index.yaml /metrics/endpoints: $ref: ./paths/api/metrics/endpoints.yaml + # network + /network: $ref: ./paths/api/network/index.yaml /network/eras: $ref: ./paths/api/network/eras.yaml + # nutlink + /nutlink/{address}: $ref: ./paths/api/nutlink/{address}/index.yaml diff --git a/src/generated-types.ts b/src/generated-types.ts index c50b9ee8..482c9e11 100644 --- a/src/generated-types.ts +++ b/src/generated-types.ts @@ -3,11 +3,16 @@ * Do not make direct changes to the file. */ - /** OneOf type helpers */ type Without = { [P in Exclude]?: never }; -type XOR = (T | U) extends object ? (Without & U) | (Without & T) : T | U; -type OneOf = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR, ...Rest]> : never; +type XOR = T | U extends object + ? (Without & U) | (Without & T) + : T | U; +type OneOf = T extends [infer Only] + ? Only + : T extends [infer A, infer B, ...infer Rest] + ? OneOf<[XOR, ...Rest]> + : never; export interface paths { "/": { @@ -420,159 +425,187 @@ export interface paths { }; }; }; - "/epochs/latest": { + "/governance/dreps": { /** - * Latest epoch - * @description Return the information about the latest, therefore current, epoch. + * Delegate Representatives (DReps) + * @description Return the information about Delegate Representatives (DReps) */ get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + * Ordering in this case is based on the time of the first mint transaction. + */ + order?: "asc" | "desc"; + }; + }; responses: { - /** @description Return the data about the epoch */ + /** @description Paginated array with the Delegate Representatives (DReps) data */ 200: { content: { - "application/json": components["schemas"]["epoch_content"]; + "application/json": components["schemas"]["drep_content"]; }; }; 400: components["responses"]["400"]; 403: components["responses"]["403"]; - 404: components["responses"]["404"]; 418: components["responses"]["418"]; 429: components["responses"]["429"]; 500: components["responses"]["500"]; }; }; }; - "/epochs/latest/parameters": { + "/governance/dreps/{drep_id}": { /** - * Latest epoch protocol parameters - * @description Return the protocol parameters for the latest epoch. + * Specific DRep + * @description DRep information. */ get: { + parameters: { + path: { + /** + * @description Bech32 or hexadecimal DRep ID. + * @example drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + */ + drep_id: string; + }; + }; responses: { - /** @description Return the data about the epoch */ + /** @description Return the DRep information content */ 200: { content: { - "application/json": components["schemas"]["epoch_param_content"]; + "application/json": components["schemas"]["drep_details_content"]; }; }; 400: components["responses"]["400"]; 403: components["responses"]["403"]; - 404: components["responses"]["404"]; 418: components["responses"]["418"]; 429: components["responses"]["429"]; 500: components["responses"]["500"]; }; }; }; - "/epochs/{number}": { + "/governance/dreps/{drep_id}/delegators": { /** - * Specific epoch - * @description Return the content of the requested epoch. + * DRep delegators + * @description List of Drep delegators. */ get: { parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; path: { /** - * @description Number of the epoch - * @example 225 + * @description Bech32 or hexadecimal drep ID. + * @example drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn */ - number: number; + drep_id: string; }; }; responses: { - /** @description Return the epoch data. */ + /** @description Return the DRep delegations */ 200: { content: { - "application/json": components["schemas"]["epoch_content"]; + "application/json": components["schemas"]["drep_delegators"]; }; }; 400: components["responses"]["400"]; 403: components["responses"]["403"]; - 404: components["responses"]["404"]; 418: components["responses"]["418"]; 429: components["responses"]["429"]; 500: components["responses"]["500"]; }; }; }; - "/epochs/{number}/next": { + "/governance/dreps/{drep_id}/metadata": { /** - * Listing of next epochs - * @description Return the list of epochs following a specific epoch. + * DRep metadata + * @description DRep metadata information. */ get: { parameters: { - query?: { - /** @description The number of results displayed on one page. */ - count?: number; - /** @description The page number for listing the results. */ - page?: number; - }; path: { /** - * @description Number of the requested epoch. - * @example 225 + * @description Bech32 or hexadecimal DRep ID. + * @example drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc */ - number: number; + drep_id: string; }; }; responses: { - /** @description Return the data about the epoch */ + /** @description Return the DRep metadata content. */ 200: { content: { - "application/json": components["schemas"]["epoch_content_array"]; + "application/json": components["schemas"]["drep_metadata"]; }; }; 400: components["responses"]["400"]; 403: components["responses"]["403"]; - 404: components["responses"]["404"]; 418: components["responses"]["418"]; 429: components["responses"]["429"]; 500: components["responses"]["500"]; }; }; }; - "/epochs/{number}/previous": { + "/governance/dreps/{drep_id}/updates": { /** - * Listing of previous epochs - * @description Return the list of epochs preceding a specific epoch. + * DRep updates + * @description List of certificate updates to the DRep. */ get: { parameters: { query?: { /** @description The number of results displayed on one page. */ count?: number; - /** @description The page number for listing the results */ + /** @description The page number for listing the results. */ page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; }; path: { /** - * @description Number of the epoch - * @example 225 + * @description Bech32 or hexadecimal DRep ID. + * @example drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc */ - number: number; + drep_id: string; }; }; responses: { - /** @description Return the epoch data */ + /** @description Return the Drep updates history */ 200: { content: { - "application/json": components["schemas"]["epoch_content_array"]; + "application/json": components["schemas"]["drep_updates"]; }; }; 400: components["responses"]["400"]; 403: components["responses"]["403"]; - 404: components["responses"]["404"]; 418: components["responses"]["418"]; 429: components["responses"]["429"]; 500: components["responses"]["500"]; }; }; }; - "/epochs/{number}/stakes": { + "/governance/dreps/{drep_id}/votes": { /** - * Stake distribution - * @description Return the active stake distribution for the specified epoch. + * DRep votes + * @description History of Drep votes. */ get: { parameters: { @@ -581,35 +614,39 @@ export interface paths { count?: number; /** @description The page number for listing the results. */ page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; }; path: { /** - * @description Number of the epoch - * @example 225 + * @description Bech32 or hexadecimal drep ID. + * @example drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn */ - number: number; + drep_id: string; }; }; responses: { - /** @description Return the data about the epoch */ + /** @description Return the DRep votes */ 200: { content: { - "application/json": components["schemas"]["epoch_stake_content"]; + "application/json": components["schemas"]["drep_votes"]; }; }; 400: components["responses"]["400"]; 403: components["responses"]["403"]; - 404: components["responses"]["404"]; 418: components["responses"]["418"]; 429: components["responses"]["429"]; 500: components["responses"]["500"]; }; }; }; - "/epochs/{number}/stakes/{pool_id}": { + "/governance/proposals": { /** - * Stake distribution by pool - * @description Return the active stake distribution for the epoch specified by stake pool. + * Proposals + * @description Return the information about Proposals */ get: { parameters: { @@ -618,82 +655,68 @@ export interface paths { count?: number; /** @description The page number for listing the results. */ page?: number; - }; - path: { - /** - * @description Number of the epoch - * @example 225 - */ - number: number; /** - * @description Stake pool ID to filter - * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + * Ordering in this case is based on the time of the first mint transaction. */ - pool_id: string; + order?: "asc" | "desc"; }; }; responses: { - /** @description Return the data about the epoch */ + /** @description Paginated array with the proposal data */ 200: { content: { - "application/json": components["schemas"]["epoch_stake_pool_content"]; + "application/json": components["schemas"]["proposal_content"]; }; }; 400: components["responses"]["400"]; 403: components["responses"]["403"]; - 404: components["responses"]["404"]; 418: components["responses"]["418"]; 429: components["responses"]["429"]; 500: components["responses"]["500"]; }; }; }; - "/epochs/{number}/blocks": { + "/governance/proposals/{tx_hash}/{cert_index}": { /** - * Block distribution - * @description Return the blocks minted for the epoch specified. + * Specific proposal + * @description Proposal information. */ get: { parameters: { - query?: { - /** @description The number of results displayed on one page. */ - count?: number; - /** @description The page number for listing the results. */ - page?: number; + path: { /** - * @description The ordering of items from the point of view of the blockchain, - * not the page listing itself. By default, we return oldest first, newest last. + * @description Transaction hash. + * @example 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 */ - order?: "asc" | "desc"; - }; - path: { + tx_hash: string; /** - * @description Number of the epoch - * @example 225 + * @description Transaction index. + * @example 1 */ - number: number; + cert_index: number; }; }; responses: { - /** @description Return the data about the epoch */ + /** @description Return the proposal information content */ 200: { content: { - "application/json": components["schemas"]["epoch_block_content"]; + "application/json": components["schemas"]["proposal_details_content"]; }; }; 400: components["responses"]["400"]; 403: components["responses"]["403"]; - 404: components["responses"]["404"]; 418: components["responses"]["418"]; 429: components["responses"]["429"]; 500: components["responses"]["500"]; }; }; }; - "/epochs/{number}/blocks/{pool_id}": { + "/governance/proposals/{tx_hash}/{cert_index}/votes": { /** - * Block distribution by pool - * @description Return the block minted for the epoch specified by stake pool. + * Proposal votes + * @description History of Proposal votes. */ get: { parameters: { @@ -710,84 +733,78 @@ export interface paths { }; path: { /** - * @description Number of the epoch - * @example 225 + * @description Transaction hash. + * @example 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 */ - number: number; + tx_hash: string; /** - * @description Stake pool ID to filter - * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + * @description Transaction index. + * @example 1 */ - pool_id: string; + cert_index: number; }; }; responses: { - /** @description Return the data about the epoch */ + /** @description Return the Proposal votes */ 200: { content: { - "application/json": components["schemas"]["epoch_block_content"]; + "application/json": components["schemas"]["proposal_details_votes"]; }; }; 400: components["responses"]["400"]; 403: components["responses"]["403"]; - 404: components["responses"]["404"]; 418: components["responses"]["418"]; 429: components["responses"]["429"]; 500: components["responses"]["500"]; }; }; }; - "/epochs/{number}/parameters": { + "/governance/votes": { /** - * Protocol parameters - * @description Return the protocol parameters for the epoch specified. + * Votes + * @description Return the information about votes */ get: { parameters: { - path: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; /** - * @description Number of the epoch - * @example 225 + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + * Ordering in this case is based on the time of the first mint transaction. */ - number: number; + order?: "asc" | "desc"; }; }; responses: { - /** @description Return the data about the epoch */ + /** @description Paginated array with the votes data */ 200: { content: { - "application/json": components["schemas"]["epoch_param_content"]; + "application/json": components["schemas"]["vote_content"]; }; }; 400: components["responses"]["400"]; 403: components["responses"]["403"]; - 404: components["responses"]["404"]; 418: components["responses"]["418"]; 429: components["responses"]["429"]; 500: components["responses"]["500"]; }; }; }; - "/txs/{hash}": { + "/epochs/latest": { /** - * Specific transaction - * @description Return content of the requested transaction. + * Latest epoch + * @description Return the information about the latest, therefore current, epoch. */ get: { - parameters: { - path: { - /** - * @description Hash of the requested transaction - * @example 6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b - */ - hash: string; - }; - }; responses: { - /** @description Return the contents of the transaction. */ + /** @description Return the data about the epoch */ 200: { content: { - "application/json": components["schemas"]["tx_content"]; + "application/json": components["schemas"]["epoch_content"]; }; }; 400: components["responses"]["400"]; @@ -799,26 +816,17 @@ export interface paths { }; }; }; - "/txs/{hash}/utxos": { + "/epochs/latest/parameters": { /** - * Transaction UTXOs - * @description Return the inputs and UTXOs of the specific transaction. + * Latest epoch protocol parameters + * @description Return the protocol parameters for the latest epoch. */ get: { - parameters: { - path: { - /** - * @description Hash of the requested transaction - * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b - */ - hash: string; - }; - }; responses: { - /** @description Return the contents of the transaction. */ + /** @description Return the data about the epoch */ 200: { content: { - "application/json": components["schemas"]["tx_content_utxo"]; + "application/json": components["schemas"]["epoch_param_content"]; }; }; 400: components["responses"]["400"]; @@ -830,26 +838,26 @@ export interface paths { }; }; }; - "/txs/{hash}/stakes": { + "/epochs/{number}": { /** - * Transaction stake addresses certificates - * @description Obtain information about (de)registration of stake addresses within a transaction. + * Specific epoch + * @description Return the content of the requested epoch. */ get: { parameters: { path: { /** - * @description Hash of the requested transaction. - * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + * @description Number of the epoch + * @example 225 */ - hash: string; + number: number; }; }; responses: { - /** @description Obtain information about (de)registration of stake addresses within a transaction. */ + /** @description Return the epoch data. */ 200: { content: { - "application/json": components["schemas"]["tx_content_stake_addr"]; + "application/json": components["schemas"]["epoch_content"]; }; }; 400: components["responses"]["400"]; @@ -861,26 +869,32 @@ export interface paths { }; }; }; - "/txs/{hash}/delegations": { + "/epochs/{number}/next": { /** - * Transaction delegation certificates - * @description Obtain information about delegation certificates of a specific transaction. + * Listing of next epochs + * @description Return the list of epochs following a specific epoch. */ get: { parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + }; path: { /** - * @description Hash of the requested transaction. - * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + * @description Number of the requested epoch. + * @example 225 */ - hash: string; + number: number; }; }; responses: { - /** @description Obtain information about delegation certificates of a specific transaction */ + /** @description Return the data about the epoch */ 200: { content: { - "application/json": components["schemas"]["tx_content_delegations"]; + "application/json": components["schemas"]["epoch_content_array"]; }; }; 400: components["responses"]["400"]; @@ -892,26 +906,32 @@ export interface paths { }; }; }; - "/txs/{hash}/withdrawals": { + "/epochs/{number}/previous": { /** - * Transaction withdrawal - * @description Obtain information about withdrawals of a specific transaction. + * Listing of previous epochs + * @description Return the list of epochs preceding a specific epoch. */ get: { parameters: { - path: { - /** - * @description Hash of the requested transaction. - * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results */ + page?: number; + }; + path: { + /** + * @description Number of the epoch + * @example 225 */ - hash: string; + number: number; }; }; responses: { - /** @description Obtain information about withdrawals of a specific transaction. */ + /** @description Return the epoch data */ 200: { content: { - "application/json": components["schemas"]["tx_content_withdrawals"]; + "application/json": components["schemas"]["epoch_content_array"]; }; }; 400: components["responses"]["400"]; @@ -923,26 +943,32 @@ export interface paths { }; }; }; - "/txs/{hash}/mirs": { + "/epochs/{number}/stakes": { /** - * Transaction MIRs - * @description Obtain information about Move Instantaneous Rewards (MIRs) of a specific transaction. + * Stake distribution + * @description Return the active stake distribution for the specified epoch. */ get: { parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + }; path: { /** - * @description Hash of the requested transaction. - * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + * @description Number of the epoch + * @example 225 */ - hash: string; + number: number; }; }; responses: { - /** @description Obtain information about Move Instantaneous Rewards (MIRs) of a specific transaction. */ + /** @description Return the data about the epoch */ 200: { content: { - "application/json": components["schemas"]["tx_content_mirs"]; + "application/json": components["schemas"]["epoch_stake_content"]; }; }; 400: components["responses"]["400"]; @@ -954,26 +980,37 @@ export interface paths { }; }; }; - "/txs/{hash}/pool_updates": { + "/epochs/{number}/stakes/{pool_id}": { /** - * Transaction stake pool registration and update certificates - * @description Obtain information about stake pool registration and update certificates of a specific transaction. + * Stake distribution by pool + * @description Return the active stake distribution for the epoch specified by stake pool. */ get: { parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + }; path: { /** - * @description Hash of the requested transaction - * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + * @description Number of the epoch + * @example 225 */ - hash: string; + number: number; + /** + * @description Stake pool ID to filter + * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + */ + pool_id: string; }; }; responses: { - /** @description Obtain information about stake pool certificates of a specific transaction */ + /** @description Return the data about the epoch */ 200: { content: { - "application/json": components["schemas"]["tx_content_pool_certs"]; + "application/json": components["schemas"]["epoch_stake_pool_content"]; }; }; 400: components["responses"]["400"]; @@ -985,26 +1022,37 @@ export interface paths { }; }; }; - "/txs/{hash}/pool_retires": { + "/epochs/{number}/blocks": { /** - * Transaction stake pool retirement certificates - * @description Obtain information about stake pool retirements within a specific transaction. + * Block distribution + * @description Return the blocks minted for the epoch specified. */ get: { parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; path: { /** - * @description Hash of the requested transaction - * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + * @description Number of the epoch + * @example 225 */ - hash: string; + number: number; }; }; responses: { - /** @description Obtain information about stake pool retirements within a specific transaction. */ + /** @description Return the data about the epoch */ 200: { content: { - "application/json": components["schemas"]["tx_content_pool_retires"]; + "application/json": components["schemas"]["epoch_block_content"]; }; }; 400: components["responses"]["400"]; @@ -1016,26 +1064,42 @@ export interface paths { }; }; }; - "/txs/{hash}/metadata": { + "/epochs/{number}/blocks/{pool_id}": { /** - * Transaction metadata - * @description Obtain the transaction metadata. + * Block distribution by pool + * @description Return the block minted for the epoch specified by stake pool. */ get: { parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; path: { /** - * @description Hash of the requested transaction - * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + * @description Number of the epoch + * @example 225 */ - hash: string; + number: number; + /** + * @description Stake pool ID to filter + * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + */ + pool_id: string; }; }; responses: { - /** @description Obtain metadata information associated with a specific transaction. */ + /** @description Return the data about the epoch */ 200: { content: { - "application/json": components["schemas"]["tx_content_metadata"]; + "application/json": components["schemas"]["epoch_block_content"]; }; }; 400: components["responses"]["400"]; @@ -1047,26 +1111,26 @@ export interface paths { }; }; }; - "/txs/{hash}/metadata/cbor": { + "/epochs/{number}/parameters": { /** - * Transaction metadata in CBOR - * @description Obtain the transaction metadata in CBOR. + * Protocol parameters + * @description Return the protocol parameters for the epoch specified. */ get: { parameters: { path: { /** - * @description Hash of the requested transaction - * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + * @description Number of the epoch + * @example 225 */ - hash: string; + number: number; }; }; responses: { - /** @description Obtain metadata information associated with a specific transaction. */ + /** @description Return the data about the epoch */ 200: { content: { - "application/json": components["schemas"]["tx_content_metadata_cbor"]; + "application/json": components["schemas"]["epoch_param_content"]; }; }; 400: components["responses"]["400"]; @@ -1078,26 +1142,26 @@ export interface paths { }; }; }; - "/txs/{hash}/redeemers": { + "/txs/{hash}": { /** - * Transaction redeemers - * @description Obtain the transaction redeemers. + * Specific transaction + * @description Return content of the requested transaction. */ get: { parameters: { path: { /** * @description Hash of the requested transaction - * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + * @example 6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b */ hash: string; }; }; responses: { - /** @description Obtain information about redeemers within a specific transaction. */ + /** @description Return the contents of the transaction. */ 200: { content: { - "application/json": components["schemas"]["tx_content_redeemers"]; + "application/json": components["schemas"]["tx_content"]; }; }; 400: components["responses"]["400"]; @@ -1109,26 +1173,26 @@ export interface paths { }; }; }; - "/txs/{hash}/required_signers": { + "/txs/{hash}/utxos": { /** - * Transaction required signers - * @description Obtain the extra transaction witnesses. + * Transaction UTXOs + * @description Return the inputs and UTXOs of the specific transaction. */ get: { parameters: { path: { /** - * @description Hash of the transaction + * @description Hash of the requested transaction * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b */ hash: string; }; }; responses: { - /** @description Query required signers (extra transaction witnesses) */ + /** @description Return the contents of the transaction. */ 200: { content: { - "application/json": components["schemas"]["tx_content_required_signers"]; + "application/json": components["schemas"]["tx_content_utxo"]; }; }; 400: components["responses"]["400"]; @@ -1140,26 +1204,26 @@ export interface paths { }; }; }; - "/txs/{hash}/cbor": { + "/txs/{hash}/stakes": { /** - * Transaction CBOR - * @description Obtain the CBOR serialized transaction + * Transaction stake addresses certificates + * @description Obtain information about (de)registration of stake addresses within a transaction. */ get: { parameters: { path: { /** - * @description Hash of the transaction + * @description Hash of the requested transaction. * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b */ hash: string; }; }; responses: { - /** @description Query transaction CBOR */ + /** @description Obtain information about (de)registration of stake addresses within a transaction. */ 200: { content: { - "application/json": components["schemas"]["tx_content_cbor"]; + "application/json": components["schemas"]["tx_content_stake_addr"]; }; }; 400: components["responses"]["400"]; @@ -1171,60 +1235,57 @@ export interface paths { }; }; }; - "/tx/submit": { + "/txs/{hash}/delegations": { /** - * Submit a transaction - * @description Submit an already serialized transaction to the network. - * - *

- * Hosted Endpoint only available for hosted variant. - *

+ * Transaction delegation certificates + * @description Obtain information about delegation certificates of a specific transaction. */ - post: { - /** @description The transaction to submit, serialized in CBOR. */ - requestBody: { - content: { - /** @example 83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573 */ - "application/cbor": string; + get: { + parameters: { + path: { + /** + * @description Hash of the requested transaction. + * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + */ + hash: string; }; }; responses: { - /** @description Return the ID of the submitted transaction. */ + /** @description Obtain information about delegation certificates of a specific transaction */ 200: { content: { - "application/json": string; + "application/json": components["schemas"]["tx_content_delegations"]; }; }; 400: components["responses"]["400"]; 403: components["responses"]["403"]; 404: components["responses"]["404"]; 418: components["responses"]["418"]; - 425: components["responses"]["425"]; 429: components["responses"]["429"]; 500: components["responses"]["500"]; }; }; }; - "/accounts/{stake_address}": { + "/txs/{hash}/withdrawals": { /** - * Specific account address - * @description Obtain information about a specific stake account. + * Transaction withdrawal + * @description Obtain information about withdrawals of a specific transaction. */ get: { parameters: { path: { /** - * @description Bech32 stake address. - * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc + * @description Hash of the requested transaction. + * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b */ - stake_address: string; + hash: string; }; }; responses: { - /** @description Return the account content. */ + /** @description Obtain information about withdrawals of a specific transaction. */ 200: { content: { - "application/json": components["schemas"]["account_content"]; + "application/json": components["schemas"]["tx_content_withdrawals"]; }; }; 400: components["responses"]["400"]; @@ -1236,37 +1297,26 @@ export interface paths { }; }; }; - "/accounts/{stake_address}/rewards": { + "/txs/{hash}/mirs": { /** - * Account reward history - * @description Obtain information about the reward history of a specific account. + * Transaction MIRs + * @description Obtain information about Move Instantaneous Rewards (MIRs) of a specific transaction. */ get: { parameters: { - query?: { - /** @description The number of results displayed on one page. */ - count?: number; - /** @description The page number for listing the results. */ - page?: number; - /** - * @description The ordering of items from the point of view of the blockchain, - * not the page listing itself. By default, we return oldest first, newest last. - */ - order?: "asc" | "desc"; - }; path: { /** - * @description Bech32 stake address. - * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc + * @description Hash of the requested transaction. + * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b */ - stake_address: string; + hash: string; }; }; responses: { - /** @description Return the account content. */ + /** @description Obtain information about Move Instantaneous Rewards (MIRs) of a specific transaction. */ 200: { content: { - "application/json": components["schemas"]["account_reward_content"]; + "application/json": components["schemas"]["tx_content_mirs"]; }; }; 400: components["responses"]["400"]; @@ -1278,37 +1328,26 @@ export interface paths { }; }; }; - "/accounts/{stake_address}/history": { + "/txs/{hash}/pool_updates": { /** - * Account history - * @description Obtain information about the history of a specific account. + * Transaction stake pool registration and update certificates + * @description Obtain information about stake pool registration and update certificates of a specific transaction. */ get: { parameters: { - query?: { - /** @description The number of results displayed on one page. */ - count?: number; - /** @description The page number for listing the results. */ - page?: number; - /** - * @description The ordering of items from the point of view of the blockchain, - * not the page listing itself. By default, we return oldest first, newest last. - */ - order?: "asc" | "desc"; - }; path: { /** - * @description Bech32 stake address. - * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc + * @description Hash of the requested transaction + * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b */ - stake_address: string; + hash: string; }; }; responses: { - /** @description Return the account content. */ + /** @description Obtain information about stake pool certificates of a specific transaction */ 200: { content: { - "application/json": components["schemas"]["account_history_content"]; + "application/json": components["schemas"]["tx_content_pool_certs"]; }; }; 400: components["responses"]["400"]; @@ -1320,37 +1359,26 @@ export interface paths { }; }; }; - "/accounts/{stake_address}/delegations": { + "/txs/{hash}/pool_retires": { /** - * Account delegation history - * @description Obtain information about the delegation of a specific account. + * Transaction stake pool retirement certificates + * @description Obtain information about stake pool retirements within a specific transaction. */ get: { parameters: { - query?: { - /** @description The number of results displayed on one page. */ - count?: number; - /** @description The page number for listing the results. */ - page?: number; - /** - * @description The ordering of items from the point of view of the blockchain, - * not the page listing itself. By default, we return oldest first, newest last. - */ - order?: "asc" | "desc"; - }; path: { /** - * @description Bech32 stake address. - * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc + * @description Hash of the requested transaction + * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b */ - stake_address: string; + hash: string; }; }; responses: { - /** @description Return the account delegations content */ + /** @description Obtain information about stake pool retirements within a specific transaction. */ 200: { content: { - "application/json": components["schemas"]["account_delegation_content"]; + "application/json": components["schemas"]["tx_content_pool_retires"]; }; }; 400: components["responses"]["400"]; @@ -1362,37 +1390,26 @@ export interface paths { }; }; }; - "/accounts/{stake_address}/registrations": { + "/txs/{hash}/metadata": { /** - * Account registration history - * @description Obtain information about the registrations and deregistrations of a specific account. + * Transaction metadata + * @description Obtain the transaction metadata. */ get: { parameters: { - query?: { - /** @description The number of results displayed on one page. */ - count?: number; - /** @description The page number for listing the results. */ - page?: number; - /** - * @description The ordering of items from the point of view of the blockchain, - * not the page listing itself. By default, we return oldest first, newest last. - */ - order?: "asc" | "desc"; - }; path: { /** - * @description Bech32 stake address. - * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc + * @description Hash of the requested transaction + * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b */ - stake_address: string; + hash: string; }; }; responses: { - /** @description Return the account registration content. */ + /** @description Obtain metadata information associated with a specific transaction. */ 200: { content: { - "application/json": components["schemas"]["account_registration_content"]; + "application/json": components["schemas"]["tx_content_metadata"]; }; }; 400: components["responses"]["400"]; @@ -1404,37 +1421,26 @@ export interface paths { }; }; }; - "/accounts/{stake_address}/withdrawals": { + "/txs/{hash}/metadata/cbor": { /** - * Account withdrawal history - * @description Obtain information about the withdrawals of a specific account. + * Transaction metadata in CBOR + * @description Obtain the transaction metadata in CBOR. */ get: { parameters: { - query?: { - /** @description The number of results displayed on one page. */ - count?: number; - /** @description The page number for listing the results. */ - page?: number; - /** - * @description The ordering of items from the point of view of the blockchain, - * not the page listing itself. By default, we return oldest first, newest last. - */ - order?: "asc" | "desc"; - }; path: { /** - * @description Bech32 stake address. - * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc + * @description Hash of the requested transaction + * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b */ - stake_address: string; + hash: string; }; }; responses: { - /** @description Return the account withdrawal content. */ + /** @description Obtain metadata information associated with a specific transaction. */ 200: { content: { - "application/json": components["schemas"]["account_withdrawal_content"]; + "application/json": components["schemas"]["tx_content_metadata_cbor"]; }; }; 400: components["responses"]["400"]; @@ -1446,37 +1452,26 @@ export interface paths { }; }; }; - "/accounts/{stake_address}/mirs": { + "/txs/{hash}/redeemers": { /** - * Account MIR history - * @description Obtain information about the MIRs of a specific account. + * Transaction redeemers + * @description Obtain the transaction redeemers. */ get: { parameters: { - query?: { - /** @description The number of results displayed on one page. */ - count?: number; - /** @description The page number for listing the results. */ - page?: number; - /** - * @description The ordering of items from the point of view of the blockchain, - * not the page listing itself. By default, we return oldest first, newest last. - */ - order?: "asc" | "desc"; - }; path: { /** - * @description Bech32 stake address. - * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc + * @description Hash of the requested transaction + * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b */ - stake_address: string; + hash: string; }; }; responses: { - /** @description Return the account MIR content. */ + /** @description Obtain information about redeemers within a specific transaction. */ 200: { content: { - "application/json": components["schemas"]["account_mir_content"]; + "application/json": components["schemas"]["tx_content_redeemers"]; }; }; 400: components["responses"]["400"]; @@ -1488,38 +1483,26 @@ export interface paths { }; }; }; - "/accounts/{stake_address}/addresses": { + "/txs/{hash}/required_signers": { /** - * Account associated addresses - * @description Obtain information about the addresses of a specific account. - * Be careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account. + * Transaction required signers + * @description Obtain the extra transaction witnesses. */ get: { parameters: { - query?: { - /** @description The number of results displayed on one page. */ - count?: number; - /** @description The page number for listing the results. */ - page?: number; - /** - * @description The ordering of items from the point of view of the blockchain, - * not the page listing itself. By default, we return oldest first, newest last. - */ - order?: "asc" | "desc"; - }; path: { /** - * @description Bech32 stake address. - * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc + * @description Hash of the transaction + * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b */ - stake_address: string; + hash: string; }; }; responses: { - /** @description Return the account addresses content */ + /** @description Query required signers (extra transaction witnesses) */ 200: { content: { - "application/json": components["schemas"]["account_addresses_content"]; + "application/json": components["schemas"]["tx_content_required_signers"]; }; }; 400: components["responses"]["400"]; @@ -1531,38 +1514,26 @@ export interface paths { }; }; }; - "/accounts/{stake_address}/addresses/assets": { + "/txs/{hash}/cbor": { /** - * Assets associated with the account addresses - * @description Obtain information about assets associated with addresses of a specific account. - * Be careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account. + * Transaction CBOR + * @description Obtain the CBOR serialized transaction */ get: { parameters: { - query?: { - /** @description The number of results displayed on one page. */ - count?: number; - /** @description The page number for listing the results. */ - page?: number; - /** - * @description The ordering of items from the point of view of the blockchain, - * not the page listing itself. By default, we return oldest first, newest last. - */ - order?: "asc" | "desc"; - }; path: { /** - * @description Bech32 stake address. - * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc + * @description Hash of the transaction + * @example 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b */ - stake_address: string; + hash: string; }; }; responses: { - /** @description Return the account addresses content */ + /** @description Query transaction CBOR */ 200: { content: { - "application/json": components["schemas"]["account_addresses_assets"]; + "application/json": components["schemas"]["tx_content_cbor"]; }; }; 400: components["responses"]["400"]; @@ -1574,68 +1545,60 @@ export interface paths { }; }; }; - "/accounts/{stake_address}/addresses/total": { + "/tx/submit": { /** - * Detailed information about account associated addresses - * @description Obtain summed details about all addresses associated with a given account. - * Be careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account. + * Submit a transaction + * @description Submit an already serialized transaction to the network. + * + *

+ * Hosted Endpoint only available for hosted variant. + *

*/ - get: { - parameters: { - path: { - /** - * @description Bech32 address. - * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - */ - stake_address: string; + post: { + /** @description The transaction to submit, serialized in CBOR. */ + requestBody: { + content: { + /** @example 83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573 */ + "application/cbor": string; }; }; responses: { - /** @description Return the Address details. */ + /** @description Return the ID of the submitted transaction. */ 200: { content: { - "application/json": components["schemas"]["account_addresses_total"]; + "application/json": string; }; }; 400: components["responses"]["400"]; 403: components["responses"]["403"]; 404: components["responses"]["404"]; 418: components["responses"]["418"]; + 425: components["responses"]["425"]; 429: components["responses"]["429"]; 500: components["responses"]["500"]; }; }; }; - "/mempool": { + "/accounts/{stake_address}": { /** - * Mempool - * @description Return transactions that are currently stored in Blockfrost mempool, - * waiting to be included in a newly minted block. - * Shows only transactions submitted via Blockfrost.io. - * - *

- * Hosted Endpoint only available for hosted variant. - *

+ * Specific account address + * @description Obtain information about a specific stake account. */ get: { parameters: { - query?: { - /** @description The number of results displayed on one page. */ - count?: number; - /** @description The page number for listing the results. */ - page?: number; + path: { /** - * @description Ordered by the time of transaction submission. - * By default, we return oldest first, newest last. + * @description Bech32 stake address. + * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc */ - order?: "asc" | "desc"; + stake_address: string; }; }; responses: { - /** @description Return the contents of the mempool */ + /** @description Return the account content. */ 200: { content: { - "application/json": components["schemas"]["mempool_content"]; + "application/json": components["schemas"]["account_content"]; }; }; 400: components["responses"]["400"]; @@ -1647,30 +1610,37 @@ export interface paths { }; }; }; - "/mempool/{hash}": { + "/accounts/{stake_address}/rewards": { /** - * Specific transaction in the mempool - * @description Return content of the requested transaction. - * - *

- * Hosted Endpoint only available for hosted variant. - *

+ * Account reward history + * @description Obtain information about the reward history of a specific account. */ get: { parameters: { - path: { - /** - * @description Hash of the requested transaction - * @example 6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. */ - hash: string; + order?: "asc" | "desc"; + }; + path: { + /** + * @description Bech32 stake address. + * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc + */ + stake_address: string; }; }; responses: { - /** @description Return the contents of the transaction. */ + /** @description Return the account content. */ 200: { content: { - "application/json": components["schemas"]["mempool_tx_content"]; + "application/json": components["schemas"]["account_reward_content"]; }; }; 400: components["responses"]["400"]; @@ -1682,15 +1652,10 @@ export interface paths { }; }; }; - "/mempool/addresses/{address}": { + "/accounts/{stake_address}/history": { /** - * Mempool by address - * @description List of mempool transactions where at least one of the transaction inputs or outputs belongs to the address. - * Shows only transactions submitted via Blockfrost.io. - * - *

- * Hosted Endpoint only available for hosted variant. - *

+ * Account history + * @description Obtain information about the history of a specific account. */ get: { parameters: { @@ -1700,24 +1665,24 @@ export interface paths { /** @description The page number for listing the results. */ page?: number; /** - * @description Ordered by the time of transaction submission. - * By default, we return oldest first, newest last. + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. */ order?: "asc" | "desc"; }; path: { /** - * @description Bech32 address. - * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + * @description Bech32 stake address. + * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc */ - address: string; + stake_address: string; }; }; responses: { - /** @description Return the contents of the mempool */ + /** @description Return the account content. */ 200: { content: { - "application/json": components["schemas"]["mempool_addresses_content"]; + "application/json": components["schemas"]["account_history_content"]; }; }; 400: components["responses"]["400"]; @@ -1729,10 +1694,10 @@ export interface paths { }; }; }; - "/metadata/txs/labels": { + "/accounts/{stake_address}/delegations": { /** - * Transaction metadata labels - * @description List of all used transaction metadata labels. + * Account delegation history + * @description Obtain information about the delegation of a specific account. */ get: { parameters: { @@ -1747,12 +1712,19 @@ export interface paths { */ order?: "asc" | "desc"; }; + path: { + /** + * @description Bech32 stake address. + * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc + */ + stake_address: string; + }; }; responses: { - /** @description Return the account metadata content in CBOR */ + /** @description Return the account delegations content */ 200: { content: { - "application/json": components["schemas"]["tx_metadata_labels"]; + "application/json": components["schemas"]["account_delegation_content"]; }; }; 400: components["responses"]["400"]; @@ -1764,10 +1736,10 @@ export interface paths { }; }; }; - "/metadata/txs/labels/{label}": { + "/accounts/{stake_address}/registrations": { /** - * Transaction metadata content in JSON - * @description Transaction metadata per label. + * Account registration history + * @description Obtain information about the registrations and deregistrations of a specific account. */ get: { parameters: { @@ -1784,17 +1756,17 @@ export interface paths { }; path: { /** - * @description Metadata label - * @example 1990 + * @description Bech32 stake address. + * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc */ - label: string; + stake_address: string; }; }; responses: { - /** @description Return the account metadata content */ + /** @description Return the account registration content. */ 200: { content: { - "application/json": components["schemas"]["tx_metadata_label_json"]; + "application/json": components["schemas"]["account_registration_content"]; }; }; 400: components["responses"]["400"]; @@ -1806,10 +1778,10 @@ export interface paths { }; }; }; - "/metadata/txs/labels/{label}/cbor": { + "/accounts/{stake_address}/withdrawals": { /** - * Transaction metadata content in CBOR - * @description Transaction metadata per label. + * Account withdrawal history + * @description Obtain information about the withdrawals of a specific account. */ get: { parameters: { @@ -1826,17 +1798,17 @@ export interface paths { }; path: { /** - * @description Metadata label - * @example 1990 + * @description Bech32 stake address. + * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc */ - label: string; + stake_address: string; }; }; responses: { - /** @description Return the account metadata content in CBOR */ + /** @description Return the account withdrawal content. */ 200: { content: { - "application/json": components["schemas"]["tx_metadata_label_cbor"]; + "application/json": components["schemas"]["account_withdrawal_content"]; }; }; 400: components["responses"]["400"]; @@ -1848,57 +1820,37 @@ export interface paths { }; }; }; - "/addresses/{address}": { + "/accounts/{stake_address}/mirs": { /** - * Specific address - * @description Obtain information about a specific address. + * Account MIR history + * @description Obtain information about the MIRs of a specific account. */ get: { parameters: { - path: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; /** - * @description Bech32 address. - * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. */ - address: string; - }; - }; - responses: { - /** @description Return the address content. */ - 200: { - content: { - "application/json": components["schemas"]["address_content"]; - }; + order?: "asc" | "desc"; }; - 400: components["responses"]["400"]; - 403: components["responses"]["403"]; - 404: components["responses"]["404"]; - 418: components["responses"]["418"]; - 429: components["responses"]["429"]; - 500: components["responses"]["500"]; - }; - }; - }; - "/addresses/{address}/extended": { - /** - * Extended information of a specific address - * @description Obtain extended information about a specific address. - */ - get: { - parameters: { path: { /** - * @description Bech32 address. - * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + * @description Bech32 stake address. + * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc */ - address: string; + stake_address: string; }; }; responses: { - /** @description Return the address content. */ + /** @description Return the account MIR content. */ 200: { content: { - "application/json": components["schemas"]["address_content_extended"]; + "application/json": components["schemas"]["account_mir_content"]; }; }; 400: components["responses"]["400"]; @@ -1910,26 +1862,38 @@ export interface paths { }; }; }; - "/addresses/{address}/total": { + "/accounts/{stake_address}/addresses": { /** - * Address details - * @description Obtain details about an address. + * Account associated addresses + * @description Obtain information about the addresses of a specific account. + * Be careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account. */ get: { parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; path: { /** - * @description Bech32 address. - * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + * @description Bech32 stake address. + * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc */ - address: string; + stake_address: string; }; }; responses: { - /** @description Return the Address details. */ + /** @description Return the account addresses content */ 200: { content: { - "application/json": components["schemas"]["address_content_total"]; + "application/json": components["schemas"]["account_addresses_content"]; }; }; 400: components["responses"]["400"]; @@ -1941,10 +1905,11 @@ export interface paths { }; }; }; - "/addresses/{address}/utxos": { + "/accounts/{stake_address}/addresses/assets": { /** - * Address UTXOs - * @description UTXOs of the address. + * Assets associated with the account addresses + * @description Obtain information about assets associated with addresses of a specific account. + * Be careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account. */ get: { parameters: { @@ -1961,17 +1926,17 @@ export interface paths { }; path: { /** - * @description Bech32 address. - * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + * @description Bech32 stake address. + * @example stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc */ - address: string; + stake_address: string; }; }; responses: { - /** @description Return the address content */ + /** @description Return the account addresses content */ 200: { content: { - "application/json": components["schemas"]["address_utxo_content"]; + "application/json": components["schemas"]["account_addresses_assets"]; }; }; 400: components["responses"]["400"]; @@ -1983,42 +1948,27 @@ export interface paths { }; }; }; - "/addresses/{address}/utxos/{asset}": { + "/accounts/{stake_address}/addresses/total": { /** - * Address UTXOs of a given asset - * @description UTXOs of the address. + * Detailed information about account associated addresses + * @description Obtain summed details about all addresses associated with a given account. + * Be careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account. */ get: { parameters: { - query?: { - /** @description The number of results displayed on one page. */ - count?: number; - /** @description The page number for listing the results. */ - page?: number; - /** - * @description The ordering of items from the point of view of the blockchain, - * not the page listing itself. By default, we return oldest first, newest last. - */ - order?: "asc" | "desc"; - }; path: { /** * @description Bech32 address. * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz */ - address: string; - /** - * @description Concatenation of the policy_id and hex-encoded asset_name - * @example b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - */ - asset: string; + stake_address: string; }; }; responses: { - /** @description Return the address content */ + /** @description Return the Address details. */ 200: { content: { - "application/json": components["schemas"]["address_utxo_content"]; + "application/json": components["schemas"]["account_addresses_total"]; }; }; 400: components["responses"]["400"]; @@ -2030,38 +1980,36 @@ export interface paths { }; }; }; - "/addresses/{address}/txs": { + "/mempool": { /** - * Address txs - * @deprecated - * @description Transactions on the address. + * Mempool + * @description Return transactions that are currently stored in Blockfrost mempool, + * waiting to be included in a newly minted block. + * Shows only transactions submitted via Blockfrost.io. + * + *

+ * Hosted Endpoint only available for hosted variant. + *

*/ get: { parameters: { query?: { - /** @description The number of transactions per page. */ + /** @description The number of results displayed on one page. */ count?: number; /** @description The page number for listing the results. */ page?: number; /** - * @description The ordering of items from the point of view of the blockchain, - * not the page listing itself. By default, we return oldest first, newest last. + * @description Ordered by the time of transaction submission. + * By default, we return oldest first, newest last. */ order?: "asc" | "desc"; }; - path: { - /** - * @description Bech32 address. - * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - */ - address: string; - }; }; responses: { - /** @description Return the address content */ + /** @description Return the contents of the mempool */ 200: { content: { - "application/json": components["schemas"]["address_txs_content"]; + "application/json": components["schemas"]["mempool_content"]; }; }; 400: components["responses"]["400"]; @@ -2073,51 +2021,30 @@ export interface paths { }; }; }; - "/addresses/{address}/transactions": { + "/mempool/{hash}": { /** - * Address transactions - * @description Transactions on the address. - */ + * Specific transaction in the mempool + * @description Return content of the requested transaction. + * + *

+ * Hosted Endpoint only available for hosted variant. + *

+ */ get: { parameters: { - query?: { - /** @description The number of addresses per page. */ - count?: number; - /** @description The page number for listing the results. */ - page?: number; - /** - * @description The ordering of items from the point of view of the blockchain, - * not the page listing itself. By default, we return oldest first, newest last. - */ - order?: "asc" | "desc"; - /** - * @description The block number and optionally also index from which (inclusive) to start search for results, concatenated using colon. - * Has to be lower than or equal to `to` parameter. - * - * @example 8929261 - */ - from?: string; - /** - * @description The block number and optionally also index where (inclusive) to end the search for results, concatenated using colon. - * Has to be higher than or equal to `from` parameter. - * - * @example 9999269:10 - */ - to?: string; - }; path: { /** - * @description Bech32 address. - * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + * @description Hash of the requested transaction + * @example 6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b */ - address: string; + hash: string; }; }; responses: { - /** @description Return the address content */ + /** @description Return the contents of the transaction. */ 200: { content: { - "application/json": components["schemas"]["address_transactions_content"]; + "application/json": components["schemas"]["mempool_tx_content"]; }; }; 400: components["responses"]["400"]; @@ -2129,30 +2056,42 @@ export interface paths { }; }; }; - "/pools": { + "/mempool/addresses/{address}": { /** - * List of stake pools - * @description List of registered stake pools. + * Mempool by address + * @description List of mempool transactions where at least one of the transaction inputs or outputs belongs to the address. + * Shows only transactions submitted via Blockfrost.io. + * + *

+ * Hosted Endpoint only available for hosted variant. + *

*/ get: { parameters: { query?: { - /** @description The number of pools per page. */ + /** @description The number of results displayed on one page. */ count?: number; /** @description The page number for listing the results. */ page?: number; /** - * @description The ordering of items from the point of view of the blockchain, - * not the page listing itself. By default, we return oldest first, newest last. + * @description Ordered by the time of transaction submission. + * By default, we return oldest first, newest last. */ order?: "asc" | "desc"; }; + path: { + /** + * @description Bech32 address. + * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + */ + address: string; + }; }; responses: { - /** @description Return the list of pools. */ + /** @description Return the contents of the mempool */ 200: { content: { - "application/json": components["schemas"]["pool_list"]; + "application/json": components["schemas"]["mempool_addresses_content"]; }; }; 400: components["responses"]["400"]; @@ -2164,15 +2103,15 @@ export interface paths { }; }; }; - "/pools/extended": { + "/metadata/txs/labels": { /** - * List of stake pools with additional information - * @description List of registered stake pools with additional information. + * Transaction metadata labels + * @description List of all used transaction metadata labels. */ get: { parameters: { query?: { - /** @description The number of pools per page. */ + /** @description The number of results displayed on one page. */ count?: number; /** @description The page number for listing the results. */ page?: number; @@ -2184,10 +2123,10 @@ export interface paths { }; }; responses: { - /** @description Return the list of pools. */ + /** @description Return the account metadata content in CBOR */ 200: { content: { - "application/json": components["schemas"]["pool_list_extended"]; + "application/json": components["schemas"]["tx_metadata_labels"]; }; }; 400: components["responses"]["400"]; @@ -2199,15 +2138,15 @@ export interface paths { }; }; }; - "/pools/retired": { + "/metadata/txs/labels/{label}": { /** - * List of retired stake pools - * @description List of already retired pools. + * Transaction metadata content in JSON + * @description Transaction metadata per label. */ get: { parameters: { query?: { - /** @description The number of pools per page. */ + /** @description The number of results displayed on one page. */ count?: number; /** @description The page number for listing the results. */ page?: number; @@ -2217,12 +2156,19 @@ export interface paths { */ order?: "asc" | "desc"; }; + path: { + /** + * @description Metadata label + * @example 1990 + */ + label: string; + }; }; responses: { - /** @description Return the pool information content */ + /** @description Return the account metadata content */ 200: { content: { - "application/json": components["schemas"]["pool_list_retire"]; + "application/json": components["schemas"]["tx_metadata_label_json"]; }; }; 400: components["responses"]["400"]; @@ -2234,10 +2180,10 @@ export interface paths { }; }; }; - "/pools/retiring": { + "/metadata/txs/labels/{label}/cbor": { /** - * List of retiring stake pools - * @description List of stake pools retiring in the upcoming epochs + * Transaction metadata content in CBOR + * @description Transaction metadata per label. */ get: { parameters: { @@ -2252,43 +2198,19 @@ export interface paths { */ order?: "asc" | "desc"; }; - }; - responses: { - /** @description Return the pool information content */ - 200: { - content: { - "application/json": components["schemas"]["pool_list_retire"]; - }; - }; - 400: components["responses"]["400"]; - 403: components["responses"]["403"]; - 404: components["responses"]["404"]; - 418: components["responses"]["418"]; - 429: components["responses"]["429"]; - 500: components["responses"]["500"]; - }; - }; - }; - "/pools/{pool_id}": { - /** - * Specific stake pool - * @description Pool information. - */ - get: { - parameters: { path: { /** - * @description Bech32 or hexadecimal pool ID. - * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + * @description Metadata label + * @example 1990 */ - pool_id: string; + label: string; }; }; responses: { - /** @description Return the pool information content */ + /** @description Return the account metadata content in CBOR */ 200: { content: { - "application/json": components["schemas"]["pool"]; + "application/json": components["schemas"]["tx_metadata_label_cbor"]; }; }; 400: components["responses"]["400"]; @@ -2300,37 +2222,26 @@ export interface paths { }; }; }; - "/pools/{pool_id}/history": { + "/addresses/{address}": { /** - * Stake pool history - * @description History of stake pool parameters over epochs. + * Specific address + * @description Obtain information about a specific address. */ get: { parameters: { - query?: { - /** @description The number of results displayed on one page. */ - count?: number; - /** @description The page number for listing the results */ - page?: number; - /** - * @description The ordering of items from the point of view of the blockchain, - * not the page listing itself. By default, we return oldest first, newest last. - */ - order?: "asc" | "desc"; - }; path: { /** - * @description Bech32 or hexadecimal pool ID. - * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + * @description Bech32 address. + * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz */ - pool_id: string; + address: string; }; }; responses: { - /** @description Return the pool information content. */ + /** @description Return the address content. */ 200: { content: { - "application/json": components["schemas"]["pool_history"]; + "application/json": components["schemas"]["address_content"]; }; }; 400: components["responses"]["400"]; @@ -2342,26 +2253,26 @@ export interface paths { }; }; }; - "/pools/{pool_id}/metadata": { + "/addresses/{address}/extended": { /** - * Stake pool metadata - * @description Stake pool registration metadata. + * Extended information of a specific address + * @description Obtain extended information about a specific address. */ get: { parameters: { path: { /** - * @description Bech32 or hexadecimal pool ID. - * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + * @description Bech32 address. + * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz */ - pool_id: string; + address: string; }; }; responses: { - /** @description Return the pool metadata content. */ + /** @description Return the address content. */ 200: { content: { - "application/json": components["schemas"]["pool_metadata"] | components["schemas"]["empty_object"]; + "application/json": components["schemas"]["address_content_extended"]; }; }; 400: components["responses"]["400"]; @@ -2373,26 +2284,26 @@ export interface paths { }; }; }; - "/pools/{pool_id}/relays": { + "/addresses/{address}/total": { /** - * Stake pool relays - * @description Relays of a stake pool. + * Address details + * @description Obtain details about an address. */ get: { parameters: { path: { /** - * @description Bech32 or hexadecimal pool ID. - * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + * @description Bech32 address. + * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz */ - pool_id: string; + address: string; }; }; responses: { - /** @description Return the pool relays information content. */ + /** @description Return the Address details. */ 200: { content: { - "application/json": components["schemas"]["pool_relays"]; + "application/json": components["schemas"]["address_content_total"]; }; }; 400: components["responses"]["400"]; @@ -2404,10 +2315,10 @@ export interface paths { }; }; }; - "/pools/{pool_id}/delegators": { + "/addresses/{address}/utxos": { /** - * Stake pool delegators - * @description List of current stake pools delegators. + * Address UTXOs + * @description UTXOs of the address. */ get: { parameters: { @@ -2424,17 +2335,17 @@ export interface paths { }; path: { /** - * @description Bech32 or hexadecimal pool ID. - * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + * @description Bech32 address. + * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz */ - pool_id: string; + address: string; }; }; responses: { - /** @description Return the pool delegations. */ + /** @description Return the address content */ 200: { content: { - "application/json": components["schemas"]["pool_delegators"]; + "application/json": components["schemas"]["address_utxo_content"]; }; }; 400: components["responses"]["400"]; @@ -2446,10 +2357,10 @@ export interface paths { }; }; }; - "/pools/{pool_id}/blocks": { + "/addresses/{address}/utxos/{asset}": { /** - * Stake pool blocks - * @description List of stake pools blocks. + * Address UTXOs of a given asset + * @description UTXOs of the address. */ get: { parameters: { @@ -2466,17 +2377,22 @@ export interface paths { }; path: { /** - * @description Bech32 or hexadecimal pool ID. - * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + * @description Bech32 address. + * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz */ - pool_id: string; + address: string; + /** + * @description Concatenation of the policy_id and hex-encoded asset_name + * @example b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e + */ + asset: string; }; }; responses: { - /** @description Return the pool block list */ + /** @description Return the address content */ 200: { content: { - "application/json": components["schemas"]["pool_blocks"]; + "application/json": components["schemas"]["address_utxo_content"]; }; }; 400: components["responses"]["400"]; @@ -2488,15 +2404,16 @@ export interface paths { }; }; }; - "/pools/{pool_id}/updates": { + "/addresses/{address}/txs": { /** - * Stake pool updates - * @description List of certificate updates to the stake pool. + * Address txs + * @deprecated + * @description Transactions on the address. */ get: { parameters: { query?: { - /** @description The number of results displayed on one page. */ + /** @description The number of transactions per page. */ count?: number; /** @description The page number for listing the results. */ page?: number; @@ -2508,17 +2425,17 @@ export interface paths { }; path: { /** - * @description Bech32 or hexadecimal pool ID. - * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + * @description Bech32 address. + * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz */ - pool_id: string; + address: string; }; }; responses: { - /** @description Return the pool updates history */ + /** @description Return the address content */ 200: { content: { - "application/json": components["schemas"]["pool_updates"]; + "application/json": components["schemas"]["address_txs_content"]; }; }; 400: components["responses"]["400"]; @@ -2530,63 +2447,51 @@ export interface paths { }; }; }; - "/assets": { + "/addresses/{address}/transactions": { /** - * Assets - * @description List of assets. If an asset is completely burned, - * it will stay on the list with quantity 0 (order of assets is immutable). + * Address transactions + * @description Transactions on the address. */ get: { parameters: { query?: { - /** @description The number of results displayed on one page. */ + /** @description The number of addresses per page. */ count?: number; /** @description The page number for listing the results. */ page?: number; /** * @description The ordering of items from the point of view of the blockchain, * not the page listing itself. By default, we return oldest first, newest last. - * Ordering in this case is based on the time of the first mint transaction. */ order?: "asc" | "desc"; + /** + * @description The block number and optionally also index from which (inclusive) to start search for results, concatenated using colon. + * Has to be lower than or equal to `to` parameter. + * + * @example 8929261 + */ + from?: string; + /** + * @description The block number and optionally also index where (inclusive) to end the search for results, concatenated using colon. + * Has to be higher than or equal to `from` parameter. + * + * @example 9999269:10 + */ + to?: string; }; - }; - responses: { - /** @description Return list of assets */ - 200: { - content: { - "application/json": components["schemas"]["assets"]; - }; - }; - 400: components["responses"]["400"]; - 403: components["responses"]["403"]; - 404: components["responses"]["404"]; - 418: components["responses"]["418"]; - 429: components["responses"]["429"]; - 500: components["responses"]["500"]; - }; - }; - }; - "/assets/{asset}": { - /** - * Specific asset - * @description Information about a specific asset - */ - get: { - parameters: { path: { /** - * @description Concatenation of the policy_id and hex-encoded asset_name - * @example b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e + * @description Bech32 address. + * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz */ - asset: string; + address: string; }; }; responses: { - /** @description Return the information about a specific asset */ + /** @description Return the address content */ 200: { content: { - "application/json": components["schemas"]["asset"]; + "application/json": components["schemas"]["address_transactions_content"]; }; }; 400: components["responses"]["400"]; @@ -2598,15 +2503,15 @@ export interface paths { }; }; }; - "/assets/{asset}/history": { + "/pools": { /** - * Asset history - * @description History of a specific asset + * List of stake pools + * @description List of registered stake pools. */ get: { parameters: { query?: { - /** @description The number of results displayed on one page. */ + /** @description The number of pools per page. */ count?: number; /** @description The page number for listing the results. */ page?: number; @@ -2616,19 +2521,12 @@ export interface paths { */ order?: "asc" | "desc"; }; - path: { - /** - * @description Concatenation of the policy_id and hex-encoded asset_name - * @example b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - */ - asset: string; - }; }; responses: { - /** @description Return the information about the history of a specific asset */ + /** @description Return the list of pools. */ 200: { content: { - "application/json": components["schemas"]["asset_history"]; + "application/json": components["schemas"]["pool_list"]; }; }; 400: components["responses"]["400"]; @@ -2640,16 +2538,15 @@ export interface paths { }; }; }; - "/assets/{asset}/txs": { + "/pools/extended": { /** - * Asset txs - * @deprecated - * @description List of a specific asset transactions + * List of stake pools with additional information + * @description List of registered stake pools with additional information. */ get: { parameters: { query?: { - /** @description The number of results displayed on one page. */ + /** @description The number of pools per page. */ count?: number; /** @description The page number for listing the results. */ page?: number; @@ -2659,19 +2556,12 @@ export interface paths { */ order?: "asc" | "desc"; }; - path: { - /** - * @description Concatenation of the policy_id and hex-encoded asset_name - * @example b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - */ - asset: string; - }; }; responses: { - /** @description Return the information about the history of a specific asset */ + /** @description Return the list of pools. */ 200: { content: { - "application/json": components["schemas"]["asset_txs"]; + "application/json": components["schemas"]["pool_list_extended"]; }; }; 400: components["responses"]["400"]; @@ -2683,15 +2573,15 @@ export interface paths { }; }; }; - "/assets/{asset}/transactions": { + "/pools/retired": { /** - * Asset transactions - * @description List of a specific asset transactions + * List of retired stake pools + * @description List of already retired pools. */ get: { parameters: { query?: { - /** @description The number of results displayed on one page. */ + /** @description The number of pools per page. */ count?: number; /** @description The page number for listing the results. */ page?: number; @@ -2701,19 +2591,12 @@ export interface paths { */ order?: "asc" | "desc"; }; - path: { - /** - * @description Concatenation of the policy_id and hex-encoded asset_name - * @example b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - */ - asset: string; - }; }; responses: { - /** @description Return the information about the history of a specific asset */ + /** @description Return the pool information content */ 200: { content: { - "application/json": components["schemas"]["asset_transactions"]; + "application/json": components["schemas"]["pool_list_retire"]; }; }; 400: components["responses"]["400"]; @@ -2725,10 +2608,10 @@ export interface paths { }; }; }; - "/assets/{asset}/addresses": { + "/pools/retiring": { /** - * Asset addresses - * @description List of a addresses containing a specific asset + * List of retiring stake pools + * @description List of stake pools retiring in the upcoming epochs */ get: { parameters: { @@ -2743,19 +2626,12 @@ export interface paths { */ order?: "asc" | "desc"; }; - path: { - /** - * @description Concatenation of the policy_id and hex-encoded asset_name - * @example b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - */ - asset: string; - }; }; responses: { - /** @description Return the information about the history of a specific asset */ + /** @description Return the pool information content */ 200: { content: { - "application/json": components["schemas"]["asset_addresses"]; + "application/json": components["schemas"]["pool_list_retire"]; }; }; 400: components["responses"]["400"]; @@ -2767,37 +2643,26 @@ export interface paths { }; }; }; - "/assets/policy/{policy_id}": { + "/pools/{pool_id}": { /** - * Assets of a specific policy - * @description List of asset minted under a specific policy + * Specific stake pool + * @description Pool information. */ get: { parameters: { - query?: { - /** @description The number of results displayed on one page. */ - count?: number; - /** @description The page number for listing the results. */ - page?: number; - /** - * @description The ordering of items from the point of view of the blockchain, - * not the page listing itself. By default, we return oldest first, newest last. - */ - order?: "asc" | "desc"; - }; path: { /** - * @description Specific policy_id - * @example 476039a0949cf0b22f6a800f56780184c44533887ca6e821007840c3 + * @description Bech32 or hexadecimal pool ID. + * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy */ - policy_id: string; + pool_id: string; }; }; responses: { - /** @description Return the information about a specific asset */ + /** @description Return the pool information content */ 200: { content: { - "application/json": components["schemas"]["asset_policy"]; + "application/json": components["schemas"]["pool"]; }; }; 400: components["responses"]["400"]; @@ -2809,17 +2674,17 @@ export interface paths { }; }; }; - "/scripts": { + "/pools/{pool_id}/history": { /** - * Scripts - * @description List of scripts. + * Stake pool history + * @description History of stake pool parameters over epochs. */ get: { parameters: { query?: { /** @description The number of results displayed on one page. */ count?: number; - /** @description The page number for listing the results. */ + /** @description The page number for listing the results */ page?: number; /** * @description The ordering of items from the point of view of the blockchain, @@ -2827,12 +2692,19 @@ export interface paths { */ order?: "asc" | "desc"; }; + path: { + /** + * @description Bech32 or hexadecimal pool ID. + * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + */ + pool_id: string; + }; }; responses: { - /** @description Return list of scripts */ + /** @description Return the pool information content. */ 200: { content: { - "application/json": components["schemas"]["scripts"]; + "application/json": components["schemas"]["pool_history"]; }; }; 400: components["responses"]["400"]; @@ -2844,26 +2716,28 @@ export interface paths { }; }; }; - "/scripts/{script_hash}": { + "/pools/{pool_id}/metadata": { /** - * Specific script - * @description Information about a specific script + * Stake pool metadata + * @description Stake pool registration metadata. */ get: { parameters: { path: { /** - * @description Hash of the script - * @example e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e + * @description Bech32 or hexadecimal pool ID. + * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy */ - script_hash: string; + pool_id: string; }; }; responses: { - /** @description Return the information about a specific script */ + /** @description Return the pool metadata content. */ 200: { content: { - "application/json": components["schemas"]["script"]; + "application/json": + | components["schemas"]["pool_metadata"] + | components["schemas"]["empty_object"]; }; }; 400: components["responses"]["400"]; @@ -2875,26 +2749,26 @@ export interface paths { }; }; }; - "/scripts/{script_hash}/json": { + "/pools/{pool_id}/relays": { /** - * Script JSON - * @description JSON representation of a `timelock` script + * Stake pool relays + * @description Relays of a stake pool. */ get: { parameters: { path: { /** - * @description Hash of the script - * @example e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e + * @description Bech32 or hexadecimal pool ID. + * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy */ - script_hash: string; + pool_id: string; }; }; responses: { - /** @description Return the JSON representation of a `timelock` script */ + /** @description Return the pool relays information content. */ 200: { content: { - "application/json": components["schemas"]["script_json"]; + "application/json": components["schemas"]["pool_relays"]; }; }; 400: components["responses"]["400"]; @@ -2906,26 +2780,37 @@ export interface paths { }; }; }; - "/scripts/{script_hash}/cbor": { + "/pools/{pool_id}/delegators": { /** - * Script CBOR - * @description CBOR representation of a `plutus` script + * Stake pool delegators + * @description List of current stake pools delegators. */ get: { parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; path: { /** - * @description Hash of the script - * @example e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e + * @description Bech32 or hexadecimal pool ID. + * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy */ - script_hash: string; + pool_id: string; }; }; responses: { - /** @description Return the CBOR representation of a `plutus` script */ + /** @description Return the pool delegations. */ 200: { content: { - "application/json": components["schemas"]["script_cbor"]; + "application/json": components["schemas"]["pool_delegators"]; }; }; 400: components["responses"]["400"]; @@ -2937,10 +2822,10 @@ export interface paths { }; }; }; - "/scripts/{script_hash}/redeemers": { + "/pools/{pool_id}/blocks": { /** - * Redeemers of a specific script - * @description List of redeemers of a specific script + * Stake pool blocks + * @description List of stake pools blocks. */ get: { parameters: { @@ -2957,17 +2842,17 @@ export interface paths { }; path: { /** - * @description Hash of the script - * @example e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e + * @description Bech32 or hexadecimal pool ID. + * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy */ - script_hash: string; + pool_id: string; }; }; responses: { - /** @description Return the information about redeemers of a specific script */ + /** @description Return the pool block list */ 200: { content: { - "application/json": components["schemas"]["script_redeemers"]; + "application/json": components["schemas"]["pool_blocks"]; }; }; 400: components["responses"]["400"]; @@ -2979,10 +2864,543 @@ export interface paths { }; }; }; - "/scripts/datum/{datum_hash}": { + "/pools/{pool_id}/updates": { /** - * Datum value - * @description Query JSON value of a datum by its hash + * Stake pool updates + * @description List of certificate updates to the stake pool. + */ + get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; + path: { + /** + * @description Bech32 or hexadecimal pool ID. + * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + */ + pool_id: string; + }; + }; + responses: { + /** @description Return the pool updates history */ + 200: { + content: { + "application/json": components["schemas"]["pool_updates"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/pools/{pool_id}/votes": { + /** + * Stake pool votes + * @description History of stake pools votes. + */ + get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; + path: { + /** + * @description Bech32 or hexadecimal pool ID. + * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + */ + pool_id: string; + }; + }; + responses: { + /** @description Return the pool votes. */ + 200: { + content: { + "application/json": components["schemas"]["pool_votes"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/assets": { + /** + * Assets + * @description List of assets. If an asset is completely burned, + * it will stay on the list with quantity 0 (order of assets is immutable). + */ + get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + * Ordering in this case is based on the time of the first mint transaction. + */ + order?: "asc" | "desc"; + }; + }; + responses: { + /** @description Return list of assets */ + 200: { + content: { + "application/json": components["schemas"]["assets"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/assets/{asset}": { + /** + * Specific asset + * @description Information about a specific asset + */ + get: { + parameters: { + path: { + /** + * @description Concatenation of the policy_id and hex-encoded asset_name + * @example b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e + */ + asset: string; + }; + }; + responses: { + /** @description Return the information about a specific asset */ + 200: { + content: { + "application/json": components["schemas"]["asset"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/assets/{asset}/history": { + /** + * Asset history + * @description History of a specific asset + */ + get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; + path: { + /** + * @description Concatenation of the policy_id and hex-encoded asset_name + * @example b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e + */ + asset: string; + }; + }; + responses: { + /** @description Return the information about the history of a specific asset */ + 200: { + content: { + "application/json": components["schemas"]["asset_history"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/assets/{asset}/txs": { + /** + * Asset txs + * @deprecated + * @description List of a specific asset transactions + */ + get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; + path: { + /** + * @description Concatenation of the policy_id and hex-encoded asset_name + * @example b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e + */ + asset: string; + }; + }; + responses: { + /** @description Return the information about the history of a specific asset */ + 200: { + content: { + "application/json": components["schemas"]["asset_txs"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/assets/{asset}/transactions": { + /** + * Asset transactions + * @description List of a specific asset transactions + */ + get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; + path: { + /** + * @description Concatenation of the policy_id and hex-encoded asset_name + * @example b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e + */ + asset: string; + }; + }; + responses: { + /** @description Return the information about the history of a specific asset */ + 200: { + content: { + "application/json": components["schemas"]["asset_transactions"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/assets/{asset}/addresses": { + /** + * Asset addresses + * @description List of a addresses containing a specific asset + */ + get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; + path: { + /** + * @description Concatenation of the policy_id and hex-encoded asset_name + * @example b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e + */ + asset: string; + }; + }; + responses: { + /** @description Return the information about the history of a specific asset */ + 200: { + content: { + "application/json": components["schemas"]["asset_addresses"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/assets/policy/{policy_id}": { + /** + * Assets of a specific policy + * @description List of asset minted under a specific policy + */ + get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; + path: { + /** + * @description Specific policy_id + * @example 476039a0949cf0b22f6a800f56780184c44533887ca6e821007840c3 + */ + policy_id: string; + }; + }; + responses: { + /** @description Return the information about a specific asset */ + 200: { + content: { + "application/json": components["schemas"]["asset_policy"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/scripts": { + /** + * Scripts + * @description List of scripts. + */ + get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; + }; + responses: { + /** @description Return list of scripts */ + 200: { + content: { + "application/json": components["schemas"]["scripts"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/scripts/{script_hash}": { + /** + * Specific script + * @description Information about a specific script + */ + get: { + parameters: { + path: { + /** + * @description Hash of the script + * @example e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e + */ + script_hash: string; + }; + }; + responses: { + /** @description Return the information about a specific script */ + 200: { + content: { + "application/json": components["schemas"]["script"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/scripts/{script_hash}/json": { + /** + * Script JSON + * @description JSON representation of a `timelock` script + */ + get: { + parameters: { + path: { + /** + * @description Hash of the script + * @example e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e + */ + script_hash: string; + }; + }; + responses: { + /** @description Return the JSON representation of a `timelock` script */ + 200: { + content: { + "application/json": components["schemas"]["script_json"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/scripts/{script_hash}/cbor": { + /** + * Script CBOR + * @description CBOR representation of a `plutus` script + */ + get: { + parameters: { + path: { + /** + * @description Hash of the script + * @example e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e + */ + script_hash: string; + }; + }; + responses: { + /** @description Return the CBOR representation of a `plutus` script */ + 200: { + content: { + "application/json": components["schemas"]["script_cbor"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/scripts/{script_hash}/redeemers": { + /** + * Redeemers of a specific script + * @description List of redeemers of a specific script + */ + get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; + path: { + /** + * @description Hash of the script + * @example e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e + */ + script_hash: string; + }; + }; + responses: { + /** @description Return the information about redeemers of a specific script */ + 200: { + content: { + "application/json": components["schemas"]["script_redeemers"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/scripts/datum/{datum_hash}": { + /** + * Datum value + * @description Query JSON value of a datum by its hash */ get: { parameters: { @@ -3152,12 +3570,14 @@ export interface paths { /** @description Transaction CBOR (encoded using base64 or base16). */ cbor: string; /** @description Additional UTXO as an array of tuples [TxIn, TxOut]. See https://ogmios.dev/mini-protocols/local-tx-submission/#additional-utxo-set. */ - additionalUtxoSet?: (({ + additionalUtxoSet?: ( + | { /** @description Transaction hash for the input */ txId?: string; /** @description Index of the output within the transaction */ index?: number; - } | { + } + | { /** @description Output address */ address: string; value: { @@ -3175,7 +3595,8 @@ export interface paths { script?: { [key: string]: unknown; }; - })[])[]; + } + )[][]; }; }; }; @@ -3315,38 +3736,38 @@ export interface paths { /** @description Returns pinned objects */ 200: { content: { - "application/json": ({ - /** - * @description Creation time of the IPFS object on our backends - * @example 1615551024 - */ - time_created: number; - /** - * @description Pin time of the IPFS object on our backends - * @example 1615551024 - */ - time_pinned: number; - /** - * @description IPFS hash of the pinned object - * @example QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx - */ - ipfs_hash: string; - /** - * @description Size of the object in Bytes - * @example 1615551024 - */ - size: string; - /** - * @description State of the pinned object, which is `queued` when we are retriving object. If this - * is successful the state is changed to `pinned` or `failed` if not. The state `gc` means the - * pinned item has been garbage collected due to account being over storage quota or after it has - * been moved to `unpinned` state by removing the object pin. - * - * @example pinned - * @enum {string} - */ - state: "queued|pinned|unpinned|failed|gc"; - })[]; + "application/json": { + /** + * @description Creation time of the IPFS object on our backends + * @example 1615551024 + */ + time_created: number; + /** + * @description Pin time of the IPFS object on our backends + * @example 1615551024 + */ + time_pinned: number; + /** + * @description IPFS hash of the pinned object + * @example QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx + */ + ipfs_hash: string; + /** + * @description Size of the object in Bytes + * @example 1615551024 + */ + size: string; + /** + * @description State of the pinned object, which is `queued` when we are retriving object. If this + * is successful the state is changed to `pinned` or `failed` if not. The state `gc` means the + * pinned item has been garbage collected due to account being over storage quota or after it has + * been moved to `unpinned` state by removing the object pin. + * + * @example pinned + * @enum {string} + */ + state: "queued|pinned|unpinned|failed|gc"; + }[]; }; }; 400: components["responses"]["400"]; @@ -3824,13 +4245,13 @@ export interface components { * ] */ block_content_addresses: { - /** @description Address that was affected in the specified block */ - address: string; - /** @description List of transactions containing the address either in their inputs or outputs. Sorted by transaction index within a block, ascending. */ - transactions: { - tx_hash: string; - }[]; + /** @description Address that was affected in the specified block */ + address: string; + /** @description List of transactions containing the address either in their inputs or outputs. Sorted by transaction index within a block, ascending. */ + transactions: { + tx_hash: string; }[]; + }[]; genesis_content: { /** * @description The proportion of slots in which blocks should be issued @@ -3883,6 +4304,307 @@ export interface components { */ security_param: number; }; + /** + * @example [ + * { + * "drep_id": "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn", + * "hex": "db1bc3c3f99ce68977ceaf27ab4dd917123ef9e73f85c304236eab23" + * }, + * { + * "drep_id": "drep1cxayn4fgy27yaucvhamsvqj3v6835mh3tjjx6x8hdnr4", + * "hex": "c1ba49d52822bc4ef30cbf77060251668f1a6ef15ca46d18f76cc758" + * } + * ] + */ + drep_content: { + /** @description The Bech32 encoded DRep address */ + drep_id: string; + /** @description The raw bytes of the DRep */ + hex: string; + }[]; + /** + * @example [ + * { + * "drep_id": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc", + * "hex": "a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d", + * "amount": "2000000", + * "active": true, + * "active_epoch": 420, + * "has_script": true + * } + * ] + */ + drep_details_content: { + /** @description Bech32 encoded DRep address */ + drep_id: string; + /** @description The raw bytes of the DRep */ + hex: string; + /** @description The total amount of voting power this DRep is delegated. */ + amount: string; + /** @description Registration state of the DRep */ + active: boolean; + /** @description Epoch of the most recent action - registration or deregistration */ + active_epoch: number | null; + /** @description Flag which shows if this DRep credentials are a script hash */ + has_script: boolean; + }; + /** + * @example [ + * { + * "address": "stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha", + * "amount": "1137959159981411" + * }, + * { + * "address": "stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u", + * "amount": "16958865648" + * }, + * { + * "address": "stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck", + * "amount": "18605647" + * } + * ] + */ + drep_delegators: { + /** @description Bech32 encoded stake addresses */ + address: string; + /** @description Currently delegated amount */ + amount: string; + }[]; + /** + * @example [ + * { + * "drep_id": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc", + * "hex": "a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d", + * "url": "https://stakenuts.com/drep.json", + * "hash": "69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c" + * } + * ] + */ + drep_metadata: { + /** @description Bech32 encoded addresses */ + drep_id: string; + /** @description The raw bytes of the DRep */ + hex: string; + /** + * @description URL to the drep metadata + * @example https://stakenuts.com/drep.json + */ + url: string | null; + /** + * @description Hash of the metadata file + * @example 69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c" + */ + hash: string | null; + }; + /** + * @example [ + * { + * "tx_hash": "f4097fbdb87ab7c7ab44b30d4e2b81713a058488975d1ab8b05c381dd946a393", + * "cert_index": 0, + * "action": "registered" + * }, + * { + * "tx_hash": "dd3243af975be4b5bedce4e5f5b483b2386d5ad207d05e0289c1df0eb261447e", + * "cert_index": 0, + * "action": "deregistered" + * } + * ] + */ + drep_updates: { + /** @description Transaction ID */ + tx_hash: string; + /** @description Certificate within the transaction */ + cert_index: number; + /** + * @description Action in the certificate + * @enum {string} + */ + action: "registered" | "deregistered"; + }[]; + /** + * @example [ + * { + * "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + * "cert_index": 2, + * "vote": "yes" + * }, + * { + * "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + * "cert_index": 3, + * "vote": "abstain" + * } + * ] + */ + drep_votes: { + /** @description Hash of the proposal transaction. */ + tx_hash: string; + /** @description Index of the certificate within the proposal transaction. */ + cert_index: number; + /** + * @description The Vote. Can be one of yes, no, abstain. + * @enum {string} + */ + vote: "yes" | "no" | "abstain"; + }[]; + /** + * @example [ + * { + * "tx_hash": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531", + * "cert_index": 1, + * "governance_type": "treasury_withdrawals" + * }, + * { + * "tx_hash": "71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60", + * "cert_index": 4, + * "governance_type": "no_confidence" + * } + * ] + */ + proposal_content: { + /** @description Hash of the proposal transaction. */ + tx_hash: string; + /** @description Index of the certificate within the proposal transaction. */ + cert_index: number; + /** + * @description Type of proposal. + * @enum {string} + */ + governance_type: + | "hard_fork_initiation" + | "new_committee" + | "new_constitution" + | "info_action" + | "no_confidence" + | "parameter_change" + | "treasury_withdrawals"; + }[]; + /** + * @example [ + * { + * "tx_hash": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531", + * "cert_index": 1, + * "governance_type": "treasury_withdrawals", + * "deposit": 12000, + * "return_address": "stake_test1urd3hs7rlxwwdzthe6hj026dmyt3y0heuulctscyydh2kgck6nkmz", + * "governance_description": "TreasuryWithdrawals (fromList [(RewardAcnt {getRwdNetwork = Testnet, getRwdCred = KeyHashObj (KeyHash \"71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60\")},Coin 20000000)])", + * "ratified_epoch": null, + * "enacted_epoch": 123, + * "dropped_epoch": null, + * "expired_epoch": null, + * "expiration": 120, + * "anchor_url": "https://gist.github.com/123", + * "anchor_hash": "50b340624d49823720505e3f0095be0d6cd8f26501e094a6ab9068dd" + * } + * ] + */ + proposal_details_content: { + /** @description Hash of the proposal transaction. */ + tx_hash: string; + /** @description Index of the certificate within the proposal transaction. */ + cert_index: number; + /** + * @description Type of proposal. + * @enum {string} + */ + governance_type: + | "hard_fork_initiation" + | "new_committee" + | "new_constitution" + | "info_action" + | "no_confidence" + | "parameter_change" + | "treasury_withdrawals"; + /** @description An object describing the content of this GovActionProposal in a readable way. */ + governance_description: { + [key: string]: unknown; + } | null; + /** @description The deposit amount paid for this proposal. */ + deposit: string; + /** @description Bech32 stake address of the reward address to receive the deposit when it is repaid. */ + return_address: string; + ratified_epoch: number | null; + enacted_epoch: number | null; + dropped_epoch: number | null; + expired_epoch: number | null; + /** @description Shows the epoch at which this governance action will expire. */ + expiration: number; + /** @description The URL of the offchain anchor data. */ + anchor_url: string | null; + /** @description The hash of the offchain anchor data. */ + anchor_hash: string | null; + }; + /** + * @example [ + * { + * "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + * "cert_index": 2, + * "voter_role": "drep", + * "voter": "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn", + * "vote": "yes" + * }, + * { + * "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + * "cert_index": 3, + * "voter_role": "constitutional_committee", + * "voter": "53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4", + * "vote": "abstain" + * } + * ] + */ + proposal_details_votes: { + /** @description Hash of the voting transaction. */ + tx_hash: string; + /** @description Index of the certificate within the voting transaction. */ + cert_index: number; + /** + * @description The role of the voter. Can be one of constitutional_committee, drep, spo. + * @enum {string} + */ + voter_role: "constitutional_committee" | "drep" | "spo"; + /** @description The actual voter. */ + voter: string; + /** + * @description The Vote. Can be one of yes, no, abstain. + * @enum {string} + */ + vote: "yes" | "no" | "abstain"; + }[]; + /** + * @example [ + * { + * "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + * "cert_index": 2, + * "voter_role": "spo", + * "voter": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy", + * "vote": "yes" + * }, + * { + * "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + * "cert_index": 3, + * "voter_role": "constitutional_committee", + * "voter": "53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4", + * "vote": "abstain" + * } + * ] + */ + vote_content: { + /** @description Hash of the proposal transaction. */ + tx_hash: string; + /** @description Index of the certificate within the proposal transaction. */ + cert_index: number; + /** + * @description The role of the voter. Can be one of constitutional_committee, drep, spo. + * @enum {string} + */ + voter_role: "constitutional_committee" | "drep" | "spo"; + /** @description The actual voter. */ + voter: string; + /** + * @description The Vote. Can be one of yes, no, abstain. + * @enum {string} + */ + vote: "yes" | "no" | "abstain"; + }[]; epoch_content: { /** * @description Epoch number @@ -4109,37 +4831,79 @@ export interface components { * @example 34482 */ coins_per_utxo_word: string | null; + /** @description Pool Voting threshold for motion of no-confidence. */ + pvt_motion_no_confidence: number | null; + /** @description Pool Voting threshold for new committee/threshold (normal state). */ + pvt_committee_normal: number | null; + /** @description Pool Voting threshold for new committee/threshold (state of no-confidence). */ + pvt_committee_no_confidence: number | null; + /** @description Pool Voting threshold for hard-fork initiation. */ + pvt_hard_fork_initiation: number | null; + /** @description DRep Vote threshold for motion of no-confidence. */ + dvt_motion_no_confidence: number | null; + /** @description DRep Vote threshold for new committee/threshold (normal state). */ + dvt_committee_normal: number | null; + /** @description DRep Vote threshold for new committee/threshold (state of no-confidence). */ + dvt_committee_no_confidence: number | null; + /** @description DRep Vote threshold for update to the Constitution. */ + dvt_update_to_constitution: number | null; + /** @description DRep Vote threshold for hard-fork initiation. */ + dvt_hard_fork_initiation: number | null; + /** @description DRep Vote threshold for protocol parameter changes, network group. */ + dvt_p_p_network_group: number | null; + /** @description DRep Vote threshold for protocol parameter changes, economic group. */ + dvt_p_p_economic_group: number | null; + /** @description DRep Vote threshold for protocol parameter changes, technical group. */ + dvt_p_p_technical_group: number | null; + /** @description DRep Vote threshold for protocol parameter changes, governance group. */ + dvt_p_p_gov_group: number | null; + /** @description DRep Vote threshold for treasury withdrawal. */ + dvt_treasury_withdrawal: number | null; + /** @description Minimal constitutional committee size. */ + committee_min_size: string | null; + /** @description Constitutional committee term limits. */ + committee_max_term_length: string | null; + /** @description Governance action expiration. */ + gov_action_lifetime: string | null; + /** @description Governance action deposit. */ + gov_action_deposit: string | null; + /** @description DRep deposit amount. */ + drep_deposit: string | null; + /** @description DRep activity period. */ + drep_activity: string | null; + /** @description The Tx table index for the transaction that contains this parameter proposal. */ + registered_tx_id: number | null; }; epoch_content_array: components["schemas"]["epoch_content"][]; epoch_stake_content: { - /** - * @description Stake address - * @example stake1u9l5q5jwgelgagzyt6nuaasefgmn8pd25c8e9qpeprq0tdcp0e3uk - */ - stake_address: string; - /** - * @description Bech32 prefix of the pool delegated to - * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy - */ - pool_id: string; - /** - * @description Amount of active delegated stake in Lovelaces - * @example 4440295078 - */ - amount: string; - }[]; + /** + * @description Stake address + * @example stake1u9l5q5jwgelgagzyt6nuaasefgmn8pd25c8e9qpeprq0tdcp0e3uk + */ + stake_address: string; + /** + * @description Bech32 prefix of the pool delegated to + * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + */ + pool_id: string; + /** + * @description Amount of active delegated stake in Lovelaces + * @example 4440295078 + */ + amount: string; + }[]; epoch_stake_pool_content: { - /** - * @description Stake address - * @example stake1u9l5q5jwgelgagzyt6nuaasefgmn8pd25c8e9qpeprq0tdcp0e3uk - */ - stake_address: string; - /** - * @description Amount of active delegated stake in Lovelaces - * @example 4440295078 - */ - amount: string; - }[]; + /** + * @description Stake address + * @example stake1u9l5q5jwgelgagzyt6nuaasefgmn8pd25c8e9qpeprq0tdcp0e3uk + */ + stake_address: string; + /** + * @description Amount of active delegated stake in Lovelaces + * @example 4440295078 + */ + amount: string; + }[]; /** * @example [ * "d0fa315687e99ccdc96b14cc2ea74a767405d64427b648c470731a9b69e4606e", @@ -4192,14 +4956,14 @@ export interface components { * ] */ output_amount: { - /** - * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name - * @description The unit of the value - */ - unit: string; - /** @description The quantity of the unit */ - quantity: string; - }[]; + /** + * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name + * @description The unit of the value + */ + unit: string; + /** @description The quantity of the unit */ + quantity: string; + }[]; /** * @description Fees of the transaction in Lovelaces * @example 182485 @@ -4282,327 +5046,327 @@ export interface components { * @example 1e043f100dce12d107f679685acd2fc0610e10f72a92d412794c9773d11d8477 */ hash: string; - inputs: ({ - /** - * @description Input address - * @example addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv - */ - address: string; - /** - * @example [ - * { - * "unit": "lovelace", - * "quantity": "42000000" - * }, - * { - * "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", - * "quantity": "12" - * } - * ] - */ - amount: { - /** - * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name - * @description The unit of the value - */ - unit: string; - /** @description The quantity of the unit */ - quantity: string; - }[]; - /** - * @description Hash of the UTXO transaction - * @example 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0 - */ - tx_hash: string; - /** - * @description UTXO index in the transaction - * @example 0 - */ - output_index: number; - /** - * @description The hash of the transaction output datum - * @example 9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710 - */ - data_hash: string | null; - /** - * @description CBOR encoded inline datum - * @example 19a6aa - */ - inline_datum: string | null; - /** - * @description The hash of the reference script of the input - * @example 13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1 - */ - reference_script_hash: string | null; - /** - * @description Whether the input is a collateral consumed on script validation failure - * @example false - */ - collateral: boolean; - /** - * @description Whether the input is a reference transaction input - * @example false - */ - reference?: boolean; - })[]; - outputs: ({ - /** - * @description Output address - * @example addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv - */ - address: string; - /** - * @example [ - * { - * "unit": "lovelace", - * "quantity": "42000000" - * }, - * { - * "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", - * "quantity": "12" - * } - * ] - */ - amount: { - /** - * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name - * @description The unit of the value - */ - unit: string; - /** @description The quantity of the unit */ - quantity: string; - }[]; - /** - * @description UTXO index in the transaction - * @example 0 - */ - output_index: number; - /** - * @description The hash of the transaction output datum - * @example 9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710 - */ - data_hash: string | null; - /** - * @description CBOR encoded inline datum - * @example 19a6aa - */ - inline_datum: string | null; - /** - * @description Whether the output is a collateral output - * @example false - */ - collateral: boolean; - /** - * @description The hash of the reference script of the output - * @example 13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1 - */ - reference_script_hash: string | null; - })[]; - }; - tx_content_stake_addr: { + inputs: { /** - * @description Index of the certificate within the transaction - * @example 0 + * @description Input address + * @example addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv */ - cert_index: number; + address: string; /** - * @description Delegation stake address - * @example stake1u9t3a0tcwune5xrnfjg4q7cpvjlgx9lcv0cuqf5mhfjwrvcwrulda + * @example [ + * { + * "unit": "lovelace", + * "quantity": "42000000" + * }, + * { + * "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + * "quantity": "12" + * } + * ] */ - address: string; + amount: { + /** + * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name + * @description The unit of the value + */ + unit: string; + /** @description The quantity of the unit */ + quantity: string; + }[]; /** - * @description Registration boolean, false if deregistration - * @example true + * @description Hash of the UTXO transaction + * @example 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0 */ - registration: boolean; - }[]; - tx_content_delegations: { + tx_hash: string; /** - * @deprecated - * @description Index of the certificate within the transaction + * @description UTXO index in the transaction * @example 0 */ - index: number; + output_index: number; + /** + * @description The hash of the transaction output datum + * @example 9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710 + */ + data_hash: string | null; /** - * @description Index of the certificate within the transaction - * @example 0 + * @description CBOR encoded inline datum + * @example 19a6aa */ - cert_index: number; + inline_datum: string | null; /** - * @description Bech32 delegation stake address - * @example stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc + * @description The hash of the reference script of the input + * @example 13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1 */ - address: string; + reference_script_hash: string | null; /** - * @description Bech32 ID of delegated stake pool - * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + * @description Whether the input is a collateral consumed on script validation failure + * @example false */ - pool_id: string; + collateral: boolean; /** - * @description Epoch in which the delegation becomes active - * @example 210 + * @description Whether the input is a reference transaction input + * @example false */ - active_epoch: number; + reference?: boolean; }[]; - tx_content_withdrawals: { + outputs: { /** - * @description Bech32 withdrawal address - * @example stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc + * @description Output address + * @example addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv */ address: string; /** - * @description Withdrawal amount in Lovelaces - * @example 431833601 + * @example [ + * { + * "unit": "lovelace", + * "quantity": "42000000" + * }, + * { + * "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + * "quantity": "12" + * } + * ] */ - amount: string; - }[]; - tx_content_mirs: ({ + amount: { + /** + * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name + * @description The unit of the value + */ + unit: string; + /** @description The quantity of the unit */ + quantity: string; + }[]; /** - * @description Source of MIR funds - * @example reserve - * @enum {string} + * @description UTXO index in the transaction + * @example 0 */ - pot: "reserve" | "treasury"; + output_index: number; /** - * @description Index of the certificate within the transaction - * @example 0 + * @description The hash of the transaction output datum + * @example 9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710 */ - cert_index: number; + data_hash: string | null; /** - * @description Bech32 stake address - * @example stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc + * @description CBOR encoded inline datum + * @example 19a6aa */ - address: string; + inline_datum: string | null; /** - * @description MIR amount in Lovelaces - * @example 431833601 + * @description Whether the output is a collateral output + * @example false */ - amount: string; - })[]; - tx_content_pool_certs: ({ + collateral: boolean; /** - * @description Index of the certificate within the transaction - * @example 0 + * @description The hash of the reference script of the output + * @example 13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1 */ - cert_index: number; + reference_script_hash: string | null; + }[]; + }; + tx_content_stake_addr: { + /** + * @description Index of the certificate within the transaction + * @example 0 + */ + cert_index: number; + /** + * @description Delegation stake address + * @example stake1u9t3a0tcwune5xrnfjg4q7cpvjlgx9lcv0cuqf5mhfjwrvcwrulda + */ + address: string; + /** + * @description Registration boolean, false if deregistration + * @example true + */ + registration: boolean; + }[]; + tx_content_delegations: { + /** + * @deprecated + * @description Index of the certificate within the transaction + * @example 0 + */ + index: number; + /** + * @description Index of the certificate within the transaction + * @example 0 + */ + cert_index: number; + /** + * @description Bech32 delegation stake address + * @example stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc + */ + address: string; + /** + * @description Bech32 ID of delegated stake pool + * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + */ + pool_id: string; + /** + * @description Epoch in which the delegation becomes active + * @example 210 + */ + active_epoch: number; + }[]; + tx_content_withdrawals: { + /** + * @description Bech32 withdrawal address + * @example stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc + */ + address: string; + /** + * @description Withdrawal amount in Lovelaces + * @example 431833601 + */ + amount: string; + }[]; + tx_content_mirs: { + /** + * @description Source of MIR funds + * @example reserve + * @enum {string} + */ + pot: "reserve" | "treasury"; + /** + * @description Index of the certificate within the transaction + * @example 0 + */ + cert_index: number; + /** + * @description Bech32 stake address + * @example stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc + */ + address: string; + /** + * @description MIR amount in Lovelaces + * @example 431833601 + */ + amount: string; + }[]; + tx_content_pool_certs: { + /** + * @description Index of the certificate within the transaction + * @example 0 + */ + cert_index: number; + /** + * @description Bech32 encoded pool ID + * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + */ + pool_id: string; + /** + * @description VRF key hash + * @example 0b5245f9934ec2151116fb8ec00f35fd00e0aa3b075c4ed12cce440f999d8233 + */ + vrf_key: string; + /** + * @description Stake pool certificate pledge in Lovelaces + * @example 5000000000 + */ + pledge: string; + /** + * @description Margin tax cost of the stake pool + * @example 0.05 + */ + margin_cost: number; + /** + * @description Fixed tax cost of the stake pool in Lovelaces + * @example 340000000 + */ + fixed_cost: string; + /** + * @description Bech32 reward account of the stake pool + * @example stake1uxkptsa4lkr55jleztw43t37vgdn88l6ghclfwuxld2eykgpgvg3f + */ + reward_account: string; + /** + * @example [ + * "stake1u98nnlkvkk23vtvf9273uq7cph5ww6u2yq2389psuqet90sv4xv9v" + * ] + */ + owners: string[]; + metadata: { /** - * @description Bech32 encoded pool ID - * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + * @description URL to the stake pool metadata + * @example https://stakenuts.com/mainnet.json */ - pool_id: string; + url: string | null; /** - * @description VRF key hash - * @example 0b5245f9934ec2151116fb8ec00f35fd00e0aa3b075c4ed12cce440f999d8233 + * @description Hash of the metadata file + * @example 47c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c */ - vrf_key: string; + hash: string | null; /** - * @description Stake pool certificate pledge in Lovelaces - * @example 5000000000 + * @description Ticker of the stake pool + * @example NUTS */ - pledge: string; + ticker: string | null; /** - * @description Margin tax cost of the stake pool - * @example 0.05 + * @description Name of the stake pool + * @example Stake Nuts */ - margin_cost: number; + name: string | null; /** - * @description Fixed tax cost of the stake pool in Lovelaces - * @example 340000000 + * @description Description of the stake pool + * @example The best pool ever */ - fixed_cost: string; + description: string | null; /** - * @description Bech32 reward account of the stake pool - * @example stake1uxkptsa4lkr55jleztw43t37vgdn88l6ghclfwuxld2eykgpgvg3f + * @description Home page of the stake pool + * @example https://stakentus.com/ */ - reward_account: string; + homepage: string | null; + } | null; + relays: { /** - * @example [ - * "stake1u98nnlkvkk23vtvf9273uq7cph5ww6u2yq2389psuqet90sv4xv9v" - * ] + * @description IPv4 address of the relay + * @example 4.4.4.4 */ - owners: string[]; - metadata: ({ - /** - * @description URL to the stake pool metadata - * @example https://stakenuts.com/mainnet.json - */ - url: string | null; - /** - * @description Hash of the metadata file - * @example 47c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c - */ - hash: string | null; - /** - * @description Ticker of the stake pool - * @example NUTS - */ - ticker: string | null; - /** - * @description Name of the stake pool - * @example Stake Nuts - */ - name: string | null; - /** - * @description Description of the stake pool - * @example The best pool ever - */ - description: string | null; - /** - * @description Home page of the stake pool - * @example https://stakentus.com/ - */ - homepage: string | null; - }) | null; - relays: ({ - /** - * @description IPv4 address of the relay - * @example 4.4.4.4 - */ - ipv4: string | null; - /** - * @description IPv6 address of the relay - * @example https://stakenuts.com/mainnet.json - */ - ipv6: string | null; - /** - * @description DNS name of the relay - * @example relay1.stakenuts.com - */ - dns: string | null; - /** - * @description DNS SRV entry of the relay - * @example _relays._tcp.relays.stakenuts.com - */ - dns_srv: string | null; - /** - * @description Network port of the relay - * @example 3001 - */ - port: number; - })[]; + ipv4: string | null; /** - * @description Epoch in which the update becomes active - * @example 210 + * @description IPv6 address of the relay + * @example https://stakenuts.com/mainnet.json */ - active_epoch: number; - })[]; - tx_content_pool_retires: { + ipv6: string | null; /** - * @description Index of the certificate within the transaction - * @example 0 + * @description DNS name of the relay + * @example relay1.stakenuts.com */ - cert_index: number; + dns: string | null; /** - * @description Bech32 stake pool ID - * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + * @description DNS SRV entry of the relay + * @example _relays._tcp.relays.stakenuts.com */ - pool_id: string; + dns_srv: string | null; /** - * @description Epoch in which the pool becomes retired - * @example 216 + * @description Network port of the relay + * @example 3001 */ - retiring_epoch: number; + port: number; }[]; + /** + * @description Epoch in which the update becomes active + * @example 210 + */ + active_epoch: number; + }[]; + tx_content_pool_retires: { + /** + * @description Index of the certificate within the transaction + * @example 0 + */ + cert_index: number; + /** + * @description Bech32 stake pool ID + * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + */ + pool_id: string; + /** + * @description Epoch in which the pool becomes retired + * @example 216 + */ + retiring_epoch: number; + }[]; /** * @example [ * { @@ -4626,13 +5390,18 @@ export interface components { * ] */ tx_content_metadata: { - /** @description Metadata label */ - label: string; - /** @description Content of the metadata */ - json_metadata: OneOf<[string, { - [key: string]: unknown; - }]>; - }[]; + /** @description Metadata label */ + label: string; + /** @description Content of the metadata */ + json_metadata: OneOf< + [ + string, + { + [key: string]: unknown; + }, + ] + >; + }[]; /** * @example [ * { @@ -4642,68 +5411,68 @@ export interface components { * } * ] */ - tx_content_metadata_cbor: ({ - /** @description Metadata label */ - label: string; - /** - * @deprecated - * @description Content of the CBOR metadata - */ - cbor_metadata: string | null; - /** @description Content of the CBOR metadata in hex */ - metadata: string | null; - })[]; - tx_content_redeemers: ({ - /** - * @description Index of the redeemer within the transaction - * @example 0 - */ - tx_index: number; - /** - * @description Validation purpose - * @example spend - * @enum {string} - */ - purpose: "spend" | "mint" | "cert" | "reward"; - /** - * @description Script hash - * @example ec26b89af41bef0f7585353831cb5da42b5b37185e0c8a526143b824 - */ - script_hash: string; - /** - * @description Redeemer data hash - * @example 923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec - */ - redeemer_data_hash: string; - /** - * @deprecated - * @description Datum hash - * @example 923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec - */ - datum_hash: string; - /** - * @description The budget in Memory to run a script - * @example 1700 - */ - unit_mem: string; - /** - * @description The budget in CPU steps to run a script - * @example 476468 - */ - unit_steps: string; - /** - * @description The fee consumed to run the script - * @example 172033 - */ - fee: string; - })[]; + tx_content_metadata_cbor: { + /** @description Metadata label */ + label: string; + /** + * @deprecated + * @description Content of the CBOR metadata + */ + cbor_metadata: string | null; + /** @description Content of the CBOR metadata in hex */ + metadata: string | null; + }[]; + tx_content_redeemers: { + /** + * @description Index of the redeemer within the transaction + * @example 0 + */ + tx_index: number; + /** + * @description Validation purpose + * @example spend + * @enum {string} + */ + purpose: "spend" | "mint" | "cert" | "reward"; + /** + * @description Script hash + * @example ec26b89af41bef0f7585353831cb5da42b5b37185e0c8a526143b824 + */ + script_hash: string; + /** + * @description Redeemer data hash + * @example 923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec + */ + redeemer_data_hash: string; + /** + * @deprecated + * @description Datum hash + * @example 923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec + */ + datum_hash: string; + /** + * @description The budget in Memory to run a script + * @example 1700 + */ + unit_mem: string; + /** + * @description The budget in CPU steps to run a script + * @example 476468 + */ + unit_steps: string; + /** + * @description The fee consumed to run the script + * @example 172033 + */ + fee: string; + }[]; tx_content_required_signers: { - /** - * @description Hash of the witness - * @example d52e11f3e48436dd42dbec6d88c239732e503b8b7a32af58e5f87625 - */ - witness_hash: string; - }[]; + /** + * @description Hash of the witness + * @example d52e11f3e48436dd42dbec6d88c239732e503b8b7a32af58e5f87625 + */ + witness_hash: string; + }[]; /** * @example { * "cbor": "84a40081825820203e5b61e0949ffc8fe594727cf7ed73c7396cc2bd212af9a680c9423b5880eb00018282583900f0c60254ecb0addd4c7e40c28fd05b65014ab4c8ecece06c7dcee5a0724bf93336a8225e7ef152b41aea955173be91af19250edea1ddafab1a000f42408258390014beadb876d0a2a593fe2f1b539389e00731290910170e9a1be78e847d2ccdc7af469706878018739bcfde9ae23f009c4ae38aee0a4b4f3a1b0000000253fa0f93021a0002922d031a0303c827a100818258207d3ae39f9a1c916ac7c13f10c7d67c70b870c286a1af71485455c5022a3f391d5840e2f481acd1601a3f39fa976317bba685ddd774621a92611edaaa3df9f48a3b13d8b25ecb2f28b031c1602512418efed3033e463a0dcd22a856c808033cc9e00ff5f6" @@ -4760,10 +5529,15 @@ export interface components { */ withdrawable_amount: string; /** - * @description Bech32 pool ID that owns the account + * @description Bech32 pool ID to which this account is delegated * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy */ pool_id: string | null; + /** + * @description Bech32 drep ID to which this account is delegated + * @example drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + */ + drep_id: string | null; }; /** * @example [ @@ -4805,19 +5579,19 @@ export interface components { * } * ] */ - account_reward_content: ({ - /** @description Epoch of the associated reward */ - epoch: number; - /** @description Rewards for given epoch in Lovelaces */ - amount: string; - /** @description Bech32 pool ID being delegated to */ - pool_id: string; - /** - * @description Type of the reward - * @enum {string} - */ - type: "leader" | "member" | "pool_deposit_refund"; - })[]; + account_reward_content: { + /** @description Epoch of the associated reward */ + epoch: number; + /** @description Rewards for given epoch in Lovelaces */ + amount: string; + /** @description Bech32 pool ID being delegated to */ + pool_id: string; + /** + * @description Type of the reward + * @enum {string} + */ + type: "leader" | "member" | "pool_deposit_refund"; + }[]; /** * @example [ * { @@ -4833,16 +5607,16 @@ export interface components { * ] */ account_history_content: { - /** - * @description Epoch in which the stake was active - * @example 210 - */ - active_epoch: number; - /** @description Stake amount in Lovelaces */ - amount: string; - /** @description Bech32 ID of pool being delegated to */ - pool_id: string; - }[]; + /** + * @description Epoch in which the stake was active + * @example 210 + */ + active_epoch: number; + /** @description Stake amount in Lovelaces */ + amount: string; + /** @description Bech32 ID of pool being delegated to */ + pool_id: string; + }[]; /** * @example [ * { @@ -4860,18 +5634,18 @@ export interface components { * ] */ account_delegation_content: { - /** - * @description Epoch in which the delegation becomes active - * @example 210 - */ - active_epoch: number; - /** @description Hash of the transaction containing the delegation */ - tx_hash: string; - /** @description Rewards for given epoch in Lovelaces */ - amount: string; - /** @description Bech32 ID of pool being delegated to */ - pool_id: string; - }[]; + /** + * @description Epoch in which the delegation becomes active + * @example 210 + */ + active_epoch: number; + /** @description Hash of the transaction containing the delegation */ + tx_hash: string; + /** @description Rewards for given epoch in Lovelaces */ + amount: string; + /** @description Bech32 ID of pool being delegated to */ + pool_id: string; + }[]; /** * @example [ * { @@ -4884,15 +5658,15 @@ export interface components { * } * ] */ - account_registration_content: ({ - /** @description Hash of the transaction containing the (de)registration certificate */ - tx_hash: string; - /** - * @description Action in the certificate - * @enum {string} - */ - action: "registered" | "deregistered"; - })[]; + account_registration_content: { + /** @description Hash of the transaction containing the (de)registration certificate */ + tx_hash: string; + /** + * @description Action in the certificate + * @enum {string} + */ + action: "registered" | "deregistered"; + }[]; /** * @example [ * { @@ -4906,11 +5680,11 @@ export interface components { * ] */ account_withdrawal_content: { - /** @description Hash of the transaction containing the withdrawal */ - tx_hash: string; - /** @description Withdrawal amount in Lovelaces */ - amount: string; - }[]; + /** @description Hash of the transaction containing the withdrawal */ + tx_hash: string; + /** @description Withdrawal amount in Lovelaces */ + amount: string; + }[]; /** * @example [ * { @@ -4924,11 +5698,11 @@ export interface components { * ] */ account_mir_content: { - /** @description Hash of the transaction containing the MIR */ - tx_hash: string; - /** @description MIR amount in Lovelaces */ - amount: string; - }[]; + /** @description Hash of the transaction containing the MIR */ + tx_hash: string; + /** @description MIR amount in Lovelaces */ + amount: string; + }[]; /** * @example [ * { @@ -4946,9 +5720,9 @@ export interface components { * ] */ account_addresses_content: { - /** @description Address associated with the stake key */ - address: string; - }[]; + /** @description Address associated with the stake key */ + address: string; + }[]; /** * @example [ * { @@ -4962,14 +5736,14 @@ export interface components { * ] */ account_addresses_assets: { - /** - * Format: Concatenation of asset policy_id and hex-encoded asset_name - * @description The unit of the value - */ - unit: string; - /** @description The quantity of the unit */ - quantity: string; - }[]; + /** + * Format: Concatenation of asset policy_id and hex-encoded asset_name + * @description The unit of the value + */ + unit: string; + /** @description The quantity of the unit */ + quantity: string; + }[]; account_addresses_total: { /** * @description Bech32 encoded stake address @@ -4989,14 +5763,14 @@ export interface components { * ] */ received_sum: { - /** - * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name - * @description The unit of the value - */ - unit: string; - /** @description The quantity of the unit */ - quantity: string; - }[]; + /** + * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name + * @description The unit of the value + */ + unit: string; + /** @description The quantity of the unit */ + quantity: string; + }[]; /** * @example [ * { @@ -5010,14 +5784,14 @@ export interface components { * ] */ sent_sum: { - /** - * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name - * @description The unit of the value - */ - unit: string; - /** @description The quantity of the unit */ - quantity: string; - }[]; + /** + * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name + * @description The unit of the value + */ + unit: string; + /** @description The quantity of the unit */ + quantity: string; + }[]; /** * @description Count of all transactions for all addresses associated with the account * @example 12 @@ -5032,9 +5806,9 @@ export interface components { * ] */ mempool_content: { - /** @description Hash of the transaction */ - tx_hash: string; - }[]; + /** @description Hash of the transaction */ + tx_hash: string; + }[]; mempool_tx_content: { tx: { /** @@ -5055,14 +5829,14 @@ export interface components { * ] */ output_amount: { - /** - * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name - * @description The unit of the value - */ - unit: string; - /** @description The quantity of the unit */ - quantity: string; - }[]; + /** + * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name + * @description The unit of the value + */ + unit: string; + /** @description The quantity of the unit */ + quantity: string; + }[]; /** * @description Fees of the transaction in Lovelaces * @example 182485 @@ -5107,141 +5881,141 @@ export interface components { * @description Count of the delegations within the transaction * @example 0 */ - delegation_count: number; + delegation_count: number; + /** + * @description Count of the stake keys (de)registration within the transaction + * @example 0 + */ + stake_cert_count: number; + /** + * @description Count of the stake pool registration and update certificates within the transaction + * @example 0 + */ + pool_update_count: number; + /** + * @description Count of the stake pool retirement certificates within the transaction + * @example 0 + */ + pool_retire_count: number; + /** + * @description Count of asset mints and burns within the transaction + * @example 0 + */ + asset_mint_or_burn_count: number; + /** + * @description Count of redeemers within the transaction + * @example 0 + */ + redeemer_count: number; + /** + * @description True if contract script passed validation + * @example true + */ + valid_contract: boolean; + }; + inputs: { + /** + * @description Input address + * @example addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv + */ + address?: string; + /** + * @description Hash of the UTXO transaction + * @example 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0 + */ + tx_hash: string; + /** + * @description UTXO index in the transaction + * @example 0 + */ + output_index: number; + /** + * @description Whether the input is a collateral consumed on script validation failure + * @example false + */ + collateral: boolean; + /** + * @description Whether the input is a reference transaction input + * @example false + */ + reference?: boolean; + }[]; + outputs: { + /** + * @description Output address + * @example addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv + */ + address: string; + /** + * @example [ + * { + * "unit": "lovelace", + * "quantity": "42000000" + * }, + * { + * "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", + * "quantity": "12" + * } + * ] + */ + amount: { + /** + * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name + * @description The unit of the value + */ + unit: string; + /** @description The quantity of the unit */ + quantity: string; + }[]; + /** + * @description UTXO index in the transaction + * @example 0 + */ + output_index: number; + /** + * @description The hash of the transaction output datum + * @example 9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710 + */ + data_hash: string | null; + /** + * @description CBOR encoded inline datum + * @example 19a6aa + */ + inline_datum: string | null; /** - * @description Count of the stake keys (de)registration within the transaction - * @example 0 + * @description Whether the output is a collateral output + * @example false */ - stake_cert_count: number; + collateral: boolean; /** - * @description Count of the stake pool registration and update certificates within the transaction - * @example 0 + * @description The hash of the reference script of the output + * @example 13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1 */ - pool_update_count: number; + reference_script_hash: string | null; + }[]; + redeemers?: { /** - * @description Count of the stake pool retirement certificates within the transaction + * @description Index of the redeemer within the transaction * @example 0 */ - pool_retire_count: number; + tx_index: number; /** - * @description Count of asset mints and burns within the transaction - * @example 0 + * @description Validation purpose + * @example spend + * @enum {string} */ - asset_mint_or_burn_count: number; + purpose: "spend" | "mint" | "cert" | "reward"; /** - * @description Count of redeemers within the transaction - * @example 0 + * @description The budget in Memory to run a script + * @example 1700 */ - redeemer_count: number; + unit_mem: string; /** - * @description True if contract script passed validation - * @example true + * @description The budget in CPU steps to run a script + * @example 476468 */ - valid_contract: boolean; - }; - inputs: { - /** - * @description Input address - * @example addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv - */ - address?: string; - /** - * @description Hash of the UTXO transaction - * @example 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0 - */ - tx_hash: string; - /** - * @description UTXO index in the transaction - * @example 0 - */ - output_index: number; - /** - * @description Whether the input is a collateral consumed on script validation failure - * @example false - */ - collateral: boolean; - /** - * @description Whether the input is a reference transaction input - * @example false - */ - reference?: boolean; - }[]; - outputs: ({ - /** - * @description Output address - * @example addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv - */ - address: string; - /** - * @example [ - * { - * "unit": "lovelace", - * "quantity": "42000000" - * }, - * { - * "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", - * "quantity": "12" - * } - * ] - */ - amount: { - /** - * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name - * @description The unit of the value - */ - unit: string; - /** @description The quantity of the unit */ - quantity: string; - }[]; - /** - * @description UTXO index in the transaction - * @example 0 - */ - output_index: number; - /** - * @description The hash of the transaction output datum - * @example 9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710 - */ - data_hash: string | null; - /** - * @description CBOR encoded inline datum - * @example 19a6aa - */ - inline_datum: string | null; - /** - * @description Whether the output is a collateral output - * @example false - */ - collateral: boolean; - /** - * @description The hash of the reference script of the output - * @example 13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1 - */ - reference_script_hash: string | null; - })[]; - redeemers?: ({ - /** - * @description Index of the redeemer within the transaction - * @example 0 - */ - tx_index: number; - /** - * @description Validation purpose - * @example spend - * @enum {string} - */ - purpose: "spend" | "mint" | "cert" | "reward"; - /** - * @description The budget in Memory to run a script - * @example 1700 - */ - unit_mem: string; - /** - * @description The budget in CPU steps to run a script - * @example 476468 - */ - unit_steps: string; - })[]; + unit_steps: string; + }[]; }; /** * @example [ @@ -5251,9 +6025,9 @@ export interface components { * ] */ mempool_addresses_content: { - /** @description Hash of the transaction */ - tx_hash: string; - }[]; + /** @description Hash of the transaction */ + tx_hash: string; + }[]; /** * @example [ * { @@ -5273,14 +6047,14 @@ export interface components { * } * ] */ - tx_metadata_labels: ({ - /** @description Metadata label */ - label: string; - /** @description CIP10 defined description */ - cip10: string | null; - /** @description The count of metadata entries with a specific label */ - count: string; - })[]; + tx_metadata_labels: { + /** @description Metadata label */ + label: string; + /** @description CIP10 defined description */ + cip10: string | null; + /** @description The count of metadata entries with a specific label */ + count: string; + }[]; /** * @example [ * { @@ -5311,14 +6085,20 @@ export interface components { * } * ] */ - tx_metadata_label_json: ({ - /** @description Transaction hash that contains the specific metadata */ - tx_hash: string; - /** @description Content of the JSON metadata */ - json_metadata: string | { - [key: string]: unknown; - } | unknown[] | number | boolean | null; - })[]; + tx_metadata_label_json: { + /** @description Transaction hash that contains the specific metadata */ + tx_hash: string; + /** @description Content of the JSON metadata */ + json_metadata: + | string + | { + [key: string]: unknown; + } + | unknown[] + | number + | boolean + | null; + }[]; /** * @example [ * { @@ -5338,17 +6118,17 @@ export interface components { * } * ] */ - tx_metadata_label_cbor: ({ - /** @description Transaction hash that contains the specific metadata */ - tx_hash: string; - /** - * @deprecated - * @description Content of the CBOR metadata - */ - cbor_metadata: string | null; - /** @description Content of the CBOR metadata in hex */ - metadata: string | null; - })[]; + tx_metadata_label_cbor: { + /** @description Transaction hash that contains the specific metadata */ + tx_hash: string; + /** + * @deprecated + * @description Content of the CBOR metadata + */ + cbor_metadata: string | null; + /** @description Content of the CBOR metadata in hex */ + metadata: string | null; + }[]; address_content: { /** * @description Bech32 encoded addresses @@ -5368,14 +6148,14 @@ export interface components { * ] */ amount: { - /** - * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name - * @description The unit of the value - */ - unit: string; - /** @description The quantity of the unit */ - quantity: string; - }[]; + /** + * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name + * @description The unit of the value + */ + unit: string; + /** @description The quantity of the unit */ + quantity: string; + }[]; /** * @description Stake address that controls the key * @example stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7 @@ -5415,19 +6195,19 @@ export interface components { * } * ] */ - amount: ({ - /** - * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name - * @description The unit of the value - */ - unit: string; - /** @description The quantity of the unit */ - quantity: string; - /** @description Number of decimal places of the asset unit. Primary data source is CIP68 reference NFT with a fallback to off-chain metadata. */ - decimals: number | null; - /** @description True if the latest minting transaction includes metadata (best-effort) */ - has_nft_onchain_metadata: boolean; - })[]; + amount: { + /** + * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name + * @description The unit of the value + */ + unit: string; + /** @description The quantity of the unit */ + quantity: string; + /** @description Number of decimal places of the asset unit. Primary data source is CIP68 reference NFT with a fallback to off-chain metadata. */ + decimals: number | null; + /** @description True if the latest minting transaction includes metadata (best-effort) */ + has_nft_onchain_metadata: boolean; + }[]; /** * @description Stake address that controls the key * @example stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7 @@ -5464,14 +6244,14 @@ export interface components { * ] */ received_sum: { - /** - * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name - * @description The unit of the value - */ - unit: string; - /** @description The quantity of the unit */ - quantity: string; - }[]; + /** + * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name + * @description The unit of the value + */ + unit: string; + /** @description The quantity of the unit */ + quantity: string; + }[]; /** * @example [ * { @@ -5485,14 +6265,14 @@ export interface components { * ] */ sent_sum: { - /** - * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name - * @description The unit of the value - */ - unit: string; - /** @description The quantity of the unit */ - quantity: string; - }[]; + /** + * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name + * @description The unit of the value + */ + unit: string; + /** @description The quantity of the unit */ + quantity: string; + }[]; /** * @description Count of all transactions on the address * @example 12 @@ -5552,45 +6332,45 @@ export interface components { * } * ] */ - address_utxo_content: ({ - /** - * @description Bech32 encoded addresses - useful when querying by payment_cred - * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - */ - address: string; - /** @description Transaction hash of the UTXO */ - tx_hash: string; - /** - * @deprecated - * @description UTXO index in the transaction - */ - tx_index: number; - /** @description UTXO index in the transaction */ - output_index: number; - amount: { - /** - * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name - * @description The unit of the value - */ - unit: string; - /** @description The quantity of the unit */ - quantity: string; - }[]; - /** @description Block hash of the UTXO */ - block: string; - /** @description The hash of the transaction output datum */ - data_hash: string | null; - /** - * @description CBOR encoded inline datum - * @example 19a6aa - */ - inline_datum: string | null; + address_utxo_content: { + /** + * @description Bech32 encoded addresses - useful when querying by payment_cred + * @example addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + */ + address: string; + /** @description Transaction hash of the UTXO */ + tx_hash: string; + /** + * @deprecated + * @description UTXO index in the transaction + */ + tx_index: number; + /** @description UTXO index in the transaction */ + output_index: number; + amount: { /** - * @description The hash of the reference script of the output - * @example 13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1 + * Format: Lovelace or concatenation of asset policy_id and hex-encoded asset_name + * @description The unit of the value */ - reference_script_hash: string | null; - })[]; + unit: string; + /** @description The quantity of the unit */ + quantity: string; + }[]; + /** @description Block hash of the UTXO */ + block: string; + /** @description The hash of the transaction output datum */ + data_hash: string | null; + /** + * @description CBOR encoded inline datum + * @example 19a6aa + */ + inline_datum: string | null; + /** + * @description The hash of the reference script of the output + * @example 13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1 + */ + reference_script_hash: string | null; + }[]; /** * @example [ * "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531", @@ -5621,15 +6401,15 @@ export interface components { * ] */ address_transactions_content: { - /** @description Hash of the transaction */ - tx_hash: string; - /** @description Transaction index within the block */ - tx_index: number; - /** @description Block height */ - block_height: number; - /** @description Block creation time in UNIX time */ - block_time: number; - }[]; + /** @description Hash of the transaction */ + tx_hash: string; + /** @description Transaction index within the block */ + tx_index: number; + /** @description Block height */ + block_height: number; + /** @description Block creation time in UNIX time */ + block_time: number; + }[]; /** * @example [ * "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy", @@ -5661,27 +6441,27 @@ export interface components { * ] */ pool_list_extended: { - /** - * @description Bech32 encoded pool ID - * @example pool1z5uqdk7dzdxaae5633fqfcu2eqzy3a3rgtuvy087fdld7yws0xt - */ - pool_id: string; - /** - * @description Hexadecimal pool ID. - * @example 0f292fcaa02b8b2f9b3c8f9fd8e0bb21abedb692a6d5058df3ef2735 - */ - hex: string; - /** - * @description Active delegated amount - * @example 4200000000 - */ - active_stake: string; - /** - * @description Currently delegated amount - * @example 6900000000 - */ - live_stake: string; - }[]; + /** + * @description Bech32 encoded pool ID + * @example pool1z5uqdk7dzdxaae5633fqfcu2eqzy3a3rgtuvy087fdld7yws0xt + */ + pool_id: string; + /** + * @description Hexadecimal pool ID. + * @example 0f292fcaa02b8b2f9b3c8f9fd8e0bb21abedb692a6d5058df3ef2735 + */ + hex: string; + /** + * @description Active delegated amount + * @example 4200000000 + */ + active_stake: string; + /** + * @description Currently delegated amount + * @example 6900000000 + */ + live_stake: string; + }[]; /** * @example [ * { @@ -5699,17 +6479,17 @@ export interface components { * ] */ pool_list_retire: { - /** - * @description Bech32 encoded pool ID - * @example pool1z5uqdk7dzdxaae5633fqfcu2eqzy3a3rgtuvy087fdld7yws0xt - */ - pool_id: string; - /** - * @description Retirement epoch number - * @example 242 - */ - epoch: number; - }[]; + /** + * @description Bech32 encoded pool ID + * @example pool1z5uqdk7dzdxaae5633fqfcu2eqzy3a3rgtuvy087fdld7yws0xt + */ + pool_id: string; + /** + * @description Retirement epoch number + * @example 242 + */ + epoch: number; + }[]; pool: { /** * @description Bech32 pool ID @@ -5778,54 +6558,54 @@ export interface components { * "stake1u98nnlkvkk23vtvf9273uq7cph5ww6u2yq2389psuqet90sv4xv9v" * ] */ - owners: string[]; + owners: string[]; + /** + * @example [ + * "9f83e5484f543e05b52e99988272a31da373f3aab4c064c76db96643a355d9dc", + * "7ce3b8c433bf401a190d58c8c483d8e3564dfd29ae8633c8b1b3e6c814403e95", + * "3e6e1200ce92977c3fe5996bd4d7d7e192bcb7e231bc762f9f240c76766535b9" + * ] + */ + registration: string[]; + retirement: string[]; + }; + pool_history: { + /** + * @description Epoch number + * @example 233 + */ + epoch: number; + /** + * @description Number of blocks created by pool + * @example 22 + */ + blocks: number; + /** + * @description Active (Snapshot of live stake 2 epochs ago) stake in Lovelaces + * @example 20485965693569 + */ + active_stake: string; + /** + * @description Pool size (percentage) of overall active stake at that epoch + * @example 1.2345 + */ + active_size: number; + /** + * @description Number of delegators for epoch + * @example 115 + */ + delegators_count: number; /** - * @example [ - * "9f83e5484f543e05b52e99988272a31da373f3aab4c064c76db96643a355d9dc", - * "7ce3b8c433bf401a190d58c8c483d8e3564dfd29ae8633c8b1b3e6c814403e95", - * "3e6e1200ce92977c3fe5996bd4d7d7e192bcb7e231bc762f9f240c76766535b9" - * ] + * @description Total rewards received before distribution to delegators + * @example 206936253674159 */ - registration: string[]; - retirement: string[]; - }; - pool_history: { - /** - * @description Epoch number - * @example 233 - */ - epoch: number; - /** - * @description Number of blocks created by pool - * @example 22 - */ - blocks: number; - /** - * @description Active (Snapshot of live stake 2 epochs ago) stake in Lovelaces - * @example 20485965693569 - */ - active_stake: string; - /** - * @description Pool size (percentage) of overall active stake at that epoch - * @example 1.2345 - */ - active_size: number; - /** - * @description Number of delegators for epoch - * @example 115 - */ - delegators_count: number; - /** - * @description Total rewards received before distribution to delegators - * @example 206936253674159 - */ - rewards: string; - /** - * @description Pool operator rewards - * @example 1290968354 - */ - fees: string; - }[]; + rewards: string; + /** + * @description Pool operator rewards + * @example 1290968354 + */ + fees: string; + }[]; pool_metadata: { /** * @description Bech32 pool ID @@ -5869,33 +6649,33 @@ export interface components { homepage: string | null; }; empty_object: Record; - pool_relays: ({ - /** - * @description IPv4 address of the relay - * @example 4.4.4.4 - */ - ipv4: string | null; - /** - * @description IPv6 address of the relay - * @example https://stakenuts.com/mainnet.json - */ - ipv6: string | null; - /** - * @description DNS name of the relay - * @example relay1.stakenuts.com - */ - dns: string | null; - /** - * @description DNS SRV entry of the relay - * @example _relays._tcp.relays.stakenuts.com - */ - dns_srv: string | null; - /** - * @description Network port of the relay - * @example 3001 - */ - port: number; - })[]; + pool_relays: { + /** + * @description IPv4 address of the relay + * @example 4.4.4.4 + */ + ipv4: string | null; + /** + * @description IPv6 address of the relay + * @example https://stakenuts.com/mainnet.json + */ + ipv6: string | null; + /** + * @description DNS name of the relay + * @example relay1.stakenuts.com + */ + dns: string | null; + /** + * @description DNS SRV entry of the relay + * @example _relays._tcp.relays.stakenuts.com + */ + dns_srv: string | null; + /** + * @description Network port of the relay + * @example 3001 + */ + port: number; + }[]; /** * @example [ * { @@ -5913,11 +6693,11 @@ export interface components { * ] */ pool_delegators: { - /** @description Bech32 encoded stake addresses */ - address: string; - /** @description Currently delegated amount */ - live_stake: string; - }[]; + /** @description Bech32 encoded stake addresses */ + address: string; + /** @description Currently delegated amount */ + live_stake: string; + }[]; /** * @example [ * "d8982ca42cfe76b747cc681d35d671050a9e41e9cfe26573eb214e94fe6ff21d", @@ -5946,17 +6726,37 @@ export interface components { * } * ] */ - pool_updates: ({ - /** @description Transaction ID */ - tx_hash: string; - /** @description Certificate within the transaction */ - cert_index: number; - /** - * @description Action in the certificate - * @enum {string} - */ - action: "registered" | "deregistered"; - })[]; + pool_updates: { + /** @description Transaction ID */ + tx_hash: string; + /** @description Certificate within the transaction */ + cert_index: number; + /** + * @description Action in the certificate + * @enum {string} + */ + action: "registered" | "deregistered"; + }[]; + /** + * @example [ + * { + * "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + * "cert_index": 2, + * "vote": "yes" + * } + * ] + */ + pool_votes: { + /** @description Hash of the proposal transaction. */ + tx_hash: string; + /** @description Index of the certificate within the proposal transaction. */ + cert_index: number; + /** + * @description The Vote. Can be one of yes, no, abstain. + * @enum {string} + */ + vote: "yes" | "no" | "abstain"; + }[]; /** * @example [ * { @@ -5974,14 +6774,14 @@ export interface components { * ] */ assets: { - /** - * Format: Concatenation of the policy_id and hex-encoded asset_name - * @description Asset identifier - */ - asset: string; - /** @description Current asset quantity */ - quantity: string; - }[]; + /** + * Format: Concatenation of the policy_id and hex-encoded asset_name + * @description Asset identifier + */ + asset: string; + /** @description Current asset quantity */ + quantity: string; + }[]; asset: { /** * @description Hex-encoded asset full name @@ -6032,7 +6832,12 @@ export interface components { * * @enum {string|null} */ - onchain_metadata_standard?: "CIP25v1" | "CIP25v2" | "CIP68v1" | "CIP68v2" | null; + onchain_metadata_standard?: + | "CIP25v1" + | "CIP25v2" + | "CIP68v1" + | "CIP68v2" + | null; /** @description Arbitrary plutus data (CIP68). */ onchain_metadata_extra?: string | null; /** @@ -6040,7 +6845,7 @@ export interface components { * Mainnet: https://github.com/cardano-foundation/cardano-token-registry/ * Testnet: https://github.com/input-output-hk/metadata-registry-testnet/ */ - metadata: ({ + metadata: { /** * @description Asset name * @example nutcoin @@ -6068,7 +6873,7 @@ export interface components { * @example 6 */ decimals: number | null; - }) | null; + } | null; }; /** * @example [ @@ -6089,17 +6894,17 @@ export interface components { * } * ] */ - asset_history: ({ - /** @description Hash of the transaction containing the asset action */ - tx_hash: string; - /** - * @description Action executed upon the asset policy - * @enum {string} - */ - action: "minted" | "burned"; - /** @description Asset amount of the specific action */ - amount: string; - })[]; + asset_history: { + /** @description Hash of the transaction containing the asset action */ + tx_hash: string; + /** + * @description Action executed upon the asset policy + * @enum {string} + */ + action: "minted" | "burned"; + /** @description Asset amount of the specific action */ + amount: string; + }[]; /** * @example [ * "8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b", @@ -6131,18 +6936,18 @@ export interface components { * ] */ asset_transactions: { - /** @description Hash of the transaction */ - tx_hash: string; - /** @description Transaction index within the block */ - tx_index: number; - /** @description Block height */ - block_height: number; - /** - * @description Block creation time in UNIX time - * @example 1635505891 - */ - block_time: number; - }[]; + /** @description Hash of the transaction */ + tx_hash: string; + /** @description Transaction index within the block */ + tx_index: number; + /** @description Block height */ + block_height: number; + /** + * @description Block creation time in UNIX time + * @example 1635505891 + */ + block_time: number; + }[]; /** * @example [ * { @@ -6160,11 +6965,11 @@ export interface components { * ] */ asset_addresses: { - /** @description Address containing the specific asset */ - address: string; - /** @description Asset quantity on the specific address */ - quantity: string; - }[]; + /** @description Address containing the specific asset */ + address: string; + /** @description Asset quantity on the specific address */ + quantity: string; + }[]; /** * @example [ * { @@ -6182,11 +6987,11 @@ export interface components { * ] */ asset_policy: { - /** @description Concatenation of the policy_id and hex-encoded asset_name */ - asset: string; - /** @description Current asset quantity */ - quantity: string; - }[]; + /** @description Concatenation of the policy_id and hex-encoded asset_name */ + asset: string; + /** @description Current asset quantity */ + quantity: string; + }[]; /** * @example [ * { @@ -6201,9 +7006,9 @@ export interface components { * ] */ scripts: { - /** @description Script hash */ - script_hash: string; - }[]; + /** @description Script hash */ + script_hash: string; + }[]; script: { /** * @description Script hash @@ -6246,9 +7051,15 @@ export interface components { */ script_json: { /** @description JSON contents of the `timelock` script, null for `plutus` scripts */ - json: string | { - [key: string]: unknown; - } | unknown[] | number | boolean | null; + json: + | string + | { + [key: string]: unknown; + } + | unknown[] + | number + | boolean + | null; }; /** * @example { @@ -6259,50 +7070,50 @@ export interface components { /** @description CBOR contents of the `plutus` script, null for `timelocks` */ cbor: string | null; }; - script_redeemers: ({ - /** - * @description Hash of the transaction - * @example 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0 - */ - tx_hash: string; - /** - * @description The index of the redeemer pointer in the transaction - * @example 0 - */ - tx_index: number; - /** - * @description Validation purpose - * @example spend - * @enum {string} - */ - purpose: "spend" | "mint" | "cert" | "reward"; - /** - * @description Datum hash of the redeemer - * @example 923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec - */ - redeemer_data_hash: string; - /** - * @deprecated - * @description Datum hash - * @example 923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec - */ - datum_hash: string; - /** - * @description The budget in Memory to run a script - * @example 1700 - */ - unit_mem: string; - /** - * @description The budget in CPU steps to run a script - * @example 476468 - */ - unit_steps: string; - /** - * @description The fee consumed to run the script - * @example 172033 - */ - fee: string; - })[]; + script_redeemers: { + /** + * @description Hash of the transaction + * @example 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0 + */ + tx_hash: string; + /** + * @description The index of the redeemer pointer in the transaction + * @example 0 + */ + tx_index: number; + /** + * @description Validation purpose + * @example spend + * @enum {string} + */ + purpose: "spend" | "mint" | "cert" | "reward"; + /** + * @description Datum hash of the redeemer + * @example 923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec + */ + redeemer_data_hash: string; + /** + * @deprecated + * @description Datum hash + * @example 923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec + */ + datum_hash: string; + /** + * @description The budget in Memory to run a script + * @example 1700 + */ + unit_mem: string; + /** + * @description The budget in CPU steps to run a script + * @example 476468 + */ + unit_steps: string; + /** + * @description The fee consumed to run the script + * @example 172033 + */ + fee: string; + }[]; /** * @example { * "json_value": { @@ -6358,11 +7169,11 @@ export interface components { * ] */ metrics: { - /** @description Starting time of the call count interval (ends midnight UTC) in UNIX time */ - time: number; - /** @description Sum of all calls for a particular day */ - calls: number; - }[]; + /** @description Starting time of the call count interval (ends midnight UTC) in UNIX time */ + time: number; + /** @description Sum of all calls for a particular day */ + calls: number; + }[]; /** * @example [ * { @@ -6393,13 +7204,13 @@ export interface components { * ] */ metrics_endpoints: { - /** @description Starting time of the call count interval (ends midnight UTC) in UNIX time */ - time: number; - /** @description Sum of all calls for a particular day and endpoint */ - calls: number; - /** @description Endpoint parent name */ - endpoint: string; - }[]; + /** @description Starting time of the call count interval (ends midnight UTC) in UNIX time */ + time: number; + /** @description Sum of all calls for a particular day and endpoint */ + calls: number; + /** @description Endpoint parent name */ + endpoint: string; + }[]; network: { supply: { /** @@ -6485,40 +7296,40 @@ export interface components { * ] */ "network-eras": { - /** - * @description Start of the blockchain era, - * relative to the start of the network - */ - start: { - /** @description Time in seconds relative to the start time of the network */ - time: number; - /** @description Absolute slot number */ - slot: number; - /** @description Epoch number */ - epoch: number; - }; - /** - * @description End of the blockchain era, - * relative to the start of the network - */ - end: { - /** @description Time in seconds relative to the start time of the network */ - time: number; - /** @description Absolute slot number */ - slot: number; - /** @description Epoch number */ - epoch: number; - }; - /** @description Era parameters */ - parameters: { - /** @description Epoch length in number of slots */ - epoch_length: number; - /** @description Slot length in seconds */ - slot_length: number; - /** @description Zone in which it is guaranteed that no hard fork can take place */ - safe_zone: number; - }; - }[]; + /** + * @description Start of the blockchain era, + * relative to the start of the network + */ + start: { + /** @description Time in seconds relative to the start time of the network */ + time: number; + /** @description Absolute slot number */ + slot: number; + /** @description Epoch number */ + epoch: number; + }; + /** + * @description End of the blockchain era, + * relative to the start of the network + */ + end: { + /** @description Time in seconds relative to the start time of the network */ + time: number; + /** @description Absolute slot number */ + slot: number; + /** @description Epoch number */ + epoch: number; + }; + /** @description Era parameters */ + parameters: { + /** @description Epoch length in number of slots */ + epoch_length: number; + /** @description Slot length in seconds */ + slot_length: number; + /** @description Zone in which it is guaranteed that no hard fork can take place */ + safe_zone: number; + }; + }[]; nutlink_address: { /** * @description Bech32 encoded address @@ -6560,13 +7371,13 @@ export interface components { * ] */ nutlink_address_tickers: { - /** @description Name of the ticker */ - name: string; - /** @description Number of ticker records */ - count: number; - /** @description Block height of the latest record */ - latest_block: number; - }[]; + /** @description Name of the ticker */ + name: string; + /** @description Number of ticker records */ + count: number; + /** @description Block height of the latest record */ + latest_block: number; + }[]; /** * @example [ * { @@ -6586,18 +7397,18 @@ export interface components { * } * ] */ - nutlink_address_ticker: ({ - /** @description Hash of the transaction */ - tx_hash: string; - /** @description Block height of the record */ - block_height: number; - /** @description Transaction index within the block */ - tx_index: number; - /** @description Content of the ticker */ - payload: { - [key: string]: unknown; - } & (string | Record | unknown[] | number | boolean); - })[]; + nutlink_address_ticker: { + /** @description Hash of the transaction */ + tx_hash: string; + /** @description Block height of the record */ + block_height: number; + /** @description Transaction index within the block */ + tx_index: number; + /** @description Content of the ticker */ + payload: { + [key: string]: unknown; + } & (string | Record | unknown[] | number | boolean); + }[]; /** * @example [ * { @@ -6618,20 +7429,20 @@ export interface components { * } * ] */ - nutlink_tickers_ticker: ({ - /** @description Address of a metadata oracle */ - address: string; - /** @description Hash of the transaction */ - tx_hash: string; - /** @description Block height of the record */ - block_height: number; - /** @description Transaction index within the block */ - tx_index: number; - /** @description Content of the ticker */ - payload: { - [key: string]: unknown; - } & (string | Record | unknown[] | number | boolean); - })[]; + nutlink_tickers_ticker: { + /** @description Address of a metadata oracle */ + address: string; + /** @description Hash of the transaction */ + tx_hash: string; + /** @description Block height of the record */ + block_height: number; + /** @description Transaction index within the block */ + tx_index: number; + /** @description Content of the ticker */ + payload: { + [key: string]: unknown; + } & (string | Record | unknown[] | number | boolean); + }[]; /** * @description On-chain metadata stored in the minting transaction under label 721, * which adheres to https://cips.cardano.org/cips/cip25/ @@ -6657,24 +7468,24 @@ export interface components { * @example image/jpeg */ mediaType?: string; - files?: ({ - /** - * @description Name of the file - * @example myimage - */ - name?: string; - /** - * @description Mime sub-type of image - * @example image/jpeg - */ - mediaType: string; - /** - * @description URI pointing to a resource of this mime type - * @example My NFT token description - */ - src: string | string[]; - [key: string]: unknown; - })[]; + files?: { + /** + * @description Name of the file + * @example myimage + */ + name?: string; + /** + * @description Mime sub-type of image + * @example image/jpeg + */ + mediaType: string; + /** + * @description URI pointing to a resource of this mime type + * @example My NFT token description + */ + src: string | string[]; + [key: string]: unknown; + }[]; [key: string]: unknown; }; /** @@ -6734,24 +7545,24 @@ export interface components { * @example image/jpeg */ mediaType?: string; - files?: ({ - /** - * @description Name of the file - * @example myimage - */ - name?: string; - /** - * @description Mime sub-type of image - * @example image/jpeg - */ - mediaType: string; - /** - * @description URI pointing to a resource of this mime type - * @example My NFT token description - */ - src: string | string[]; - [key: string]: unknown; - })[]; + files?: { + /** + * @description Name of the file + * @example myimage + */ + name?: string; + /** + * @description Mime sub-type of image + * @example image/jpeg + */ + mediaType: string; + /** + * @description URI pointing to a resource of this mime type + * @example My NFT token description + */ + src: string | string[]; + [key: string]: unknown; + }[]; [key: string]: unknown; }; /** @@ -6784,24 +7595,24 @@ export interface components { * @example 8 */ decimals?: number; - files?: ({ - /** - * @description Name of the file - * @example myimage - */ - name?: string; - /** - * @description Mime sub-type of image - * @example image/jpeg - */ - mediaType: string; - /** - * @description URI pointing to a resource of this mime type - * @example My NFT token description - */ - src: string | string[]; - [key: string]: unknown; - })[]; + files?: { + /** + * @description Name of the file + * @example myimage + */ + name?: string; + /** + * @description Mime sub-type of image + * @example image/jpeg + */ + mediaType: string; + /** + * @description URI pointing to a resource of this mime type + * @example My NFT token description + */ + src: string | string[]; + [key: string]: unknown; + }[]; [key: string]: unknown; }; }; @@ -6922,7 +7733,6 @@ export type $defs = Record; export type external = Record; export interface operations { - /** * Add a file to IPFS * @description You need to `/ipfs/pin/add` an object to avoid it being garbage collected. This usage diff --git a/src/paths/api/governance/actions.yaml b/src/paths/api/governance/actions.yaml new file mode 100644 index 00000000..9fcb439f --- /dev/null +++ b/src/paths/api/governance/actions.yaml @@ -0,0 +1,22 @@ +get: + tags: + - Cardano » Governance + summary: xxx + description: xxx + responses: + "200": + description: Return the actions parameters. + # content: + # application/json: + # schema: + # $ref: ../../../schemas/xxx + "400": + $ref: ../../../responses/errors/400.yaml + "403": + $ref: ../../../responses/errors/403.yaml + "429": + $ref: ../../../responses/errors/429.yaml + "418": + $ref: ../../../responses/errors/418.yaml + "500": + $ref: ../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/committee.yaml b/src/paths/api/governance/committee.yaml new file mode 100644 index 00000000..14af4946 --- /dev/null +++ b/src/paths/api/governance/committee.yaml @@ -0,0 +1,22 @@ +get: + tags: + - Cardano » Governance + summary: xxx + description: xxx + responses: + "200": + description: Return the committee parameters. + # content: + # application/json: + # schema: + # $ref: ../../../schemas/xxx + "400": + $ref: ../../../responses/errors/400.yaml + "403": + $ref: ../../../responses/errors/403.yaml + "429": + $ref: ../../../responses/errors/429.yaml + "418": + $ref: ../../../responses/errors/418.yaml + "500": + $ref: ../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/dreps/index.yaml b/src/paths/api/governance/dreps/index.yaml new file mode 100644 index 00000000..d3d62fb9 --- /dev/null +++ b/src/paths/api/governance/dreps/index.yaml @@ -0,0 +1,52 @@ +get: + tags: + - Cardano » Governance + summary: Delegate Representatives (DReps) + description: Return the information about Delegate Representatives (DReps) + parameters: + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: [asc, desc] + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + Ordering in this case is based on the time of the first mint transaction. + responses: + "200": + description: Paginated array with the Delegate Representatives (DReps) data + content: + application/json: + schema: + $ref: ../../../../schemas/governance/drep_content.yaml + "400": + $ref: ../../../../responses/errors/400.yaml + "403": + $ref: ../../../../responses/errors/403.yaml + "429": + $ref: ../../../../responses/errors/429.yaml + "418": + $ref: ../../../../responses/errors/418.yaml + "500": + $ref: ../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/dreps/{drep_id}/delegators.yaml b/src/paths/api/governance/dreps/{drep_id}/delegators.yaml new file mode 100644 index 00000000..c34ccc0b --- /dev/null +++ b/src/paths/api/governance/dreps/{drep_id}/delegators.yaml @@ -0,0 +1,58 @@ +get: + tags: + - Cardano » Governance + summary: DRep delegators + description: List of Drep delegators. + parameters: + - in: path + name: drep_id + required: true + schema: + type: string + description: Bech32 or hexadecimal drep ID. + example: "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn" + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: [asc, desc] + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + "200": + description: Return the DRep delegations + content: + application/json: + schema: + $ref: ../../../../../schemas/governance/drep_delegators.yaml + "400": + $ref: ../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../responses/errors/403.yaml + "429": + $ref: ../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/dreps/{drep_id}/index.yaml b/src/paths/api/governance/dreps/{drep_id}/index.yaml new file mode 100644 index 00000000..f2de4560 --- /dev/null +++ b/src/paths/api/governance/dreps/{drep_id}/index.yaml @@ -0,0 +1,30 @@ +get: + tags: + - Cardano » Governance + summary: Specific DRep + description: DRep information. + parameters: + - in: path + name: drep_id + required: true + schema: + type: string + description: Bech32 or hexadecimal DRep ID. + example: "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc" + responses: + "200": + description: Return the DRep information content + content: + application/json: + schema: + $ref: ../../../../../schemas/governance/drep_details_content.yaml + "400": + $ref: ../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../responses/errors/403.yaml + "429": + $ref: ../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/dreps/{drep_id}/metadata.yaml b/src/paths/api/governance/dreps/{drep_id}/metadata.yaml new file mode 100644 index 00000000..607cc233 --- /dev/null +++ b/src/paths/api/governance/dreps/{drep_id}/metadata.yaml @@ -0,0 +1,30 @@ +get: + tags: + - Cardano » Governance + summary: DRep metadata + description: DRep metadata information. + parameters: + - in: path + name: drep_id + required: true + schema: + type: string + description: Bech32 or hexadecimal DRep ID. + example: "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc" + responses: + "200": + description: Return the DRep metadata content. + content: + application/json: + schema: + $ref: ../../../../../schemas/governance/drep_metadata.yaml + "400": + $ref: ../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../responses/errors/403.yaml + "429": + $ref: ../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/dreps/{drep_id}/updates.yaml b/src/paths/api/governance/dreps/{drep_id}/updates.yaml new file mode 100644 index 00000000..d2085e21 --- /dev/null +++ b/src/paths/api/governance/dreps/{drep_id}/updates.yaml @@ -0,0 +1,58 @@ +get: + tags: + - Cardano » Governance + summary: DRep updates + description: List of certificate updates to the DRep. + parameters: + - in: path + name: drep_id + required: true + schema: + type: string + description: Bech32 or hexadecimal DRep ID. + example: "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc" + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: [asc, desc] + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + "200": + description: Return the Drep updates history + content: + application/json: + schema: + $ref: ../../../../../schemas/governance/drep_updates.yaml + "400": + $ref: ../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../responses/errors/403.yaml + "429": + $ref: ../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/dreps/{drep_id}/votes.yaml b/src/paths/api/governance/dreps/{drep_id}/votes.yaml new file mode 100644 index 00000000..605578bf --- /dev/null +++ b/src/paths/api/governance/dreps/{drep_id}/votes.yaml @@ -0,0 +1,58 @@ +get: + tags: + - Cardano » Governance + summary: DRep votes + description: History of Drep votes. + parameters: + - in: path + name: drep_id + required: true + schema: + type: string + description: Bech32 or hexadecimal drep ID. + example: "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn" + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: [asc, desc] + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + "200": + description: Return the DRep votes + content: + application/json: + schema: + $ref: ../../../../../schemas/governance/drep_votes.yaml + "400": + $ref: ../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../responses/errors/403.yaml + "429": + $ref: ../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/proposals/index.yaml b/src/paths/api/governance/proposals/index.yaml new file mode 100644 index 00000000..8216b2a3 --- /dev/null +++ b/src/paths/api/governance/proposals/index.yaml @@ -0,0 +1,52 @@ +get: + tags: + - Cardano » Governance + summary: Proposals + description: Return the information about Proposals + parameters: + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: [asc, desc] + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + Ordering in this case is based on the time of the first mint transaction. + responses: + "200": + description: Paginated array with the proposal data + content: + application/json: + schema: + $ref: ../../../../schemas/governance/proposal_content.yaml + "400": + $ref: ../../../../responses/errors/400.yaml + "403": + $ref: ../../../../responses/errors/403.yaml + "429": + $ref: ../../../../responses/errors/429.yaml + "418": + $ref: ../../../../responses/errors/418.yaml + "500": + $ref: ../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/index.yaml b/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/index.yaml new file mode 100644 index 00000000..f5d21f30 --- /dev/null +++ b/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/index.yaml @@ -0,0 +1,37 @@ +get: + tags: + - Cardano » Governance + summary: Specific proposal + description: Proposal information. + parameters: + - in: path + name: tx_hash + required: true + schema: + type: string + description: Transaction hash. + example: "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531" + - in: path + name: cert_index + required: true + schema: + type: integer + description: Transaction index. + example: 1 + responses: + "200": + description: Return the proposal information content + content: + application/json: + schema: + $ref: ../../../../../../schemas/governance/proposal_details_content.yaml + "400": + $ref: ../../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../../responses/errors/403.yaml + "429": + $ref: ../../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/parameters.yaml b/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/parameters.yaml new file mode 100644 index 00000000..efe1d9a1 --- /dev/null +++ b/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/parameters.yaml @@ -0,0 +1,37 @@ +get: + tags: + - Cardano » Governance + summary: Specific parameters proposal + description: Parameters proposal details. + parameters: + - in: path + name: tx_hash + required: true + schema: + type: string + description: Transaction hash. + example: "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531" + - in: path + name: cert_index + required: true + schema: + type: integer + description: Transaction index. + example: 1 + responses: + "200": + description: Return the proposal parameters content + content: + application/json: + schema: + $ref: ../../../../../../schemas/governance/proposal_details_parameters.yaml + "400": + $ref: ../../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../../responses/errors/403.yaml + "429": + $ref: ../../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/votes.yaml b/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/votes.yaml new file mode 100644 index 00000000..be2ffa52 --- /dev/null +++ b/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/votes.yaml @@ -0,0 +1,65 @@ +get: + tags: + - Cardano » Governance + summary: Proposal votes + description: History of Proposal votes. + parameters: + - in: path + name: tx_hash + required: true + schema: + type: string + description: Transaction hash. + example: "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531" + - in: path + name: cert_index + required: true + schema: + type: integer + description: Transaction index. + example: 1 + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: [asc, desc] + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + "200": + description: Return the Proposal votes + content: + application/json: + schema: + $ref: ../../../../../../schemas/governance/proposal_details_votes.yaml + "400": + $ref: ../../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../../responses/errors/403.yaml + "429": + $ref: ../../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/treasury.yaml b/src/paths/api/governance/treasury.yaml new file mode 100644 index 00000000..f6bd1bc0 --- /dev/null +++ b/src/paths/api/governance/treasury.yaml @@ -0,0 +1,22 @@ +get: + tags: + - Cardano » Governance + summary: xxx + description: xxx + responses: + "200": + description: Return the treasury parameters. + # content: + # application/json: + # schema: + # $ref: ../../../schemas/xxx + "400": + $ref: ../../../responses/errors/400.yaml + "403": + $ref: ../../../responses/errors/403.yaml + "429": + $ref: ../../../responses/errors/429.yaml + "418": + $ref: ../../../responses/errors/418.yaml + "500": + $ref: ../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/votes.yaml b/src/paths/api/governance/votes.yaml new file mode 100644 index 00000000..b3115a29 --- /dev/null +++ b/src/paths/api/governance/votes.yaml @@ -0,0 +1,52 @@ +get: + tags: + - Cardano » Governance + summary: Votes + description: Return the information about votes + parameters: + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: [asc, desc] + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + Ordering in this case is based on the time of the first mint transaction. + responses: + "200": + description: Paginated array with the votes data + content: + application/json: + schema: + $ref: ../../../schemas/governance/vote_content.yaml + "400": + $ref: ../../../responses/errors/400.yaml + "403": + $ref: ../../../responses/errors/403.yaml + "429": + $ref: ../../../responses/errors/429.yaml + "418": + $ref: ../../../responses/errors/418.yaml + "500": + $ref: ../../../responses/errors/500.yaml diff --git a/src/paths/api/pools/{pool_id}/votes.yaml b/src/paths/api/pools/{pool_id}/votes.yaml new file mode 100644 index 00000000..7e123841 --- /dev/null +++ b/src/paths/api/pools/{pool_id}/votes.yaml @@ -0,0 +1,60 @@ +get: + tags: + - Cardano » Pools + summary: Stake pool votes + description: History of stake pools votes. + parameters: + - in: path + name: pool_id + required: true + schema: + type: string + description: Bech32 or hexadecimal pool ID. + example: "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: [asc, desc] + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + "200": + description: Return the pool votes. + content: + application/json: + schema: + $ref: ../../../../schemas/pools/pool_votes.yaml + "400": + $ref: ../../../../responses/errors/400.yaml + "403": + $ref: ../../../../responses/errors/403.yaml + "404": + $ref: ../../../../responses/errors/404.yaml + "429": + $ref: ../../../../responses/errors/429.yaml + "418": + $ref: ../../../../responses/errors/418.yaml + "500": + $ref: ../../../../responses/errors/500.yaml diff --git a/src/schemas/accounts/account_content.yaml b/src/schemas/accounts/account_content.yaml index 948a871f..cd8da4bb 100644 --- a/src/schemas/accounts/account_content.yaml +++ b/src/schemas/accounts/account_content.yaml @@ -41,7 +41,13 @@ properties: type: string nullable: true example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy - description: Bech32 pool ID that owns the account + description: Bech32 pool ID to which this account is delegated + drep_id: + type: string + nullable: true + example: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + description: Bech32 drep ID to which this account is delegated + required: - stake_address - active @@ -53,3 +59,4 @@ required: - treasury_sum - withdrawable_amount - pool_id + - drep_id diff --git a/src/schemas/epochs/epoch_param_content.yaml b/src/schemas/epochs/epoch_param_content.yaml index d4336b63..aa2e9875 100644 --- a/src/schemas/epochs/epoch_param_content.yaml +++ b/src/schemas/epochs/epoch_param_content.yaml @@ -70,7 +70,7 @@ properties: example: 0 description: Accepted protocol minor version min_utxo: - type: "string" + type: string example: "1000000" description: Minimum UTXO value. Use `coins_per_utxo_size` for Alonzo and later eras deprecated: true @@ -143,15 +143,98 @@ properties: type: string nullable: true example: "34482" - description: Cost per UTxO word for Alonzo. - Cost per UTxO byte for Babbage and later. + description: Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. coins_per_utxo_word: type: string nullable: true example: "34482" - description: Cost per UTxO word for Alonzo. - Cost per UTxO byte for Babbage and later. deprecated: true + description: Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. + pvt_motion_no_confidence: + type: number + nullable: true + description: Pool Voting threshold for motion of no-confidence. + pvt_committee_normal: + nullable: true + type: number + description: Pool Voting threshold for new committee/threshold (normal state). + pvt_committee_no_confidence: + nullable: true + type: number + description: Pool Voting threshold for new committee/threshold (state of no-confidence). + pvt_hard_fork_initiation: + nullable: true + type: number + description: Pool Voting threshold for hard-fork initiation. + dvt_motion_no_confidence: + nullable: true + type: number + description: DRep Vote threshold for motion of no-confidence. + dvt_committee_normal: + nullable: true + type: number + description: DRep Vote threshold for new committee/threshold (normal state). + dvt_committee_no_confidence: + nullable: true + type: number + description: DRep Vote threshold for new committee/threshold (state of no-confidence). + dvt_update_to_constitution: + nullable: true + type: number + description: DRep Vote threshold for update to the Constitution. + dvt_hard_fork_initiation: + nullable: true + type: number + description: DRep Vote threshold for hard-fork initiation. + dvt_p_p_network_group: + nullable: true + type: number + description: DRep Vote threshold for protocol parameter changes, network group. + dvt_p_p_economic_group: + nullable: true + type: number + description: DRep Vote threshold for protocol parameter changes, economic group. + dvt_p_p_technical_group: + nullable: true + type: number + description: DRep Vote threshold for protocol parameter changes, technical group. + dvt_p_p_gov_group: + nullable: true + type: number + description: DRep Vote threshold for protocol parameter changes, governance group. + dvt_treasury_withdrawal: + nullable: true + type: number + description: DRep Vote threshold for treasury withdrawal. + committee_min_size: + type: string + nullable: true + description: Minimal constitutional committee size. + committee_max_term_length: + type: string + nullable: true + description: Constitutional committee term limits. + gov_action_lifetime: + type: string + nullable: true + description: Governance action expiration. + gov_action_deposit: + type: string + nullable: true + description: Governance action deposit. + drep_deposit: + type: string + nullable: true + description: DRep deposit amount. + drep_activity: + type: string + nullable: true + description: DRep activity period. + registered_tx_id: + type: integer + nullable: true + description: The Tx table index for the transaction that contains this parameter proposal. + required: - epoch - min_fee_a @@ -185,3 +268,24 @@ required: - max_collateral_inputs - coins_per_utxo_size - coins_per_utxo_word + - pvt_motion_no_confidence + - pvt_committee_normal + - pvt_committee_no_confidence + - pvt_hard_fork_initiation + - dvt_motion_no_confidence + - dvt_committee_normal + - dvt_committee_no_confidence + - dvt_update_to_constitution + - dvt_hard_fork_initiation + - dvt_p_p_network_group + - dvt_p_p_economic_group + - dvt_p_p_technical_group + - dvt_p_p_gov_group + - dvt_treasury_withdrawal + - committee_min_size + - committee_max_term_length + - gov_action_lifetime + - gov_action_deposit + - drep_deposit + - drep_activity + - registered_tx_id diff --git a/src/schemas/governance/committee_content.yaml b/src/schemas/governance/committee_content.yaml new file mode 100644 index 00000000..01012cb6 --- /dev/null +++ b/src/schemas/governance/committee_content.yaml @@ -0,0 +1,18 @@ +type: array +items: + type: object + properties: + cold_key: + type: string + description: Hex cold key + hot_key: + type: string + description: Hex hot key + required: + - hot_key + - cold_key +example: + - cold_key: "5aea32cbcde22c8ba268d692c372901aaaafca4a335ffdca828089ec" + hot_key: "b41855e400020882ae44e868b341ffbad1c1b26cac70186d57387de4" + - cold_key: "5f1b4429fe3bda963a7b70ab81135112a785afcf55ccd695b122e794" + hot_key: "5aa349227e4068c85c03400396bcea13c7fd57d0ec78c604bc768fc5" diff --git a/src/schemas/governance/drep_content.yaml b/src/schemas/governance/drep_content.yaml new file mode 100644 index 00000000..2adba688 --- /dev/null +++ b/src/schemas/governance/drep_content.yaml @@ -0,0 +1,18 @@ +type: array +items: + type: object + properties: + drep_id: + type: string + description: The Bech32 encoded DRep address + hex: + type: string + description: The raw bytes of the DRep + required: + - drep_id + - hex +example: + - drep_id: "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn" + hex: "db1bc3c3f99ce68977ceaf27ab4dd917123ef9e73f85c304236eab23" + - drep_id: "drep1cxayn4fgy27yaucvhamsvqj3v6835mh3tjjx6x8hdnr4" + hex: "c1ba49d52822bc4ef30cbf77060251668f1a6ef15ca46d18f76cc758" diff --git a/src/schemas/governance/drep_delegators.yaml b/src/schemas/governance/drep_delegators.yaml new file mode 100644 index 00000000..09959aa4 --- /dev/null +++ b/src/schemas/governance/drep_delegators.yaml @@ -0,0 +1,20 @@ +type: array +items: + type: object + properties: + address: + type: string + description: Bech32 encoded stake addresses + amount: + type: string + description: Currently delegated amount + required: + - address + - amount +example: + - address: "stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha" + amount: "1137959159981411" + - address: "stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u" + amount: "16958865648" + - address: "stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck" + amount: "18605647" diff --git a/src/schemas/governance/drep_details_content.yaml b/src/schemas/governance/drep_details_content.yaml new file mode 100644 index 00000000..39631df5 --- /dev/null +++ b/src/schemas/governance/drep_details_content.yaml @@ -0,0 +1,36 @@ +type: object +properties: + drep_id: + type: string + description: Bech32 encoded DRep address + hex: + type: string + description: The raw bytes of the DRep + amount: + type: string + description: The total amount of voting power this DRep is delegated. + active: + type: boolean + description: Registration state of the DRep + active_epoch: + type: integer + nullable: true + description: Epoch of the most recent action - registration or deregistration + has_script: + type: boolean + description: Flag which shows if this DRep credentials are a script hash + +required: + - drep_id + - hex + - amount + - active + - active_epoch + - has_script +example: + - drep_id: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + hex: a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d + amount: '2000000' + active: true + active_epoch: 420 + has_script: true diff --git a/src/schemas/governance/drep_metadata.yaml b/src/schemas/governance/drep_metadata.yaml new file mode 100644 index 00000000..6c14374f --- /dev/null +++ b/src/schemas/governance/drep_metadata.yaml @@ -0,0 +1,29 @@ +type: object +properties: + drep_id: + type: string + description: Bech32 encoded addresses + hex: + type: string + description: The raw bytes of the DRep + url: + type: string + nullable: true + example: 'https://stakenuts.com/drep.json' + description: URL to the drep metadata + hash: + type: string + nullable: true + example: 69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c" + description: Hash of the metadata file + +required: + - drep_id + - hex + - url + - hash +example: + - drep_id: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + hex: a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d + url: 'https://stakenuts.com/drep.json' + hash: 69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c diff --git a/src/schemas/governance/drep_updates.yaml b/src/schemas/governance/drep_updates.yaml new file mode 100644 index 00000000..50ac3dbb --- /dev/null +++ b/src/schemas/governance/drep_updates.yaml @@ -0,0 +1,25 @@ +type: array +items: + type: object + properties: + tx_hash: + type: string + description: Transaction ID + cert_index: + type: integer + description: Certificate within the transaction + action: + type: string + enum: [registered, deregistered] + description: Action in the certificate + required: + - tx_hash + - cert_index + - action +example: + - tx_hash: "f4097fbdb87ab7c7ab44b30d4e2b81713a058488975d1ab8b05c381dd946a393" + cert_index: 0 + action: registered + - tx_hash: "dd3243af975be4b5bedce4e5f5b483b2386d5ad207d05e0289c1df0eb261447e" + cert_index: 0 + action: deregistered diff --git a/src/schemas/governance/drep_votes.yaml b/src/schemas/governance/drep_votes.yaml new file mode 100644 index 00000000..2ed282d7 --- /dev/null +++ b/src/schemas/governance/drep_votes.yaml @@ -0,0 +1,26 @@ +type: array +items: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + vote: + type: string + enum: [yes, no, abstain] + description: The Vote. Can be one of yes, no, abstain. + + required: + - tx_hash + - cert_index + - vote +example: + - tx_hash: "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5" + cert_index: 2 + vote: "yes" + - tx_hash: "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5" + cert_index: 3 + vote: "abstain" diff --git a/src/schemas/governance/proposal_content.yaml b/src/schemas/governance/proposal_content.yaml new file mode 100644 index 00000000..768c4009 --- /dev/null +++ b/src/schemas/governance/proposal_content.yaml @@ -0,0 +1,36 @@ +type: array +items: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + governance_type: + type: string + enum: + [ + hard_fork_initiation, + new_committee, + new_constitution, + info_action, + no_confidence, + parameter_change, + treasury_withdrawals, + ] + description: Type of proposal. + + required: + - tx_hash + - cert_index + - governance_type + +example: + - tx_hash: "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531" + cert_index: 1 + governance_type: "treasury_withdrawals" + - tx_hash: "71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60" + cert_index: 4 + governance_type: "no_confidence" diff --git a/src/schemas/governance/proposal_details_content.yaml b/src/schemas/governance/proposal_details_content.yaml new file mode 100644 index 00000000..98a3ef99 --- /dev/null +++ b/src/schemas/governance/proposal_details_content.yaml @@ -0,0 +1,85 @@ +type: object +properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + governance_type: + type: string + enum: + [ + hard_fork_initiation, + new_committee, + new_constitution, + info_action, + no_confidence, + parameter_change, + treasury_withdrawals, + ] + description: Type of proposal. + governance_description: + additionalProperties: true + type: object + nullable: true + description: An object describing the content of this GovActionProposal in a readable way. + deposit: + type: string + description: The deposit amount paid for this proposal. + return_address: + type: string + description: Bech32 stake address of the reward address to receive the deposit when it is repaid. + ratified_epoch: + type: integer + nullable: true + enacted_epoch: + type: integer + nullable: true + dropped_epoch: + type: integer + nullable: true + expired_epoch: + type: integer + nullable: true + expiration: + type: integer + description: Shows the epoch at which this governance action will expire. + anchor_url: + type: string + nullable: true + description: The URL of the offchain anchor data. + anchor_hash: + type: string + nullable: true + description: The hash of the offchain anchor data. + +required: + - tx_hash + - cert_index + - governance_type + - deposit + - return_address + - governance_description + - ratified_epoch + - enacted_epoch + - dropped_epoch + - expired_epoch + - expiration + - anchor_url + - anchor_hash + +example: + - tx_hash: "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531" + cert_index: 1 + governance_type: "treasury_withdrawals" + deposit: 12000 + return_address: "stake_test1urd3hs7rlxwwdzthe6hj026dmyt3y0heuulctscyydh2kgck6nkmz" + governance_description: 'TreasuryWithdrawals (fromList [(RewardAcnt {getRwdNetwork = Testnet, getRwdCred = KeyHashObj (KeyHash "71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60")},Coin 20000000)])' + ratified_epoch: null + enacted_epoch: 123 + dropped_epoch: null + expired_epoch: null + expiration: 120 + anchor_url: "https://gist.github.com/123" + anchor_hash: "50b340624d49823720505e3f0095be0d6cd8f26501e094a6ab9068dd" diff --git a/src/schemas/governance/proposal_details_parameters.yaml b/src/schemas/governance/proposal_details_parameters.yaml new file mode 100644 index 00000000..8d227763 --- /dev/null +++ b/src/schemas/governance/proposal_details_parameters.yaml @@ -0,0 +1,275 @@ +type: object +properties: + epoch: + type: integer + example: 225 + description: Epoch number + min_fee_a: + type: integer + example: 44 + description: The linear factor for the minimum fee calculation for given epoch + min_fee_b: + type: integer + example: 155381 + description: The constant factor for the minimum fee calculation + max_block_size: + type: integer + example: 65536 + description: Maximum block body size in Bytes + max_tx_size: + type: integer + example: 16384 + description: Maximum transaction size + max_block_header_size: + type: integer + example: 1100 + description: Maximum block header size + key_deposit: + type: string + example: "2000000" + description: The amount of a key registration deposit in Lovelaces + pool_deposit: + type: string + example: "500000000" + description: The amount of a pool registration deposit in Lovelaces + e_max: + type: integer + example: 18 + description: Epoch bound on pool retirement + n_opt: + type: integer + example: 150 + description: Desired number of pools + a0: + type: number + example: 0.3 + description: Pool pledge influence + rho: + type: number + example: 0.003 + description: Monetary expansion + tau: + type: number + example: 0.2 + description: Treasury expansion + decentralisation_param: + type: number + example: 0.5 + description: Percentage of blocks produced by federated nodes + extra_entropy: + type: string + nullable: true + example: null + description: Seed for extra entropy + protocol_major_ver: + type: integer + example: 2 + description: Accepted protocol major version + protocol_minor_ver: + type: integer + example: 0 + description: Accepted protocol minor version + min_utxo: + type: string + example: "1000000" + description: Minimum UTXO value + min_pool_cost: + type: string + example: "340000000" + description: Minimum stake cost forced on the pool + nonce: + type: string + example: "1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81" + description: Epoch number only used once + cost_models: + additionalProperties: true + type: object + nullable: true + example: + PlutusV1: + addInteger-cpu-arguments-intercept: 197209 + addInteger-cpu-arguments-slope: 0 + PlutusV2: + addInteger-cpu-arguments-intercept: 197209 + addInteger-cpu-arguments-slope: 0 + description: Cost models parameters for Plutus Core scripts + price_mem: + type: number + nullable: true + example: 0.0577 + description: The per word cost of script memory usage + price_step: + type: number + nullable: true + example: 0.0000721 + description: The cost of script execution step usage + max_tx_ex_mem: + type: string + nullable: true + example: "10000000" + description: The maximum number of execution memory allowed to be used in a single transaction + max_tx_ex_steps: + type: string + nullable: true + example: "10000000000" + description: The maximum number of execution steps allowed to be used in a single transaction + max_block_ex_mem: + type: string + nullable: true + example: "50000000" + description: The maximum number of execution memory allowed to be used in a single block + max_block_ex_steps: + type: string + nullable: true + example: "40000000000" + description: The maximum number of execution steps allowed to be used in a single block + max_val_size: + type: string + nullable: true + example: "5000" + description: The maximum Val size + collateral_percent: + type: integer + nullable: true + example: 150 + description: The percentage of the transactions fee which must be provided as collateral when including non-native scripts + max_collateral_inputs: + type: integer + nullable: true + example: 3 + description: The maximum number of collateral inputs allowed in a transaction + coins_per_utxo_size: + type: string + nullable: true + example: "34482" + description: Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. + coins_per_utxo_word: + type: string + nullable: true + example: "34482" + deprecated: true + description: Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. + cost_model_id: + type: integer + format: int64 + description: The CostModel table index for the proposal. + pvt_motion_no_confidence: + type: number + description: Pool Voting threshold for motion of no-confidence. New in 13.2-Conway. + pvt_committee_normal: + type: number + description: Pool Voting threshold for new committee/threshold (normal state). New in 13.2-Conway. + pvt_committee_no_confidence: + type: number + description: Pool Voting threshold for new committee/threshold (state of no-confidence). New in 13.2-Conway. + pvt_hard_fork_initiation: + type: number + description: Pool Voting threshold for hard-fork initiation. New in 13.2-Conway. + dvt_motion_no_confidence: + type: number + description: DRep Vote threshold for motion of no-confidence. New in 13.2-Conway. + dvt_committee_normal: + type: number + description: DRep Vote threshold for new committee/threshold (normal state). New in 13.2-Conway. + dvt_committee_no_confidence: + type: number + description: DRep Vote threshold for new committee/threshold (state of no-confidence). New in 13.2-Conway. + dvt_update_to_constitution: + type: number + description: DRep Vote threshold for update to the Constitution. New in 13.2-Conway. + dvt_hard_fork_initiation: + type: number + description: DRep Vote threshold for hard-fork initiation. New in 13.2-Conway. + dvt_p_p_network_group: + type: number + description: DRep Vote threshold for protocol parameter changes, network group. New in 13.2-Conway. + dvt_p_p_economic_group: + type: number + description: DRep Vote threshold for protocol parameter changes, economic group. New in 13.2-Conway. + dvt_p_p_technical_group: + type: number + description: DRep Vote threshold for protocol parameter changes, technical group. New in 13.2-Conway. + dvt_p_p_gov_group: + type: number + description: DRep Vote threshold for protocol parameter changes, governance group. New in 13.2-Conway. + dvt_treasury_withdrawal: + type: number + description: DRep Vote threshold for treasury withdrawal. New in 13.2-Conway. + committee_min_size: + type: string + format: word64type + description: Minimal constitutional committee size. New in 13.2-Conway. + committee_max_term_length: + type: string + format: word64type + description: Constitutional committee term limits. New in 13.2-Conway. + gov_action_lifetime: + type: string + format: word64type + description: Governance action expiration. New in 13.2-Conway. + gov_action_deposit: + type: string + format: word64type + description: Governance action deposit. New in 13.2-Conway. + drep_deposit: + type: string + format: word64type + description: DRep deposit amount. New in 13.2-Conway. + drep_activity: + type: string + format: word64type + description: DRep activity period. New in 13.2-Conway. + +required: + - min_fee_a + - min_fee_b + - max_block_size + - max_tx_size + - max_block_header_size + - key_deposit + - pool_deposit + - e_max + - n_opt + - a0 + - rho + - tau + - decentralisation_param + - extra_entropy + - protocol_major_ver + - protocol_minor_ver + - min_utxo + - min_pool_cost + - nonce + - cost_models + - price_mem + - price_step + - max_tx_ex_mem + - max_tx_ex_steps + - max_block_ex_mem + - max_block_ex_steps + - max_val_size + - collateral_percent + - max_collateral_inputs + - coins_per_utxo_size + - coins_per_utxo_word + - cost_model_id + - pvt_motion_no_confidence + - pvt_committee_normal + - pvt_committee_no_confidence + - pvt_hard_fork_initiation + - dvt_motion_no_confidence + - dvt_committee_normal + - dvt_committee_no_confidence + - dvt_update_to_constitution + - dvt_hard_fork_initiation + - dvt_p_p_network_group + - dvt_p_p_economic_group + - dvt_p_p_technical_group + - dvt_p_p_gov_group + - dvt_treasury_withdrawal + - committee_min_size + - committee_max_term_length + - gov_action_lifetime + - gov_action_deposit + - drep_deposit + - drep_activity \ No newline at end of file diff --git a/src/schemas/governance/proposal_details_votes.yaml b/src/schemas/governance/proposal_details_votes.yaml new file mode 100644 index 00000000..19a5485d --- /dev/null +++ b/src/schemas/governance/proposal_details_votes.yaml @@ -0,0 +1,39 @@ +type: array +items: + type: object + properties: + tx_hash: + type: string + description: Hash of the voting transaction. + cert_index: + type: integer + description: Index of the certificate within the voting transaction. + voter_role: + type: string + enum: [constitutional_committee, drep, spo] + description: The role of the voter. Can be one of constitutional_committee, drep, spo. + voter: + type: string + description: The actual voter. + vote: + type: string + enum: [yes, no, abstain] + description: The Vote. Can be one of yes, no, abstain. + + required: + - tx_hash + - cert_index + - voter_role + - voter + - vote +example: + - tx_hash: "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5" + cert_index: 2 + voter_role: "drep" + voter: drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn + vote: "yes" + - tx_hash: "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5" + cert_index: 3 + voter_role: "constitutional_committee" + voter: "53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4" + vote: "abstain" diff --git a/src/schemas/governance/vote_content.yaml b/src/schemas/governance/vote_content.yaml new file mode 100644 index 00000000..8e6aba66 --- /dev/null +++ b/src/schemas/governance/vote_content.yaml @@ -0,0 +1,39 @@ +type: array +items: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + voter_role: + type: string + enum: [constitutional_committee, drep, spo] + description: The role of the voter. Can be one of constitutional_committee, drep, spo. + voter: + type: string + description: The actual voter. + vote: + type: string + enum: [yes, no, abstain] + description: The Vote. Can be one of yes, no, abstain. + + required: + - tx_hash + - cert_index + - voter_role + - voter + - vote +example: + - tx_hash: "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5" + cert_index: 2 + voter_role: "spo" + voter: "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy" + vote: "yes" + - tx_hash: "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5" + cert_index: 3 + voter_role: "constitutional_committee" + voter: "53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4" + vote: "abstain" diff --git a/src/schemas/pools/pool_delegations.yaml b/src/schemas/pools/pool_delegations.yaml deleted file mode 100644 index 1d4f96b5..00000000 --- a/src/schemas/pools/pool_delegations.yaml +++ /dev/null @@ -1,20 +0,0 @@ -type: array -items: - type: object - properties: - tx_hash: - type: string - description: Transaction ID - cert_index: - type: integer - description: Certificate within the transaction - required: - - tx_hash - - cert_index -example: - - tx_hash: "6804edf9712d2b619edb6ac86861fe93a730693183a262b165fcc1ba1bc99cad" - cert_index: 0 - - tx_hash: "9c190bc1ac88b2ab0c05a82d7de8b71b67a9316377e865748a89d4426c0d3005" - cert_index: 0 - - tx_hash: "e14a75b0eb2625de7055f1f580d70426311b78e0d36dd695a6bdc96c7b3d80e0" - cert_index: 1 diff --git a/src/schemas/pools/pool_votes.yaml b/src/schemas/pools/pool_votes.yaml new file mode 100644 index 00000000..d7175ce8 --- /dev/null +++ b/src/schemas/pools/pool_votes.yaml @@ -0,0 +1,23 @@ +type: array +items: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + vote: + type: string + enum: [yes, no, abstain] + description: The Vote. Can be one of yes, no, abstain. + + required: + - tx_hash + - cert_index + - vote +example: + - tx_hash: "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5" + cert_index: 2 + vote: "yes" diff --git a/test/tests/__snapshots__/get-schema-for-endpoint.test.ts.snap b/test/tests/__snapshots__/get-schema-for-endpoint.test.ts.snap index 4489f3a0..e161a8f7 100644 --- a/test/tests/__snapshots__/get-schema-for-endpoint.test.ts.snap +++ b/test/tests/__snapshots__/get-schema-for-endpoint.test.ts.snap @@ -161,8 +161,14 @@ exports[`getSchemaForEndpoint > generateSchemas 1`] = ` "example": "619154618165", "type": "string", }, + "drep_id": { + "description": "Bech32 drep ID to which this account is delegated", + "example": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc", + "nullable": true, + "type": "string", + }, "pool_id": { - "description": "Bech32 pool ID that owns the account", + "description": "Bech32 pool ID to which this account is delegated", "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy", "nullable": true, "type": "string", @@ -209,6 +215,7 @@ exports[`getSchemaForEndpoint > generateSchemas 1`] = ` "treasury_sum", "withdrawable_amount", "pool_id", + "drep_id", ], "type": "object", }, @@ -7839,6 +7846,16 @@ under which it is valid "nullable": true, "type": "integer", }, + "committee_max_term_length": { + "description": "Constitutional committee term limits.", + "nullable": true, + "type": "string", + }, + "committee_min_size": { + "description": "Minimal constitutional committee size.", + "nullable": true, + "type": "string", + }, "cost_models": { "additionalProperties": true, "description": "Cost models parameters for Plutus Core scripts", @@ -7860,6 +7877,66 @@ under which it is valid "example": 0.5, "type": "number", }, + "drep_activity": { + "description": "DRep activity period.", + "nullable": true, + "type": "string", + }, + "drep_deposit": { + "description": "DRep deposit amount.", + "nullable": true, + "type": "string", + }, + "dvt_committee_no_confidence": { + "description": "DRep Vote threshold for new committee/threshold (state of no-confidence).", + "nullable": true, + "type": "number", + }, + "dvt_committee_normal": { + "description": "DRep Vote threshold for new committee/threshold (normal state).", + "nullable": true, + "type": "number", + }, + "dvt_hard_fork_initiation": { + "description": "DRep Vote threshold for hard-fork initiation.", + "nullable": true, + "type": "number", + }, + "dvt_motion_no_confidence": { + "description": "DRep Vote threshold for motion of no-confidence.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_economic_group": { + "description": "DRep Vote threshold for protocol parameter changes, economic group.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_gov_group": { + "description": "DRep Vote threshold for protocol parameter changes, governance group.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_network_group": { + "description": "DRep Vote threshold for protocol parameter changes, network group.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_technical_group": { + "description": "DRep Vote threshold for protocol parameter changes, technical group.", + "nullable": true, + "type": "number", + }, + "dvt_treasury_withdrawal": { + "description": "DRep Vote threshold for treasury withdrawal.", + "nullable": true, + "type": "number", + }, + "dvt_update_to_constitution": { + "description": "DRep Vote threshold for update to the Constitution.", + "nullable": true, + "type": "number", + }, "e_max": { "description": "Epoch bound on pool retirement", "example": 18, @@ -7876,6 +7953,16 @@ under which it is valid "nullable": true, "type": "string", }, + "gov_action_deposit": { + "description": "Governance action deposit.", + "nullable": true, + "type": "string", + }, + "gov_action_lifetime": { + "description": "Governance action expiration.", + "nullable": true, + "type": "string", + }, "key_deposit": { "description": "The amount of a key registration deposit in Lovelaces", "example": "2000000", @@ -7990,6 +8077,31 @@ under which it is valid "example": 0, "type": "integer", }, + "pvt_committee_no_confidence": { + "description": "Pool Voting threshold for new committee/threshold (state of no-confidence).", + "nullable": true, + "type": "number", + }, + "pvt_committee_normal": { + "description": "Pool Voting threshold for new committee/threshold (normal state).", + "nullable": true, + "type": "number", + }, + "pvt_hard_fork_initiation": { + "description": "Pool Voting threshold for hard-fork initiation.", + "nullable": true, + "type": "number", + }, + "pvt_motion_no_confidence": { + "description": "Pool Voting threshold for motion of no-confidence.", + "nullable": true, + "type": "number", + }, + "registered_tx_id": { + "description": "The Tx table index for the transaction that contains this parameter proposal.", + "nullable": true, + "type": "integer", + }, "rho": { "description": "Monetary expansion", "example": 0.003, @@ -8034,6 +8146,27 @@ under which it is valid "max_collateral_inputs", "coins_per_utxo_size", "coins_per_utxo_word", + "pvt_motion_no_confidence", + "pvt_committee_normal", + "pvt_committee_no_confidence", + "pvt_hard_fork_initiation", + "dvt_motion_no_confidence", + "dvt_committee_normal", + "dvt_committee_no_confidence", + "dvt_update_to_constitution", + "dvt_hard_fork_initiation", + "dvt_p_p_network_group", + "dvt_p_p_economic_group", + "dvt_p_p_technical_group", + "dvt_p_p_gov_group", + "dvt_treasury_withdrawal", + "committee_min_size", + "committee_max_term_length", + "gov_action_lifetime", + "gov_action_deposit", + "drep_deposit", + "drep_activity", + "registered_tx_id", ], "type": "object", }, @@ -9016,6 +9149,16 @@ under which it is valid "nullable": true, "type": "integer", }, + "committee_max_term_length": { + "description": "Constitutional committee term limits.", + "nullable": true, + "type": "string", + }, + "committee_min_size": { + "description": "Minimal constitutional committee size.", + "nullable": true, + "type": "string", + }, "cost_models": { "additionalProperties": true, "description": "Cost models parameters for Plutus Core scripts", @@ -9037,6 +9180,66 @@ under which it is valid "example": 0.5, "type": "number", }, + "drep_activity": { + "description": "DRep activity period.", + "nullable": true, + "type": "string", + }, + "drep_deposit": { + "description": "DRep deposit amount.", + "nullable": true, + "type": "string", + }, + "dvt_committee_no_confidence": { + "description": "DRep Vote threshold for new committee/threshold (state of no-confidence).", + "nullable": true, + "type": "number", + }, + "dvt_committee_normal": { + "description": "DRep Vote threshold for new committee/threshold (normal state).", + "nullable": true, + "type": "number", + }, + "dvt_hard_fork_initiation": { + "description": "DRep Vote threshold for hard-fork initiation.", + "nullable": true, + "type": "number", + }, + "dvt_motion_no_confidence": { + "description": "DRep Vote threshold for motion of no-confidence.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_economic_group": { + "description": "DRep Vote threshold for protocol parameter changes, economic group.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_gov_group": { + "description": "DRep Vote threshold for protocol parameter changes, governance group.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_network_group": { + "description": "DRep Vote threshold for protocol parameter changes, network group.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_technical_group": { + "description": "DRep Vote threshold for protocol parameter changes, technical group.", + "nullable": true, + "type": "number", + }, + "dvt_treasury_withdrawal": { + "description": "DRep Vote threshold for treasury withdrawal.", + "nullable": true, + "type": "number", + }, + "dvt_update_to_constitution": { + "description": "DRep Vote threshold for update to the Constitution.", + "nullable": true, + "type": "number", + }, "e_max": { "description": "Epoch bound on pool retirement", "example": 18, @@ -9053,6 +9256,16 @@ under which it is valid "nullable": true, "type": "string", }, + "gov_action_deposit": { + "description": "Governance action deposit.", + "nullable": true, + "type": "string", + }, + "gov_action_lifetime": { + "description": "Governance action expiration.", + "nullable": true, + "type": "string", + }, "key_deposit": { "description": "The amount of a key registration deposit in Lovelaces", "example": "2000000", @@ -9167,6 +9380,31 @@ under which it is valid "example": 0, "type": "integer", }, + "pvt_committee_no_confidence": { + "description": "Pool Voting threshold for new committee/threshold (state of no-confidence).", + "nullable": true, + "type": "number", + }, + "pvt_committee_normal": { + "description": "Pool Voting threshold for new committee/threshold (normal state).", + "nullable": true, + "type": "number", + }, + "pvt_hard_fork_initiation": { + "description": "Pool Voting threshold for hard-fork initiation.", + "nullable": true, + "type": "number", + }, + "pvt_motion_no_confidence": { + "description": "Pool Voting threshold for motion of no-confidence.", + "nullable": true, + "type": "number", + }, + "registered_tx_id": { + "description": "The Tx table index for the transaction that contains this parameter proposal.", + "nullable": true, + "type": "integer", + }, "rho": { "description": "Monetary expansion", "example": 0.003, @@ -9211,6 +9449,27 @@ under which it is valid "max_collateral_inputs", "coins_per_utxo_size", "coins_per_utxo_word", + "pvt_motion_no_confidence", + "pvt_committee_normal", + "pvt_committee_no_confidence", + "pvt_hard_fork_initiation", + "dvt_motion_no_confidence", + "dvt_committee_normal", + "dvt_committee_no_confidence", + "dvt_update_to_constitution", + "dvt_hard_fork_initiation", + "dvt_p_p_network_group", + "dvt_p_p_economic_group", + "dvt_p_p_technical_group", + "dvt_p_p_gov_group", + "dvt_treasury_withdrawal", + "committee_min_size", + "committee_max_term_length", + "gov_action_lifetime", + "gov_action_deposit", + "drep_deposit", + "drep_activity", + "registered_tx_id", ], "type": "object", }, @@ -10135,19 +10394,62 @@ under which it is valid }, }, }, - "/health": { + "/governance/dreps": { + "querystring": { + "properties": { + "count": { + "default": 100, + "maximum": 100, + "minimum": 1, + "type": "integer", + }, + "order": { + "default": "asc", + "enum": [ + "asc", + "desc", + ], + "type": "string", + }, + "page": { + "default": 1, + "maximum": 21474836, + "minimum": 1, + "type": "integer", + }, + }, + "type": "object", + }, "response": { "200": { - "properties": { - "is_healthy": { - "example": true, - "type": "boolean", + "example": [ + { + "drep_id": "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn", + "hex": "db1bc3c3f99ce68977ceaf27ab4dd917123ef9e73f85c304236eab23", + }, + { + "drep_id": "drep1cxayn4fgy27yaucvhamsvqj3v6835mh3tjjx6x8hdnr4", + "hex": "c1ba49d52822bc4ef30cbf77060251668f1a6ef15ca46d18f76cc758", }, - }, - "required": [ - "is_healthy", ], - "type": "object", + "items": { + "properties": { + "drep_id": { + "description": "The Bech32 encoded DRep address", + "type": "string", + }, + "hex": { + "description": "The raw bytes of the DRep", + "type": "string", + }, + }, + "required": [ + "drep_id", + "hex", + ], + "type": "object", + }, + "type": "array", }, "400": { "properties": { @@ -10261,18 +10563,61 @@ under which it is valid }, }, }, - "/health/clock": { + "/governance/dreps/{drep_id}": { + "params": { + "properties": { + "drep_id": { + "type": "string", + }, + }, + "type": "object", + }, "response": { "200": { + "example": [ + { + "active": true, + "active_epoch": 420, + "amount": "2000000", + "drep_id": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc", + "has_script": true, + "hex": "a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d", + }, + ], "properties": { - "server_time": { - "example": 1603400958947, - "format": "int64", + "active": { + "description": "Registration state of the DRep", + "type": "boolean", + }, + "active_epoch": { + "description": "Epoch of the most recent action - registration or deregistration", + "nullable": true, "type": "integer", }, + "amount": { + "description": "The total amount of voting power this DRep is delegated.", + "type": "string", + }, + "drep_id": { + "description": "Bech32 encoded DRep address", + "type": "string", + }, + "has_script": { + "description": "Flag which shows if this DRep credentials are a script hash", + "type": "boolean", + }, + "hex": { + "description": "The raw bytes of the DRep", + "type": "string", + }, }, "required": [ - "server_time", + "drep_id", + "hex", + "amount", + "active", + "active_epoch", + "has_script", ], "type": "object", }, @@ -10388,44 +10733,1839 @@ under which it is valid }, }, }, - "/ipfs/add": { - "response": { - "200": { - "properties": { - "ipfs_hash": { - "description": "IPFS hash of the file", - "example": "QmZbHqiCxKEVX7QfijzJTkZiSi3WEVTcvANgNAWzDYgZDr", - "type": "string", - }, - "name": { - "description": "Name of the file", - "example": "README.md", - "type": "string", - }, - "size": { - "description": "IPFS node size in Bytes", - "example": "125297", - "type": "string", - }, + "/governance/dreps/{drep_id}/delegators": { + "params": { + "properties": { + "drep_id": { + "type": "string", }, - "required": [ - "name", - "ipfs_hash", - "size", - ], - "type": "object", }, - "400": { - "properties": { - "error": { - "example": "Bad Request", - "type": "string", - }, - "message": { - "example": "Backend did not understand your request.", - "type": "string", - }, - "status_code": { + "type": "object", + }, + "querystring": { + "properties": { + "count": { + "default": 100, + "maximum": 100, + "minimum": 1, + "type": "integer", + }, + "order": { + "default": "asc", + "enum": [ + "asc", + "desc", + ], + "type": "string", + }, + "page": { + "default": 1, + "maximum": 21474836, + "minimum": 1, + "type": "integer", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": [ + { + "address": "stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha", + "amount": "1137959159981411", + }, + { + "address": "stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u", + "amount": "16958865648", + }, + { + "address": "stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck", + "amount": "18605647", + }, + ], + "items": { + "properties": { + "address": { + "description": "Bech32 encoded stake addresses", + "type": "string", + }, + "amount": { + "description": "Currently delegated amount", + "type": "string", + }, + }, + "required": [ + "address", + "amount", + ], + "type": "object", + }, + "type": "array", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/governance/dreps/{drep_id}/metadata": { + "params": { + "properties": { + "drep_id": { + "type": "string", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": [ + { + "drep_id": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc", + "hash": "69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c", + "hex": "a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d", + "url": "https://stakenuts.com/drep.json", + }, + ], + "properties": { + "drep_id": { + "description": "Bech32 encoded addresses", + "type": "string", + }, + "hash": { + "description": "Hash of the metadata file", + "example": "69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c"", + "nullable": true, + "type": "string", + }, + "hex": { + "description": "The raw bytes of the DRep", + "type": "string", + }, + "url": { + "description": "URL to the drep metadata", + "example": "https://stakenuts.com/drep.json", + "nullable": true, + "type": "string", + }, + }, + "required": [ + "drep_id", + "hex", + "url", + "hash", + ], + "type": "object", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/governance/dreps/{drep_id}/updates": { + "params": { + "properties": { + "drep_id": { + "type": "string", + }, + }, + "type": "object", + }, + "querystring": { + "properties": { + "count": { + "default": 100, + "maximum": 100, + "minimum": 1, + "type": "integer", + }, + "order": { + "default": "asc", + "enum": [ + "asc", + "desc", + ], + "type": "string", + }, + "page": { + "default": 1, + "maximum": 21474836, + "minimum": 1, + "type": "integer", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": [ + { + "action": "registered", + "cert_index": 0, + "tx_hash": "f4097fbdb87ab7c7ab44b30d4e2b81713a058488975d1ab8b05c381dd946a393", + }, + { + "action": "deregistered", + "cert_index": 0, + "tx_hash": "dd3243af975be4b5bedce4e5f5b483b2386d5ad207d05e0289c1df0eb261447e", + }, + ], + "items": { + "properties": { + "action": { + "description": "Action in the certificate", + "enum": [ + "registered", + "deregistered", + ], + "type": "string", + }, + "cert_index": { + "description": "Certificate within the transaction", + "type": "integer", + }, + "tx_hash": { + "description": "Transaction ID", + "type": "string", + }, + }, + "required": [ + "tx_hash", + "cert_index", + "action", + ], + "type": "object", + }, + "type": "array", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/governance/dreps/{drep_id}/votes": { + "params": { + "properties": { + "drep_id": { + "type": "string", + }, + }, + "type": "object", + }, + "querystring": { + "properties": { + "count": { + "default": 100, + "maximum": 100, + "minimum": 1, + "type": "integer", + }, + "order": { + "default": "asc", + "enum": [ + "asc", + "desc", + ], + "type": "string", + }, + "page": { + "default": 1, + "maximum": 21474836, + "minimum": 1, + "type": "integer", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": [ + { + "cert_index": 2, + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "vote": "yes", + }, + { + "cert_index": 3, + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "vote": "abstain", + }, + ], + "items": { + "properties": { + "cert_index": { + "description": "Index of the certificate within the proposal transaction.", + "type": "integer", + }, + "tx_hash": { + "description": "Hash of the proposal transaction.", + "type": "string", + }, + "vote": { + "description": "The Vote. Can be one of yes, no, abstain.", + "enum": [ + "yes", + "no", + "abstain", + ], + "type": "string", + }, + }, + "required": [ + "tx_hash", + "cert_index", + "vote", + ], + "type": "object", + }, + "type": "array", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/governance/proposals": { + "querystring": { + "properties": { + "count": { + "default": 100, + "maximum": 100, + "minimum": 1, + "type": "integer", + }, + "order": { + "default": "asc", + "enum": [ + "asc", + "desc", + ], + "type": "string", + }, + "page": { + "default": 1, + "maximum": 21474836, + "minimum": 1, + "type": "integer", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": [ + { + "cert_index": 1, + "governance_type": "treasury_withdrawals", + "tx_hash": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531", + }, + { + "cert_index": 4, + "governance_type": "no_confidence", + "tx_hash": "71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60", + }, + ], + "items": { + "properties": { + "cert_index": { + "description": "Index of the certificate within the proposal transaction.", + "type": "integer", + }, + "governance_type": { + "description": "Type of proposal.", + "enum": [ + "hard_fork_initiation", + "new_committee", + "new_constitution", + "info_action", + "no_confidence", + "parameter_change", + "treasury_withdrawals", + ], + "type": "string", + }, + "tx_hash": { + "description": "Hash of the proposal transaction.", + "type": "string", + }, + }, + "required": [ + "tx_hash", + "cert_index", + "governance_type", + ], + "type": "object", + }, + "type": "array", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/governance/proposals/{tx_hash}/{cert_index}": { + "params": { + "properties": { + "cert_index": { + "type": "integer", + }, + "tx_hash": { + "type": "string", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": [ + { + "anchor_hash": "50b340624d49823720505e3f0095be0d6cd8f26501e094a6ab9068dd", + "anchor_url": "https://gist.github.com/123", + "cert_index": 1, + "deposit": 12000, + "dropped_epoch": null, + "enacted_epoch": 123, + "expiration": 120, + "expired_epoch": null, + "governance_description": "TreasuryWithdrawals (fromList [(RewardAcnt {getRwdNetwork = Testnet, getRwdCred = KeyHashObj (KeyHash "71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60")},Coin 20000000)])", + "governance_type": "treasury_withdrawals", + "ratified_epoch": null, + "return_address": "stake_test1urd3hs7rlxwwdzthe6hj026dmyt3y0heuulctscyydh2kgck6nkmz", + "tx_hash": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531", + }, + ], + "properties": { + "anchor_hash": { + "description": "The hash of the offchain anchor data.", + "nullable": true, + "type": "string", + }, + "anchor_url": { + "description": "The URL of the offchain anchor data.", + "nullable": true, + "type": "string", + }, + "cert_index": { + "description": "Index of the certificate within the proposal transaction.", + "type": "integer", + }, + "deposit": { + "description": "The deposit amount paid for this proposal.", + "type": "string", + }, + "dropped_epoch": { + "nullable": true, + "type": "integer", + }, + "enacted_epoch": { + "nullable": true, + "type": "integer", + }, + "expiration": { + "description": "Shows the epoch at which this governance action will expire.", + "type": "integer", + }, + "expired_epoch": { + "nullable": true, + "type": "integer", + }, + "governance_description": { + "additionalProperties": true, + "description": "An object describing the content of this GovActionProposal in a readable way.", + "nullable": true, + "type": "object", + }, + "governance_type": { + "description": "Type of proposal.", + "enum": [ + "hard_fork_initiation", + "new_committee", + "new_constitution", + "info_action", + "no_confidence", + "parameter_change", + "treasury_withdrawals", + ], + "type": "string", + }, + "ratified_epoch": { + "nullable": true, + "type": "integer", + }, + "return_address": { + "description": "Bech32 stake address of the reward address to receive the deposit when it is repaid.", + "type": "string", + }, + "tx_hash": { + "description": "Hash of the proposal transaction.", + "type": "string", + }, + }, + "required": [ + "tx_hash", + "cert_index", + "governance_type", + "deposit", + "return_address", + "governance_description", + "ratified_epoch", + "enacted_epoch", + "dropped_epoch", + "expired_epoch", + "expiration", + "anchor_url", + "anchor_hash", + ], + "type": "object", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/governance/proposals/{tx_hash}/{cert_index}/votes": { + "params": { + "properties": { + "cert_index": { + "type": "integer", + }, + "tx_hash": { + "type": "string", + }, + }, + "type": "object", + }, + "querystring": { + "properties": { + "count": { + "default": 100, + "maximum": 100, + "minimum": 1, + "type": "integer", + }, + "order": { + "default": "asc", + "enum": [ + "asc", + "desc", + ], + "type": "string", + }, + "page": { + "default": 1, + "maximum": 21474836, + "minimum": 1, + "type": "integer", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": [ + { + "cert_index": 2, + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "vote": "yes", + "voter": "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn", + "voter_role": "drep", + }, + { + "cert_index": 3, + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "vote": "abstain", + "voter": "53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4", + "voter_role": "constitutional_committee", + }, + ], + "items": { + "properties": { + "cert_index": { + "description": "Index of the certificate within the voting transaction.", + "type": "integer", + }, + "tx_hash": { + "description": "Hash of the voting transaction.", + "type": "string", + }, + "vote": { + "description": "The Vote. Can be one of yes, no, abstain.", + "enum": [ + "yes", + "no", + "abstain", + ], + "type": "string", + }, + "voter": { + "description": "The actual voter.", + "type": "string", + }, + "voter_role": { + "description": "The role of the voter. Can be one of constitutional_committee, drep, spo.", + "enum": [ + "constitutional_committee", + "drep", + "spo", + ], + "type": "string", + }, + }, + "required": [ + "tx_hash", + "cert_index", + "voter_role", + "voter", + "vote", + ], + "type": "object", + }, + "type": "array", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/governance/votes": { + "querystring": { + "properties": { + "count": { + "default": 100, + "maximum": 100, + "minimum": 1, + "type": "integer", + }, + "order": { + "default": "asc", + "enum": [ + "asc", + "desc", + ], + "type": "string", + }, + "page": { + "default": 1, + "maximum": 21474836, + "minimum": 1, + "type": "integer", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": [ + { + "cert_index": 2, + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "vote": "yes", + "voter": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy", + "voter_role": "spo", + }, + { + "cert_index": 3, + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "vote": "abstain", + "voter": "53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4", + "voter_role": "constitutional_committee", + }, + ], + "items": { + "properties": { + "cert_index": { + "description": "Index of the certificate within the proposal transaction.", + "type": "integer", + }, + "tx_hash": { + "description": "Hash of the proposal transaction.", + "type": "string", + }, + "vote": { + "description": "The Vote. Can be one of yes, no, abstain.", + "enum": [ + "yes", + "no", + "abstain", + ], + "type": "string", + }, + "voter": { + "description": "The actual voter.", + "type": "string", + }, + "voter_role": { + "description": "The role of the voter. Can be one of constitutional_committee, drep, spo.", + "enum": [ + "constitutional_committee", + "drep", + "spo", + ], + "type": "string", + }, + }, + "required": [ + "tx_hash", + "cert_index", + "voter_role", + "voter", + "vote", + ], + "type": "object", + }, + "type": "array", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/health": { + "response": { + "200": { + "properties": { + "is_healthy": { + "example": true, + "type": "boolean", + }, + }, + "required": [ + "is_healthy", + ], + "type": "object", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/health/clock": { + "response": { + "200": { + "properties": { + "server_time": { + "example": 1603400958947, + "format": "int64", + "type": "integer", + }, + }, + "required": [ + "server_time", + ], + "type": "object", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/ipfs/add": { + "response": { + "200": { + "properties": { + "ipfs_hash": { + "description": "IPFS hash of the file", + "example": "QmZbHqiCxKEVX7QfijzJTkZiSi3WEVTcvANgNAWzDYgZDr", + "type": "string", + }, + "name": { + "description": "Name of the file", + "example": "README.md", + "type": "string", + }, + "size": { + "description": "IPFS node size in Bytes", + "example": "125297", + "type": "string", + }, + }, + "required": [ + "name", + "ipfs_hash", + "size", + ], + "type": "object", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { "example": 400, "type": "integer", }, @@ -16840,6 +18980,212 @@ relative to the start of the network }, }, }, + "/pools/{pool_id}/votes": { + "params": { + "properties": { + "pool_id": { + "type": "string", + }, + }, + "type": "object", + }, + "querystring": { + "properties": { + "count": { + "default": 100, + "maximum": 100, + "minimum": 1, + "type": "integer", + }, + "order": { + "default": "asc", + "enum": [ + "asc", + "desc", + ], + "type": "string", + }, + "page": { + "default": 1, + "maximum": 21474836, + "minimum": 1, + "type": "integer", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": [ + { + "cert_index": 2, + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "vote": "yes", + }, + ], + "items": { + "properties": { + "cert_index": { + "description": "Index of the certificate within the proposal transaction.", + "type": "integer", + }, + "tx_hash": { + "description": "Hash of the proposal transaction.", + "type": "string", + }, + "vote": { + "description": "The Vote. Can be one of yes, no, abstain.", + "enum": [ + "yes", + "no", + "abstain", + ], + "type": "string", + }, + }, + "required": [ + "tx_hash", + "cert_index", + "vote", + ], + "type": "object", + }, + "type": "array", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "404": { + "properties": { + "error": { + "example": "Not Found", + "type": "string", + }, + "message": { + "example": "The requested component has not been found.", + "type": "string", + }, + "status_code": { + "example": 404, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, "/scripts": { "querystring": { "properties": {