Your organization’s webhook endpoints, oldest first, in one response. A row never carries
the signing secret: it is shown once, when the endpoint is added or its secret rotated.
Takes no network: an endpoint hears every network. Needs the read scope. A key limited
to vaults is refused with 403 vault_limited: an endpoint serves every vault.
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.
{"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/webhook-endpoints/list-webhook-endpoints","slug":"/api-reference/webhook-endpoints/list-webhook-endpoints","pageMetadata":{"openapi":"/openapi.yaml get /webhook_endpoints","description":"Your organization's webhook endpoints, oldest first, in one response. A row never carries\nthe signing secret: it is shown once, when the endpoint is added or its secret rotated.\n\nTakes no `network`: an endpoint hears every network. Needs the `read` scope. A key limited\nto vaults is refused with `403 vault_limited`: an endpoint serves every vault.\n","href":"/api-reference/webhook-endpoints/list-webhook-endpoints","title":"List webhook endpoints"},"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: \"Your organization’s webhook endpoints, oldest first, in one response. A row never carries\\nthe signing secret: it is shown once, when the endpoint is added or its secret rotated.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Takes no \", _jsx(_components.code, {\n children: \"network\"\n }), \": an endpoint hears every network. Needs the \", _jsx(_components.code, {\n children: \"read\"\n }), \" scope. A key limited\\nto vaults is refused with \", _jsx(_components.code, {\n children: \"403 vault_limited\"\n }), \": an endpoint serves every vault.\"]\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 /webhook_endpoints","description":"Your organization's webhook endpoints, oldest first, in one response. A row never carries\nthe signing secret: it is shown once, when the endpoint is added or its secret rotated.\n\nTakes no `network`: an endpoint hears every network. Needs the `read` scope. A key limited\nto vaults is refused with `403 vault_limited`: an endpoint serves every vault.\n","href":"/api-reference/webhook-endpoints/list-webhook-endpoints","title":"List webhook endpoints"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Webhook endpoints"],"operationId":"listWebhookEndpoints","summary":"List webhook endpoints","description":"Your organization's webhook endpoints, oldest first, in one response. A row never carries\nthe signing secret: it is shown once, when the endpoint is added or its secret rotated.\n\nTakes no `network`: an endpoint hears every network. Needs the `read` scope. A key limited\nto vaults is refused with `403 vault_limited`: an endpoint serves every vault.\n","responses":{"200":"5c356988-12dc-4bf3-b661-f2ba92cc8e07","401":"7cc22246-22fa-4eb4-920e-0fe24b8fbda3","403":"659a43e3-1f3d-445c-bff0-3e213895c4d3"},"method":"get","type":"path","servers":["825d9789-7332-4a65-b039-b330384d4003"],"security":["24aebd70-fdbd-4dae-a4a9-d627e2d2711f"],"path":"/webhook_endpoints","baseUrlOptions":["https://api.citadel.example/api/v1"],"title":"List webhook endpoints","codeSamples":[],"requestExampleLanguages":["bash","javascript","python","go"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"responses":{"5c356988-12dc-4bf3-b661-f2ba92cc8e07":{"description":"Every endpoint of your organization.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","url","description","event_types","state","disabled_at","consecutive_failures","previous_secret_expires_at","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"url":{"type":"string","description":"Where Citadel posts. An `https://` URL with a host.","isRequired":true,"uniqueKey":"data.items.[INDEX].url","typeLabel":"string"},"description":{"oneOf":[{"type":"string","description":"What the endpoint is for — your words.","isRequired":true,"uniqueKey":"data.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","description":"What the endpoint is for — your words.","isRequired":true,"uniqueKey":"data.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].description","typeLabel":"string | null"},"event_types":{"type":"array","items":{"type":"string","enum":["operation.confirmed","operation.failed","operation.expired","operation.stuck","operation.awaiting_approval","operation.approved","blockchain_event.confirmed","run.completed","run.failed","wallet.active","wallet.failed"],"uniqueKey":"data.items.[INDEX].event_types.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The events it hears. `[]` hears every event.","isRequired":true,"uniqueKey":"data.items.[INDEX].event_types","typeLabel":"enum\u003cstring>[]"},"state":{"type":"string","enum":["active","paused","disabled"],"description":"`active` receives its events. `paused`: you paused it. `disabled`: Citadel turned it off\nafter 5 deliveries in a row exhausted their attempts. Neither of the last two gets a\ndelivery, not even a later one: `PATCH` with `state: active` resumes it.\n","isRequired":true,"uniqueKey":"data.items.[INDEX].state","typeLabel":"enum\u003cstring>"},"disabled_at":{"oneOf":[{"type":"string","format":"date-time","description":"When it was paused or disabled; `null` while active.","isRequired":true,"uniqueKey":"data.items.[INDEX].disabled_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When it was paused or disabled; `null` while active.","isRequired":true,"uniqueKey":"data.items.[INDEX].disabled_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].disabled_at","typeLabel":"string\u003cdate-time> | null"},"consecutive_failures":{"type":"integer","description":"Deliveries in a row that exhausted their attempts. At 5 the endpoint is disabled; a delivered one, or a resume, sets it back to 0.","isRequired":true,"uniqueKey":"data.items.[INDEX].consecutive_failures","typeLabel":"integer"},"previous_secret_expires_at":{"oneOf":[{"type":"string","format":"date-time","description":"While a rotated secret still signs next to the new one, until when; else `null`.","isRequired":true,"uniqueKey":"data.items.[INDEX].previous_secret_expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"While a rotated secret still signs next to the new one, until when; else `null`.","isRequired":true,"uniqueKey":"data.items.[INDEX].previous_secret_expires_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].previous_secret_expires_at","typeLabel":"string\u003cdate-time> | null"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.items.[INDEX].created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.items.[INDEX].updated_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"data.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"data":[{"id":"0199a2f0-1b00-7a11-8c22-3d4e5f6a7b8c","url":"https://merchant.example/hooks/citadel","description":"Production backend","event_types":["operation.confirmed","operation.failed","blockchain_event.confirmed"],"state":"active","disabled_at":null,"consecutive_failures":0,"previous_secret_expires_at":null,"created_at":"2026-10-01T09:00:00Z","updated_at":"2026-10-01T09:00:00Z"}]},"examples":{"Example":{"title":"Example","value":{"data":[{"id":"0199a2f0-1b00-7a11-8c22-3d4e5f6a7b8c","url":"https://merchant.example/hooks/citadel","description":"Production backend","event_types":["operation.confirmed","operation.failed","blockchain_event.confirmed"],"state":"active","disabled_at":null,"consecutive_failures":0,"previous_secret_expires_at":null,"created_at":"2026-10-01T09:00:00Z","updated_at":"2026-10-01T09:00:00Z"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"7cc22246-22fa-4eb4-920e-0fe24b8fbda3":{"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"},"659a43e3-1f3d-445c-bff0-3e213895c4d3":{"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":"List webhook endpoints - Citadel API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"originalFileLocation":"api-reference/webhook-endpoints/list-webhook-endpoints.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=\"Your organization\u0026#x27;s webhook endpoints, oldest first, in one response. A row never carries the signing secret: it is shown once, when the endpoint is added or its secret rotated. Takes no network: an endpoint hears every network. Needs the read scope. A key limited to vaults is refused with 403 vault_limited: an endpoint serves every vault.\">\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=\"List webhook endpoints - Citadel API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Your organization\u0026#x27;s webhook endpoints, oldest first, in one response. A row never carries the signing secret: it is shown once, when the endpoint is added or its secret rotated. Takes no network: an endpoint hears every network. Needs the read scope. A key limited to vaults is refused with 403 vault_limited: an endpoint serves every vault.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Citadel API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://local./api-reference/webhook-endpoints/list-webhook-endpoints\">\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=\"List webhook endpoints - Citadel API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Your organization\u0026#x27;s webhook endpoints, oldest first, in one response. A row never carries the signing secret: it is shown once, when the endpoint is added or its secret rotated. Takes no network: an endpoint hears every network. Needs the read scope. A key limited to vaults is refused with 403 vault_limited: an endpoint serves every vault.\">\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/webhook-endpoints/list-webhook-endpoints\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/webhook-endpoints/list-webhook-endpoints.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","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","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","description":"The active, published workflows on one network, by name. For a workflow your backend\nstarts, `event` is the name `POST /events/{name}` takes and `inputs` what it declares: each\ninput's key, type and whether it is required. A workflow Citadel starts itself (on a\ndeposit, on a schedule) or another workflow calls has `event: null` and no inputs. `name`\nis what `GET /runs` filters on.\n\nAn input's `type` is what `POST /events/{name}` checks its value against: `wallet` one of\nyour active wallets on the network (reference, id or address), `asset` an asset credited\nthere (symbol or contract), `address` a TRON address, `amount` a base-unit integer,\n`number` an integer, `decimal` a decimal number, `boolean` `true` or `false`, `string`\nanything.\n\n`network` is required. Needs the `read` scope. A key limited to vaults is refused with\n`403 vault_limited`, like the event door.\n","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","description":"Registers a URL to receive webhooks. Citadel generates its signing secret and shows it in\nthis answer only: store it now. Lost it? Rotate the secret.\n\nOne endpoint per URL: a URL your organization already has answers\n`409 endpoint_exists` and adds nothing, so an add sent twice (a lost response, a retried\nscript) never registers the URL twice. Change the existing one with `PATCH` instead.\n\n`url` is an `https://` URL with a host; `https://` alone, or a URL with a space in its\nhost, answers `422`. A field the endpoint does not take (`secret`, `network`, …), or a field\nsent in the query string instead of the body, is refused with `422`, never ignored. Needs\nthe `webhooks.write` scope. A key limited to vaults is refused with `403 vault_limited`.\n","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":"List webhook endpoints - 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"]}