What the key you call with is: the organization it acts for, what it was minted with
(scopes, vaults, IP allowlist, expiry), the networks your installation serves, and the
address your call arrived from — the one the IP allowlist judges. Use it to check an
integration end to end. The token itself is never returned: Citadel keeps only its digest.
Takes no network. Needs the read scope, like every GET.
An API key minted in the console (ctd_…). Authenticates; never authorizes funds. A key
carries scopes (read, wallets.write, transactions.write, events.write,
webhooks.write, policy.write) and may be limited to vaults, to IP addresses, and in
lifetime — see Authentication.
The network the data lives on. Required wherever it appears in a request — there is no
default network. One your installation does not serve: 422 network_not_served.
The address this call arrived from: the one the IP allowlist judges.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Citadel API","colors":{"primary":"#1F5BD8","light":"#5B8BEF","dark":"#163F99"},"api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","javascript","python","go"]}},"integrations":{"telemetry":{"enabled":false}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"hasAudioNarration":false,"customDomains":[],"gitSource":{"type":"github","owner":"local","repo":"local","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"local","isBase":true},"buildId":"local","clientVersion":"0.0.4088"},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false,"isLoggedInCli":false,"mintExport":{}},"customCss":[],"page":{"pagePath":"api-reference/organization/get-the-calling-key","slug":"/api-reference/organization/get-the-calling-key","pageMetadata":{"openapi":"/openapi.yaml get /me","description":"What the key you call with is: the organization it acts for, what it was minted with\n(scopes, vaults, IP allowlist, expiry), the networks your installation serves, and the\naddress your call arrived from — the one the IP allowlist judges. Use it to check an\nintegration end to end. The token itself is never returned: Citadel keeps only its digest.\n\nTakes no `network`. Needs the `read` scope, like every `GET`.\n","href":"/api-reference/organization/get-the-calling-key","title":"Get the calling key"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"What the key you call with is: the organization it acts for, what it was minted with\\n(scopes, vaults, IP allowlist, expiry), the networks your installation serves, and the\\naddress your call arrived from — the one the IP allowlist judges. Use it to check an\\nintegration end to end. The token itself is never returned: Citadel keeps only its digest.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Takes no \", _jsx(_components.code, {\n children: \"network\"\n }), \". Needs the \", _jsx(_components.code, {\n children: \"read\"\n }), \" scope, like every \", _jsx(_components.code, {\n children: \"GET\"\n }), \".\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"/openapi.yaml get /me","description":"What the key you call with is: the organization it acts for, what it was minted with\n(scopes, vaults, IP allowlist, expiry), the networks your installation serves, and the\naddress your call arrived from — the one the IP allowlist judges. Use it to check an\nintegration end to end. The token itself is never returned: Citadel keeps only its digest.\n\nTakes no `network`. Needs the `read` scope, like every `GET`.\n","href":"/api-reference/organization/get-the-calling-key","title":"Get the calling key"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Organization"],"operationId":"getMe","summary":"Get the calling key","description":"What the key you call with is: the organization it acts for, what it was minted with\n(scopes, vaults, IP allowlist, expiry), the networks your installation serves, and the\naddress your call arrived from — the one the IP allowlist judges. Use it to check an\nintegration end to end. The token itself is never returned: Citadel keeps only its digest.\n\nTakes no `network`. Needs the `read` scope, like every `GET`.\n","responses":{"200":"41738e87-767c-497e-942d-e6f10f79f55e","401":"059931f8-7d15-471b-b245-66ca0139f40c","403":"20b53a9c-c405-44d6-b524-3b5b8bbbf11a"},"method":"get","type":"path","servers":["825d9789-7332-4a65-b039-b330384d4003"],"security":["24aebd70-fdbd-4dae-a4a9-d627e2d2711f"],"path":"/me","baseUrlOptions":["https://api.citadel.example/api/v1"],"title":"Get the calling key","codeSamples":[],"requestExampleLanguages":["bash","javascript","python","go"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"responses":{"41738e87-767c-497e-942d-e6f10f79f55e":{"description":"The calling key.","content":{"application/json":{"schema":{"type":"object","required":["organization","key","networks","remote_ip"],"properties":{"organization":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"organization.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","isRequired":true,"uniqueKey":"organization.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"organization","typeLabel":"object"},"key":{"type":"object","required":["id","name","prefix","scopes","vaults","ip_allowlist","expires_at","created_at"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"key.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","isRequired":true,"uniqueKey":"key.name","typeLabel":"string"},"prefix":{"type":"string","description":"The token's first characters, as the console shows them (`ctd_…`).","isRequired":true,"uniqueKey":"key.prefix","typeLabel":"string"},"scopes":{"type":"array","items":{"type":"string","enum":["read","wallets.write","transactions.write","events.write","webhooks.write","policy.write"],"uniqueKey":"key.scopes.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"key.scopes","typeLabel":"enum\u003cstring>[]"},"vaults":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"key.vaults.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"The vaults it is limited to; empty — every vault.","isRequired":true,"uniqueKey":"key.vaults","typeLabel":"string\u003cuuid>[]"},"ip_allowlist":{"type":"array","items":{"type":"string","uniqueKey":"key.ip_allowlist.items.[INDEX]","typeLabel":"string"},"description":"CIDR networks it may call from; empty — any address.","isRequired":true,"uniqueKey":"key.ip_allowlist","typeLabel":"string[]"},"expires_at":{"oneOf":[{"type":"string","format":"date-time","description":"null when it does not expire.","isRequired":true,"uniqueKey":"key.expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"null when it does not expire.","isRequired":true,"uniqueKey":"key.expires_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"key.expires_at","typeLabel":"string\u003cdate-time> | null"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"key.created_at","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"key","typeLabel":"object"},"networks":{"type":"array","items":{"type":"string","enum":["mainnet","testnet"],"description":"The network the data lives on. Required wherever it appears in a request — there is no\ndefault network. One your installation does not serve: `422 network_not_served`.\n","uniqueKey":"networks.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The networks your installation serves.","isRequired":true,"uniqueKey":"networks","typeLabel":"enum\u003cstring>[]"},"remote_ip":{"type":"string","description":"The address this call arrived from: the one the IP allowlist judges.","isRequired":true,"uniqueKey":"remote_ip","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"organization":{"id":"0199a3a0-0a1b-7c2d-8e3f-4a5b6c7d8e9f","name":"Acme"},"key":{"id":"0199a3a1-1b2c-7d3e-9f4a-5b6c7d8e9f0a","name":"payouts-backend","prefix":"ctd_a1b2c3","scopes":["read","transactions.write"],"vaults":["0199a3b0-1a2b-7c3d-8e4f-5a6b7c8d9e0f"],"ip_allowlist":["203.0.113.0/24"],"expires_at":"2027-01-05T09:00:00Z","created_at":"2026-10-07T09:00:00Z"},"networks":["mainnet"],"remote_ip":"203.0.113.17"},"examples":{"Example":{"title":"Example","value":{"organization":{"id":"0199a3a0-0a1b-7c2d-8e3f-4a5b6c7d8e9f","name":"Acme"},"key":{"id":"0199a3a1-1b2c-7d3e-9f4a-5b6c7d8e9f0a","name":"payouts-backend","prefix":"ctd_a1b2c3","scopes":["read","transactions.write"],"vaults":["0199a3b0-1a2b-7c3d-8e4f-5a6b7c8d9e0f"],"ip_allowlist":["203.0.113.0/24"],"expires_at":"2027-01-05T09:00:00Z","created_at":"2026-10-07T09:00:00Z"},"networks":["mainnet"],"remote_ip":"203.0.113.17"}}},"exampleType":"examples"}},"exampleType":"examples"},"059931f8-7d15-471b-b245-66ca0139f40c":{"description":"Missing, unknown, revoked or expired API key.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable; not stable.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable machine code, where one exists.","uniqueKey":"code","typeLabel":"string"},"retryable":{"type":"boolean","uniqueKey":"retryable","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"unauthorized"},"examples":{"Example":{"title":"Example","value":{"error":"unauthorized"}}},"exampleType":"examples"}},"exampleType":"examples"},"20b53a9c-c405-44d6-b524-3b5b8bbbf11a":{"description":"The key may not make this call. Nothing was created or reserved. `code`:\n`ip_not_allowed` — the call came from an address outside the key's IP allowlist;\n`scope_missing` — the key lacks the scope the endpoint needs;\n`vault_limited` — the key is limited to vaults and the wallet is outside them, or the\nendpoint drives or lists workflows, manages webhook endpoints, reads webhook deliveries,\nreads or changes the policy document, or asks for or reads a report.\n","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable; not stable.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable machine code, where one exists.","uniqueKey":"code","typeLabel":"string"},"retryable":{"type":"boolean","uniqueKey":"retryable","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"examples":{"ip_not_allowed":{"title":"ip_not_allowed","value":{"error":"request from 198.51.100.1 is not allowed for this key","code":"ip_not_allowed"}},"scope_missing":{"title":"scope_missing","value":{"error":"this key lacks the transactions.write scope","code":"scope_missing"}},"vault_limited":{"title":"vault_limited","value":{"error":"wallet is outside this key's vaults","code":"vault_limited"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"24aebd70-fdbd-4dae-a4a9-d627e2d2711f":{"bearerAuth":{"type":"http","scheme":"bearer","description":"An API key minted in the console (`ctd_…`). Authenticates; never authorizes funds. A key\ncarries scopes (`read`, `wallets.write`, `transactions.write`, `events.write`,\n`webhooks.write`, `policy.write`) and may be limited to vaults, to IP addresses, and in\nlifetime — see Authentication.\n","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"825d9789-7332-4a65-b039-b330384d4003":{"url":"https://api.citadel.example/api/v1"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"An API key minted in the console (`ctd_…`). Authenticates; never authorizes funds. A key\ncarries scopes (`read`, `wallets.write`, `transactions.write`, `events.write`,\n`webhooks.write`, `policy.write`) and may be limited to vaults, to IP addresses, and in\nlifetime — see Authentication.\n","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"An API key minted in the console (`ctd_…`). Authenticates; never authorizes funds. A key\ncarries scopes (`read`, `wallets.write`, `transactions.write`, `events.write`,\n`webhooks.write`, `policy.write`) and may be limited to vaults, to IP addresses, and in\nlifetime — see Authentication.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"localhost","siteName":"Citadel API","title":"Get the calling key - Citadel API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"originalFileLocation":"api-reference/organization/get-the-calling-key.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"What the key you call with is: the organization it acts for, what it was minted with (scopes, vaults, IP allowlist, expiry), the networks your installation serves, and the address your call arrived from — the one the IP allowlist judges. Use it to check an integration end to end. The token itself is never returned: Citadel keeps only its digest. Takes no network. Needs the read scope, like every GET.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Citadel API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/local/_generated/favicon/apple-touch-icon.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/local/_generated/favicon/favicon-32x32.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/local/_generated/favicon/favicon-16x16.png?v=3\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/local/_generated/favicon/favicon.ico?v=3\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get the calling key - Citadel API\">\u003cmeta data-mint-head property=\"og:description\" content=\"What the key you call with is: the organization it acts for, what it was minted with (scopes, vaults, IP allowlist, expiry), the networks your installation serves, and the address your call arrived from — the one the IP allowlist judges. Use it to check an integration end to end. The token itself is never returned: Citadel keeps only its digest. Takes no network. Needs the read scope, like every GET.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Citadel API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://local./api-reference/organization/get-the-calling-key\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get the calling key - Citadel API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"What the key you call with is: the organization it acts for, what it was minted with (scopes, vaults, IP allowlist, expiry), the networks your installation serves, and the address your call arrived from — the one the IP allowlist judges. Use it to check an integration end to end. The token itself is never returned: Citadel keeps only its digest. Takes no network. Needs the read scope, like every GET.\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/local/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Citadel API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1F5BD8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://local./api-reference/organization/get-the-calling-key\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/organization/get-the-calling-key.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Citadel API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Citadel API","nav":{"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API reference","groups":[{"group":"Wallets","pages":[{"title":"List wallets","openapi":"/openapi.yaml get /wallets","href":"/api-reference/wallets/list-wallets"},{"title":"Issue a deposit wallet","openapi":"/openapi.yaml post /wallets","href":"/api-reference/wallets/issue-a-deposit-wallet"},{"title":"Issue wallets in a batch","openapi":"/openapi.yaml post /wallets/batch","href":"/api-reference/wallets/issue-wallets-in-a-batch"},{"title":"Get a wallet","openapi":"/openapi.yaml get /wallets/{reference}","href":"/api-reference/wallets/get-a-wallet"},{"title":"Update a wallet","openapi":"/openapi.yaml patch /wallets/{reference}","href":"/api-reference/wallets/update-a-wallet"},{"title":"Retire a wallet","openapi":"/openapi.yaml post /wallets/{reference}/retire","href":"/api-reference/wallets/retire-a-wallet"},{"title":"Get a wallet balance","openapi":"/openapi.yaml get /wallets/{reference}/balance","href":"/api-reference/wallets/get-a-wallet-balance"},{"title":"Get a wallet's limits","openapi":"/openapi.yaml get /wallets/{reference}/limits","href":"/api-reference/wallets/get-a-wallets-limits"}]},{"group":"Transactions","pages":[{"title":"List transactions","openapi":"/openapi.yaml get /transactions","href":"/api-reference/transactions/list-transactions"},{"title":"Send a transaction","openapi":"/openapi.yaml post /transactions","href":"/api-reference/transactions/send-a-transaction"},{"title":"Estimate a transaction","openapi":"/openapi.yaml post /transactions/estimate","href":"/api-reference/transactions/estimate-a-transaction"},{"title":"Get a transaction","openapi":"/openapi.yaml get /transactions/{id}","href":"/api-reference/transactions/get-a-transaction"},{"title":"Cancel a transaction","openapi":"/openapi.yaml post /transactions/{id}/cancel","href":"/api-reference/transactions/cancel-a-transaction"},{"title":"Speed up a stuck EVM transaction","openapi":"/openapi.yaml post /transactions/{id}/speedup","href":"/api-reference/transactions/speed-up-a-stuck-evm-transaction"},{"title":"Validate an address","openapi":"/openapi.yaml get /addresses/validate","href":"/api-reference/transactions/validate-an-address"}]},{"group":"Transfers","pages":[{"title":"List transfers","openapi":"/openapi.yaml get /transfers","href":"/api-reference/transfers/list-transfers"},{"title":"Get a transfer","openapi":"/openapi.yaml get /transfers/{tx_hash}","href":"/api-reference/transfers/get-a-transfer"}]},{"group":"Reference","pages":[{"title":"List networks and chains","openapi":"/openapi.yaml get /networks","href":"/api-reference/reference/list-networks-and-chains"},{"title":"List assets","openapi":"/openapi.yaml get /assets","href":"/api-reference/reference/list-assets"},{"title":"List asset prices","openapi":"/openapi.yaml get /prices","href":"/api-reference/reference/list-asset-prices"},{"title":"Get network status","openapi":"/openapi.yaml get /status","href":"/api-reference/reference/get-network-status"}]},{"group":"Organization","pages":[{"title":"List vaults","openapi":"/openapi.yaml get /vaults","href":"/api-reference/organization/list-vaults"},{"title":"Get organization balances","description":"What your organization holds on one network, in base units, per chain instance and\nasset: the totals of `GET /wallets/{reference}/balance` over every wallet, without a\nrequest per wallet. With `vault`, over that vault only.\n\n`balance` is what the chains hold, `escrow` what transactions in flight have reserved out\nof it, `staked` what is locked, and `spendable` is `balance - escrow`. The same token on\ntwo chain instances is two rows, never one sum: USDT on TRON and on BSC are two contracts,\nwith their own `decimals`. An asset Citadel does not list in `GET /assets` reads as its\ncontract, with `decimals: null`.\n\n`network` is required: each network keeps its own books, and a total never spans them.\nNeeds the `read` scope. A key limited to vaults totals those vaults only; a `vault`\noutside them answers `404`.\n","openapi":"/openapi.yaml get /balances","href":"/api-reference/organization/get-organization-balances"},{"title":"Get the calling key","openapi":"/openapi.yaml get /me","href":"/api-reference/organization/get-the-calling-key"},{"title":"Get the billing balance","description":"Your organization's prepaid balance for paid workflow steps — TRON energy and bandwidth,\naccount activation, compliance screening — in micro-USDT (`decimals: 6`), as integer\nstrings. A paid step holds its estimated price before it asks the provider and settles to\nthe actual price after; when `spendable` cannot cover the hold, the step does not run and\nthe workflow follows its \"unavailable\" rule.\n\n`available` is the balance; `held` what running steps hold; `receivable` what a provider\ncharged beyond what the balance could cover, which your next top-up pays first;\n`credit_limit` how far below zero `available` may go (`0` — prepaid); `spendable`\nwhat a new hold may still take, `available + credit_limit`. `open_holds` counts the steps\nstill holding.\n\nOne balance for the organization: it takes no `network`. Needs the `read` scope.\n","openapi":"/openapi.yaml get /billing/balance","href":"/api-reference/organization/get-the-billing-balance"}]},{"group":"Approvals","pages":[{"title":"List approvals","openapi":"/openapi.yaml get /approvals","href":"/api-reference/approvals/list-approvals"}]},{"group":"Policy","pages":[{"title":"Get the policy document","openapi":"/openapi.yaml get /policy","href":"/api-reference/policy/get-the-policy-document"},{"title":"Draft the policy document","openapi":"/openapi.yaml post /policy/drafts","href":"/api-reference/policy/draft-the-policy-document"},{"title":"Get a policy draft","openapi":"/openapi.yaml get /policy/drafts/{version}","href":"/api-reference/policy/get-a-policy-draft"},{"title":"Publish a signed policy draft","openapi":"/openapi.yaml post /policy/publish","href":"/api-reference/policy/publish-a-signed-policy-draft"}]},{"group":"Workflows","pages":[{"title":"Start workflows by event","openapi":"/openapi.yaml post /events/{name}","href":"/api-reference/workflows/start-workflows-by-event"},{"title":"List workflow runs","openapi":"/openapi.yaml get /runs","href":"/api-reference/workflows/list-workflow-runs"},{"title":"Get a workflow run","openapi":"/openapi.yaml get /runs/{id}","href":"/api-reference/workflows/get-a-workflow-run"},{"title":"Cancel a workflow run","openapi":"/openapi.yaml post /runs/{id}/cancel","href":"/api-reference/workflows/cancel-a-workflow-run"},{"title":"List workflows","openapi":"/openapi.yaml get /workflows","href":"/api-reference/workflows/list-workflows"}]},{"group":"Webhook endpoints","pages":[{"title":"List webhook endpoints","openapi":"/openapi.yaml get /webhook_endpoints","href":"/api-reference/webhook-endpoints/list-webhook-endpoints"},{"title":"Add a webhook endpoint","openapi":"/openapi.yaml post /webhook_endpoints","href":"/api-reference/webhook-endpoints/add-a-webhook-endpoint"},{"title":"Get a webhook endpoint","openapi":"/openapi.yaml get /webhook_endpoints/{id}","href":"/api-reference/webhook-endpoints/get-a-webhook-endpoint"},{"title":"Remove a webhook endpoint","openapi":"/openapi.yaml delete /webhook_endpoints/{id}","href":"/api-reference/webhook-endpoints/remove-a-webhook-endpoint"},{"title":"Change a webhook endpoint","openapi":"/openapi.yaml patch /webhook_endpoints/{id}","href":"/api-reference/webhook-endpoints/change-a-webhook-endpoint"},{"title":"Send a test delivery","openapi":"/openapi.yaml post /webhook_endpoints/{id}/test","href":"/api-reference/webhook-endpoints/send-a-test-delivery"},{"title":"Rotate the signing secret","openapi":"/openapi.yaml post /webhook_endpoints/{id}/rotate_secret","href":"/api-reference/webhook-endpoints/rotate-the-signing-secret"}]},{"group":"Webhook deliveries","pages":[{"title":"List webhook deliveries","openapi":"/openapi.yaml get /webhook_deliveries","href":"/api-reference/webhook-deliveries/list-webhook-deliveries"},{"title":"Retry a failed delivery","openapi":"/openapi.yaml post /webhook_deliveries/{id}/retry","href":"/api-reference/webhook-deliveries/retry-a-failed-delivery"},{"title":"Retry the failed deliveries of a period","openapi":"/openapi.yaml post /webhook_deliveries/retry","href":"/api-reference/webhook-deliveries/retry-the-failed-deliveries-of-a-period"}]},{"group":"Reports","pages":[{"title":"Ask for a report","openapi":"/openapi.yaml post /reports","href":"/api-reference/reports/ask-for-a-report"},{"title":"Get a report","openapi":"/openapi.yaml get /reports/{id}","href":"/api-reference/reports/get-a-report"},{"title":"Download a report's file","openapi":"/openapi.yaml get /reports/{id}/file","href":"/api-reference/reports/download-a-reports-file"}]},{"group":"API Reference","pages":[{"title":"Operation*","openapi":"/openapi.yaml webhook operation","href":"/api-reference/operation*"},{"title":"Blockchain event*","openapi":"/openapi.yaml webhook blockchain_event","href":"/api-reference/blockchain_event*"},{"title":"Run*","openapi":"/openapi.yaml webhook run","href":"/api-reference/run*"},{"title":"Wallet*","openapi":"/openapi.yaml webhook wallet","href":"/api-reference/wallet*"}]}]}]},"basePath":"","title":"Get the calling key - Citadel API","buildId":"3c5c97139bf8","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DGp7Pxzx.js","utils-8Jv-1L07.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CLSsw4wM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-RrVIaDh7.js","snippetPresets-DSI4wgEf.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-W2e9g_oX.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CDpwfEDw.js","shallow-Dq5-SwG1.js","getApiPlaygroundDisplay-basMZYRO.js","CodeSnippet-CWKJfCQt.js","CodeSnippets-xDLW1FEv.js","Page-Dc5qkJG8.js","getPastedJson-DObxGgIR.js","icon-HMNWawTa.js","MethodPill-DA_6XsWN.js","DuplicateIcon-DK5o2DOi.js","createIcon-BhUMOhLi.js","DynamicMarkdown-Dokq7GGW.js","SectionHeading-DSaxk-9e.js","axios-vUo_bRtp.js","Markdown-BDO6y5hF.js","clsx-DfU2JnNK.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BRVLaqXg.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CxOoiG7S.js"]}