Sources, newest first, with the source types this deployment polls and the plan's shortest poll interval. The encrypted config column is never returned.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Hookie","description":"Capture, route and deliver webhooks on Cloudflare — ingest anything, route it into datasets with rules, and deliver signed events with retries, AI triggers and multi-step workflows.","colors":{"primary":"#2B56A1","light":"#749ADC","dark":"#2CB8B8"},"logo":{"light":"https://mintcdn.com/hookie-ai/3zmwtACPzz3wb-OX/logo/light.svg?fit=max\u0026auto=format\u0026n=3zmwtACPzz3wb-OX\u0026q=85\u0026s=3d05bb847a5407bc7e75e7270aafc101","dark":"https://mintcdn.com/hookie-ai/3zmwtACPzz3wb-OX/logo/dark.svg?fit=max\u0026auto=format\u0026n=3zmwtACPzz3wb-OX\u0026q=85\u0026s=3a34a943f368167074930496ba10fa63","href":"https://hookie.ai"},"favicon":"https://mintcdn.com/hookie-ai/3zmwtACPzz3wb-OX/favicon.svg?fit=max\u0026auto=format\u0026n=3zmwtACPzz3wb-OX\u0026q=85\u0026s=e81ffa68ca681fd9823d22e0e57d7003","api":{"openapi":"openapi.json","playground":{"display":"interactive"},"examples":{"languages":["bash","javascript","python"]}},"navbar":{"links":[{"href":"https://hookie.ai","label":"Hookie.ai"},{"href":"https://hookie.ai/use-cases","label":"Use cases"},{"href":"https://hookie.ai/pricing","label":"Pricing"}],"primary":{"type":"button","label":"Open console","href":"https://app.hookie.ai/"}},"footer":{"socials":{"website":"https://hookie.ai"},"links":[{"header":"Product","items":[{"label":"Features","href":"https://hookie.ai/features"},{"label":"Use cases","href":"https://hookie.ai/use-cases"},{"label":"Pricing","href":"https://hookie.ai/pricing"},{"label":"Changelog","href":"https://hookie.ai/changelog"},{"label":"Status","href":"https://hookie.ai/status"}]},{"header":"Docs","items":[{"label":"Quickstart","href":"/quickstart"},{"label":"API reference","href":"/api-reference"},{"label":"Connected agents","href":"/connected-agents"}]},{"header":"Company","items":[{"label":"Security","href":"https://hookie.ai/security"},{"label":"Contact","href":"https://hookie.ai/contact"}]},{"header":"Legal","items":[{"label":"Terms","href":"https://hookie.ai/legal/terms"},{"label":"Privacy","href":"https://hookie.ai/legal/privacy"},{"label":"Acceptable use","href":"https://hookie.ai/legal/acceptable-use"}]}]},"styling":{"codeblocks":"dark","latex":true},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hookie-ai","hasAudioNarration":false,"actualSubdomain":"hookie-ai","customDomains":["docs.hookie.ai"],"gitSource":{"type":"github","owner":"bcusack1996","repo":"hookie-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6acb37193d9a94205f095409","collectionId":"0e08d911-dc25-4671-83b6-91f9acd96a01","liveDeploymentHistoryId":"6acb37193d9a94205f095409","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6acb37193d9a94205f095409","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"API reference","count":224},{"language":"default","tag":"Workspace","count":26},{"language":"default","tag":"Guides","count":20},{"language":"default","tag":"Customer Portal","count":18},{"language":"default","tag":"Portals","count":12},{"language":"default","tag":"Ingest","count":10},{"language":"default","tag":"SSO","count":10},{"language":"default","tag":"Workflows","count":10},{"language":"default","tag":"Concepts","count":9},{"language":"default","tag":"Webhooks","count":9}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/sources/list-inbound-source-connectors-in-a-project","slug":"/api-reference/sources/list-inbound-source-connectors-in-a-project","pageMetadata":{"title":"List inbound source connectors in a project","description":"Pages with ?limit and ?offset and returns total, limit and offset beside the array, which is unchanged (DX-6, #201).","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/sources","href":"/api-reference/sources/list-inbound-source-connectors-in-a-project","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Pages with ?limit and ?offset and returns total, limit and offset beside the array, which is unchanged (DX-6, #201).\"\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":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"List inbound source connectors in a project","description":"Pages with ?limit and ?offset and returns total, limit and offset beside the array, which is unchanged (DX-6, #201).","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/sources","href":"/api-reference/sources/list-inbound-source-connectors-in-a-project","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"listSources","summary":"List inbound source connectors in a project","tags":["Sources"],"responses":{"200":"39166b21-1ca5-4e01-8008-0a6602a2991e","401":"34c30f9e-d813-421b-a2a5-5aada73f14b9","403":"6d82a151-1c8f-4b9b-b7ed-c078efeb0587","404":"9ddc50be-5eb8-46ad-8c0a-728c0a1918b6","429":"1233edaa-31e8-47b5-a9a5-dd96b6150de1","500":"43a6ce58-b9f5-4596-998a-91732a811079"},"parameters":["c352a878-79a7-4ee4-bb21-c4f8de9f67cd","a31b456d-c0cb-4f8d-9435-fcfd587f5c9d","3c1cbd51-6e02-4df0-996c-a0bbce4132ae"],"security":["1366dceb-aa11-4503-ae96-80a48e5f8b4a","091d5adc-3263-4563-aa3c-ba17bbe48a59","db52ad66-c731-485e-aaee-e469460a75ad"],"description":"Pages with ?limit and ?offset and returns total, limit and offset beside the array, which is unchanged (DX-6, #201).","method":"get","type":"path","servers":["0ea1ddc9-3a31-4421-86e4-db5233ac2213","d5e32d1f-0c83-4838-aa53-3e0ffb5d5c54"],"path":"/admin/api/projects/{project_id}/sources","baseUrlOptions":["https://app.hookie.ai","https://app.preview.hookie.ai"],"title":"List inbound source connectors in a project","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"c352a878-79a7-4ee4-bb21-c4f8de9f67cd":{"name":"project_id","in":"path","required":true,"description":"Project id (UUID). Must belong to the caller's workspace.","schema":{"type":"string","isRequired":true,"description":"Project id (UUID). Must belong to the caller's workspace.","uniqueKey":"","typeLabel":"string"}},"a31b456d-c0cb-4f8d-9435-fcfd587f5c9d":{"name":"limit","in":"query","required":false,"description":"Page size, 1-1000. Omitted, the whole list up to 1000 rows (#201).","schema":{"type":"integer","minimum":1,"maximum":1000,"default":1000,"isRequired":false,"description":"Page size, 1-1000. Omitted, the whole list up to 1000 rows (#201).","uniqueKey":"","typeLabel":"integer"}},"3c1cbd51-6e02-4df0-996c-a0bbce4132ae":{"name":"offset","in":"query","required":false,"description":"Rows to skip (#201).","schema":{"type":"integer","minimum":0,"default":0,"isRequired":false,"description":"Rows to skip (#201).","uniqueKey":"","typeLabel":"integer"}}},"responses":{"39166b21-1ca5-4e01-8008-0a6602a2991e":{"description":"Sources, newest first, with the source types this deployment polls and the plan's shortest poll interval. The encrypted `config` column is never returned.","content":{"application/json":{"schema":{"type":"object","required":["sources","types","min_poll_interval"],"properties":{"sources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","uniqueKey":"sources.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","uniqueKey":"sources.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","description":"`postgres`. A source stored as `mysql` or `http` before those were withdrawn (#196) still lists; its poll fails with a last_error saying it is not supported.","uniqueKey":"sources.items.[INDEX].type","typeLabel":"string"},"dataset":{"type":"string","uniqueKey":"sources.items.[INDEX].dataset","typeLabel":"string"},"cursor_column":{"oneOf":[{"type":"string","uniqueKey":"sources.items.[INDEX].cursor_column.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"sources.items.[INDEX].cursor_column.oneOf.1","typeLabel":"null"}],"uniqueKey":"sources.items.[INDEX].cursor_column","typeLabel":"string | null"},"last_cursor":{"oneOf":[{"type":"string","uniqueKey":"sources.items.[INDEX].last_cursor.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"sources.items.[INDEX].last_cursor.oneOf.1","typeLabel":"null"}],"uniqueKey":"sources.items.[INDEX].last_cursor","typeLabel":"string | null"},"poll_interval":{"type":"integer","description":"Seconds.","uniqueKey":"sources.items.[INDEX].poll_interval","typeLabel":"integer"},"enabled":{"type":"integer","enum":[0,1],"description":"Raw D1 integer, not a boolean.","uniqueKey":"sources.items.[INDEX].enabled","typeLabel":"enum\u003cinteger>"},"last_run_at":{"oneOf":[{"type":"string","uniqueKey":"sources.items.[INDEX].last_run_at.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"sources.items.[INDEX].last_run_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"sources.items.[INDEX].last_run_at","typeLabel":"string | null"},"last_error":{"oneOf":[{"type":"string","uniqueKey":"sources.items.[INDEX].last_error.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"sources.items.[INDEX].last_error.oneOf.1","typeLabel":"null"}],"uniqueKey":"sources.items.[INDEX].last_error","typeLabel":"string | null"},"created_at":{"type":"string","uniqueKey":"sources.items.[INDEX].created_at","typeLabel":"string"},"paused_reason":{"oneOf":[{"type":"string","enum":["over_plan_limit",null],"description":"Why the row is off when its user did not turn it off (#212). `over_plan_limit`: the workspace's plan dropped below what it runs, so the newest rows beyond the new plan's cap were paused (enabled 0); they resume by themselves, oldest first, when the plan allows them again. null for a running row or one a user disabled, which no plan change ever turns back on. Toggling `enabled` clears it.","uniqueKey":"sources.items.[INDEX].paused_reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["over_plan_limit",null],"description":"Why the row is off when its user did not turn it off (#212). `over_plan_limit`: the workspace's plan dropped below what it runs, so the newest rows beyond the new plan's cap were paused (enabled 0); they resume by themselves, oldest first, when the plan allows them again. null for a running row or one a user disabled, which no plan change ever turns back on. Toggling `enabled` clears it.","uniqueKey":"sources.items.[INDEX].paused_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"sources.items.[INDEX].paused_reason","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"sources.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"sources","typeLabel":"object[]"},"types":{"type":"array","items":{"type":"string","enum":["postgres"],"uniqueKey":"types.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The source types a create accepts.","isRequired":true,"uniqueKey":"types","typeLabel":"enum\u003cstring>[]"},"min_poll_interval":{"type":"integer","description":"Seconds: the shortest interval this workspace's plan polls at (Pro 60, Team 30). A shorter one is saved as this.","isRequired":true,"uniqueKey":"min_poll_interval","typeLabel":"integer"},"total":{"type":"integer","description":"Rows in the whole list, before limit/offset (#201).","uniqueKey":"total","typeLabel":"integer"},"limit":{"type":"integer","uniqueKey":"limit","typeLabel":"integer"},"offset":{"type":"integer","uniqueKey":"offset","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"sources":[{"id":"\u003cstring>","name":"\u003cstring>","type":"\u003cstring>","dataset":"\u003cstring>","cursor_column":"\u003cstring>","last_cursor":"\u003cstring>","poll_interval":123,"enabled":0,"last_run_at":"\u003cstring>","last_error":"\u003cstring>","created_at":"\u003cstring>","paused_reason":"over_plan_limit"}],"types":["postgres"],"min_poll_interval":123,"total":123,"limit":123,"offset":123}}},"exampleType":"generated"}},"exampleType":"generated"},"34c30f9e-d813-421b-a2a5-5aada73f14b9":{"description":"Not signed in, or the agent bearer token is invalid/revoked.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable reason.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait. Present on 429.","uniqueKey":"retry_after","typeLabel":"integer"},"upgrade_url":{"type":"string","format":"uri","description":"Present on a monthly-quota 429, and on a `member_limit_reached` 403 (the console's Settings → Plan \u0026 billing).","uniqueKey":"upgrade_url","typeLabel":"string\u003curi>"},"reason":{"type":"string","description":"Machine-readable reason, where the status alone is ambiguous. `workspace_suspended` (403): the workspace is suspended; `delivery_allowance_exhausted` (429): a replay was refused because the monthly delivery allowance is used. `endpoint_disabled` (503): the endpoint is switched off; `handshake_failed`: a provider URL-verification challenge could not be answered (#193). `missing_header`, `bad_signature`, `stale_timestamp` (401): an endpoint's provider signature check failed; `scheme` names the check. `portal_customer_mismatch` (409): a portal token was requested for, or the vendor switched on the endpoint of, a customer other than the one the portal now serves (PORT-2g); `customer_id` and `customer_name` name that customer. Agent self-registration (#331), on /v1/agents/register: `rate_limited` (429), `agent_registration_disabled` and `agent_registration_unavailable` (503), `invalid_body`, `invalid_agent_name`, `invalid_operator_contact`, `terms_not_accepted` (with `terms_version`), `proof_of_work_required`, `invalid_challenge`, `challenge_expired`, `invalid_proof_of_work`, `invalid_idempotency_key` (400), `body_too_large` (413), `already_registered`, `registration_in_progress`, `challenge_spent` (409, with `account_id`), `daily_cap_reached`, `source_daily_limit` (429), `identity_provider_error` (502), `registration_incomplete` (503).","uniqueKey":"reason","typeLabel":"string"},"code":{"type":"string","enum":["agent_scope_insufficient","insufficient_role","agent_not_permitted","member_limit_reached"],"description":"Present on a 403 to an OAuth-connected agent, and on a member-limit 403 to anyone. `agent_scope_insufficient`: the agent's grant is below what the call needs, and widening it would let the call through (see `required_scope` and `manage_url`). `insufficient_role`: the user's OWN workspace role does not allow the call, so no grant can — a workspace owner or admin has to change the user's role first, in the console under Settings → Members. `agent_not_permitted`: no connected agent or API key may do this at any scope (billing, platform admin, managing connected agents, a destination's signing secret, invites of any kind, changing a role, removing a member, transferring ownership, listing or switching a person's workspaces, and creating API keys). To a self-registered agent account nobody has claimed yet (#331) it also carries `claim_required: true`: a person must claim the workspace with the claim link from registration before anyone can do it. `member_limit_reached` (#308): the workspace already has as many members as its plan allows, so an invite cannot be created or accepted; `max_members`, `members` and `upgrade_url` say how many and where to upgrade.","uniqueKey":"code","typeLabel":"enum\u003cstring>"},"required_scope":{"type":"string","enum":["hookie:read","hookie:write","hookie:manage"],"description":"With `code`: the scope the refused call needs.","uniqueKey":"required_scope","typeLabel":"enum\u003cstring>"},"granted_scopes":{"type":"array","items":{"type":"string","uniqueKey":"granted_scopes.items.[INDEX]","typeLabel":"string"},"description":"With `code`: the scopes the agent's grant holds now.","uniqueKey":"granted_scopes","typeLabel":"string[]"},"manage_url":{"type":"string","format":"uri","description":"With `code: \"agent_scope_insufficient\"` only: the console's Settings → Connected agents page, opened on this agent (`…/#/settings/agents?client=\u003cclient_id>`), where its user widens the grant. The change applies on the agent's next request.","uniqueKey":"manage_url","typeLabel":"string\u003curi>"},"scheme":{"type":"string","description":"Present on a signature 401: the endpoint's verification scheme.","uniqueKey":"scheme","typeLabel":"string"},"max_members":{"type":"integer","description":"With `code: \"member_limit_reached\"`: the plan's member limit.","uniqueKey":"max_members","typeLabel":"integer"},"members":{"type":"integer","description":"With `code: \"member_limit_reached\"`: the workspace's members now.","uniqueKey":"members","typeLabel":"integer"},"customer_id":{"oneOf":[{"type":"string","description":"On a `portal_customer_mismatch` 409: the customer the portal already serves.","uniqueKey":"customer_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"On a `portal_customer_mismatch` 409: the customer the portal already serves.","uniqueKey":"customer_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"customer_id","typeLabel":"string | null"},"customer_name":{"oneOf":[{"type":"string","description":"On a `portal_customer_mismatch` 409: that customer's display name, if one was given.","uniqueKey":"customer_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"On a `portal_customer_mismatch` 409: that customer's display name, if one was given.","uniqueKey":"customer_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"customer_name","typeLabel":"string | null"},"account_id":{"type":"string","description":"On a 409 from POST /v1/agents/register: the agent account the earlier request created (or is creating). Never accompanied by a credential.","uniqueKey":"account_id","typeLabel":"string"},"terms_version":{"type":"string","description":"On a `terms_not_accepted` 400: the Terms version `accept_terms` must equal.","uniqueKey":"terms_version","typeLabel":"string"},"claim_required":{"type":"boolean","description":"With `code: \"agent_not_permitted\"`, to a self-registered agent account nobody has claimed (#331): the refused action needs a person, who first claims the workspace with the claim link from the registration response (`claim.url`).","uniqueKey":"claim_required","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","retry_after":123,"upgrade_url":"\u003cstring>","reason":"\u003cstring>","code":"agent_scope_insufficient","required_scope":"hookie:read","granted_scopes":["\u003cstring>"],"manage_url":"\u003cstring>","scheme":"\u003cstring>","max_members":123,"members":123,"customer_id":"\u003cstring>","customer_name":"\u003cstring>","account_id":"\u003cstring>","terms_version":"\u003cstring>","claim_required":true}}},"exampleType":"generated"}},"exampleType":"generated"},"6d82a151-1c8f-4b9b-b7ed-c078efeb0587":{"description":"Agent token carries no Hookie scope, or the email domain is not allowed.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable reason.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait. Present on 429.","uniqueKey":"retry_after","typeLabel":"integer"},"upgrade_url":{"type":"string","format":"uri","description":"Present on a monthly-quota 429, and on a `member_limit_reached` 403 (the console's Settings → Plan \u0026 billing).","uniqueKey":"upgrade_url","typeLabel":"string\u003curi>"},"reason":{"type":"string","description":"Machine-readable reason, where the status alone is ambiguous. `workspace_suspended` (403): the workspace is suspended; `delivery_allowance_exhausted` (429): a replay was refused because the monthly delivery allowance is used. `endpoint_disabled` (503): the endpoint is switched off; `handshake_failed`: a provider URL-verification challenge could not be answered (#193). `missing_header`, `bad_signature`, `stale_timestamp` (401): an endpoint's provider signature check failed; `scheme` names the check. `portal_customer_mismatch` (409): a portal token was requested for, or the vendor switched on the endpoint of, a customer other than the one the portal now serves (PORT-2g); `customer_id` and `customer_name` name that customer. Agent self-registration (#331), on /v1/agents/register: `rate_limited` (429), `agent_registration_disabled` and `agent_registration_unavailable` (503), `invalid_body`, `invalid_agent_name`, `invalid_operator_contact`, `terms_not_accepted` (with `terms_version`), `proof_of_work_required`, `invalid_challenge`, `challenge_expired`, `invalid_proof_of_work`, `invalid_idempotency_key` (400), `body_too_large` (413), `already_registered`, `registration_in_progress`, `challenge_spent` (409, with `account_id`), `daily_cap_reached`, `source_daily_limit` (429), `identity_provider_error` (502), `registration_incomplete` (503).","uniqueKey":"reason","typeLabel":"string"},"code":{"type":"string","enum":["agent_scope_insufficient","insufficient_role","agent_not_permitted","member_limit_reached"],"description":"Present on a 403 to an OAuth-connected agent, and on a member-limit 403 to anyone. `agent_scope_insufficient`: the agent's grant is below what the call needs, and widening it would let the call through (see `required_scope` and `manage_url`). `insufficient_role`: the user's OWN workspace role does not allow the call, so no grant can — a workspace owner or admin has to change the user's role first, in the console under Settings → Members. `agent_not_permitted`: no connected agent or API key may do this at any scope (billing, platform admin, managing connected agents, a destination's signing secret, invites of any kind, changing a role, removing a member, transferring ownership, listing or switching a person's workspaces, and creating API keys). To a self-registered agent account nobody has claimed yet (#331) it also carries `claim_required: true`: a person must claim the workspace with the claim link from registration before anyone can do it. `member_limit_reached` (#308): the workspace already has as many members as its plan allows, so an invite cannot be created or accepted; `max_members`, `members` and `upgrade_url` say how many and where to upgrade.","uniqueKey":"code","typeLabel":"enum\u003cstring>"},"required_scope":{"type":"string","enum":["hookie:read","hookie:write","hookie:manage"],"description":"With `code`: the scope the refused call needs.","uniqueKey":"required_scope","typeLabel":"enum\u003cstring>"},"granted_scopes":{"type":"array","items":{"type":"string","uniqueKey":"granted_scopes.items.[INDEX]","typeLabel":"string"},"description":"With `code`: the scopes the agent's grant holds now.","uniqueKey":"granted_scopes","typeLabel":"string[]"},"manage_url":{"type":"string","format":"uri","description":"With `code: \"agent_scope_insufficient\"` only: the console's Settings → Connected agents page, opened on this agent (`…/#/settings/agents?client=\u003cclient_id>`), where its user widens the grant. The change applies on the agent's next request.","uniqueKey":"manage_url","typeLabel":"string\u003curi>"},"scheme":{"type":"string","description":"Present on a signature 401: the endpoint's verification scheme.","uniqueKey":"scheme","typeLabel":"string"},"max_members":{"type":"integer","description":"With `code: \"member_limit_reached\"`: the plan's member limit.","uniqueKey":"max_members","typeLabel":"integer"},"members":{"type":"integer","description":"With `code: \"member_limit_reached\"`: the workspace's members now.","uniqueKey":"members","typeLabel":"integer"},"customer_id":{"oneOf":[{"type":"string","description":"On a `portal_customer_mismatch` 409: the customer the portal already serves.","uniqueKey":"customer_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"On a `portal_customer_mismatch` 409: the customer the portal already serves.","uniqueKey":"customer_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"customer_id","typeLabel":"string | null"},"customer_name":{"oneOf":[{"type":"string","description":"On a `portal_customer_mismatch` 409: that customer's display name, if one was given.","uniqueKey":"customer_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"On a `portal_customer_mismatch` 409: that customer's display name, if one was given.","uniqueKey":"customer_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"customer_name","typeLabel":"string | null"},"account_id":{"type":"string","description":"On a 409 from POST /v1/agents/register: the agent account the earlier request created (or is creating). Never accompanied by a credential.","uniqueKey":"account_id","typeLabel":"string"},"terms_version":{"type":"string","description":"On a `terms_not_accepted` 400: the Terms version `accept_terms` must equal.","uniqueKey":"terms_version","typeLabel":"string"},"claim_required":{"type":"boolean","description":"With `code: \"agent_not_permitted\"`, to a self-registered agent account nobody has claimed (#331): the refused action needs a person, who first claims the workspace with the claim link from the registration response (`claim.url`).","uniqueKey":"claim_required","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","retry_after":123,"upgrade_url":"\u003cstring>","reason":"\u003cstring>","code":"agent_scope_insufficient","required_scope":"hookie:read","granted_scopes":["\u003cstring>"],"manage_url":"\u003cstring>","scheme":"\u003cstring>","max_members":123,"members":123,"customer_id":"\u003cstring>","customer_name":"\u003cstring>","account_id":"\u003cstring>","terms_version":"\u003cstring>","claim_required":true}}},"exampleType":"generated"}},"exampleType":"generated"},"9ddc50be-5eb8-46ad-8c0a-728c0a1918b6":{"description":"`Project not found` — unknown project id, or it belongs to another workspace.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable reason.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait. Present on 429.","uniqueKey":"retry_after","typeLabel":"integer"},"upgrade_url":{"type":"string","format":"uri","description":"Present on a monthly-quota 429, and on a `member_limit_reached` 403 (the console's Settings → Plan \u0026 billing).","uniqueKey":"upgrade_url","typeLabel":"string\u003curi>"},"reason":{"type":"string","description":"Machine-readable reason, where the status alone is ambiguous. `workspace_suspended` (403): the workspace is suspended; `delivery_allowance_exhausted` (429): a replay was refused because the monthly delivery allowance is used. `endpoint_disabled` (503): the endpoint is switched off; `handshake_failed`: a provider URL-verification challenge could not be answered (#193). `missing_header`, `bad_signature`, `stale_timestamp` (401): an endpoint's provider signature check failed; `scheme` names the check. `portal_customer_mismatch` (409): a portal token was requested for, or the vendor switched on the endpoint of, a customer other than the one the portal now serves (PORT-2g); `customer_id` and `customer_name` name that customer. Agent self-registration (#331), on /v1/agents/register: `rate_limited` (429), `agent_registration_disabled` and `agent_registration_unavailable` (503), `invalid_body`, `invalid_agent_name`, `invalid_operator_contact`, `terms_not_accepted` (with `terms_version`), `proof_of_work_required`, `invalid_challenge`, `challenge_expired`, `invalid_proof_of_work`, `invalid_idempotency_key` (400), `body_too_large` (413), `already_registered`, `registration_in_progress`, `challenge_spent` (409, with `account_id`), `daily_cap_reached`, `source_daily_limit` (429), `identity_provider_error` (502), `registration_incomplete` (503).","uniqueKey":"reason","typeLabel":"string"},"code":{"type":"string","enum":["agent_scope_insufficient","insufficient_role","agent_not_permitted","member_limit_reached"],"description":"Present on a 403 to an OAuth-connected agent, and on a member-limit 403 to anyone. `agent_scope_insufficient`: the agent's grant is below what the call needs, and widening it would let the call through (see `required_scope` and `manage_url`). `insufficient_role`: the user's OWN workspace role does not allow the call, so no grant can — a workspace owner or admin has to change the user's role first, in the console under Settings → Members. `agent_not_permitted`: no connected agent or API key may do this at any scope (billing, platform admin, managing connected agents, a destination's signing secret, invites of any kind, changing a role, removing a member, transferring ownership, listing or switching a person's workspaces, and creating API keys). To a self-registered agent account nobody has claimed yet (#331) it also carries `claim_required: true`: a person must claim the workspace with the claim link from registration before anyone can do it. `member_limit_reached` (#308): the workspace already has as many members as its plan allows, so an invite cannot be created or accepted; `max_members`, `members` and `upgrade_url` say how many and where to upgrade.","uniqueKey":"code","typeLabel":"enum\u003cstring>"},"required_scope":{"type":"string","enum":["hookie:read","hookie:write","hookie:manage"],"description":"With `code`: the scope the refused call needs.","uniqueKey":"required_scope","typeLabel":"enum\u003cstring>"},"granted_scopes":{"type":"array","items":{"type":"string","uniqueKey":"granted_scopes.items.[INDEX]","typeLabel":"string"},"description":"With `code`: the scopes the agent's grant holds now.","uniqueKey":"granted_scopes","typeLabel":"string[]"},"manage_url":{"type":"string","format":"uri","description":"With `code: \"agent_scope_insufficient\"` only: the console's Settings → Connected agents page, opened on this agent (`…/#/settings/agents?client=\u003cclient_id>`), where its user widens the grant. The change applies on the agent's next request.","uniqueKey":"manage_url","typeLabel":"string\u003curi>"},"scheme":{"type":"string","description":"Present on a signature 401: the endpoint's verification scheme.","uniqueKey":"scheme","typeLabel":"string"},"max_members":{"type":"integer","description":"With `code: \"member_limit_reached\"`: the plan's member limit.","uniqueKey":"max_members","typeLabel":"integer"},"members":{"type":"integer","description":"With `code: \"member_limit_reached\"`: the workspace's members now.","uniqueKey":"members","typeLabel":"integer"},"customer_id":{"oneOf":[{"type":"string","description":"On a `portal_customer_mismatch` 409: the customer the portal already serves.","uniqueKey":"customer_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"On a `portal_customer_mismatch` 409: the customer the portal already serves.","uniqueKey":"customer_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"customer_id","typeLabel":"string | null"},"customer_name":{"oneOf":[{"type":"string","description":"On a `portal_customer_mismatch` 409: that customer's display name, if one was given.","uniqueKey":"customer_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"On a `portal_customer_mismatch` 409: that customer's display name, if one was given.","uniqueKey":"customer_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"customer_name","typeLabel":"string | null"},"account_id":{"type":"string","description":"On a 409 from POST /v1/agents/register: the agent account the earlier request created (or is creating). Never accompanied by a credential.","uniqueKey":"account_id","typeLabel":"string"},"terms_version":{"type":"string","description":"On a `terms_not_accepted` 400: the Terms version `accept_terms` must equal.","uniqueKey":"terms_version","typeLabel":"string"},"claim_required":{"type":"boolean","description":"With `code: \"agent_not_permitted\"`, to a self-registered agent account nobody has claimed (#331): the refused action needs a person, who first claims the workspace with the claim link from the registration response (`claim.url`).","uniqueKey":"claim_required","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","retry_after":123,"upgrade_url":"\u003cstring>","reason":"\u003cstring>","code":"agent_scope_insufficient","required_scope":"hookie:read","granted_scopes":["\u003cstring>"],"manage_url":"\u003cstring>","scheme":"\u003cstring>","max_members":123,"members":123,"customer_id":"\u003cstring>","customer_name":"\u003cstring>","account_id":"\u003cstring>","terms_version":"\u003cstring>","claim_required":true}}},"exampleType":"generated"}},"exampleType":"generated"},"1233edaa-31e8-47b5-a9a5-dd96b6150de1":{"description":"Over this credential's burst limit (about 100 requests per 10 seconds; best-effort, counted separately at each Cloudflare location). Retry after `Retry-After` seconds.","headers":{"Retry-After":{"schema":{"type":"integer"},"description":"Seconds to wait."}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable reason.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait. Present on 429.","uniqueKey":"retry_after","typeLabel":"integer"},"upgrade_url":{"type":"string","format":"uri","description":"Present on a monthly-quota 429, and on a `member_limit_reached` 403 (the console's Settings → Plan \u0026 billing).","uniqueKey":"upgrade_url","typeLabel":"string\u003curi>"},"reason":{"type":"string","description":"Machine-readable reason, where the status alone is ambiguous. `workspace_suspended` (403): the workspace is suspended; `delivery_allowance_exhausted` (429): a replay was refused because the monthly delivery allowance is used. `endpoint_disabled` (503): the endpoint is switched off; `handshake_failed`: a provider URL-verification challenge could not be answered (#193). `missing_header`, `bad_signature`, `stale_timestamp` (401): an endpoint's provider signature check failed; `scheme` names the check. `portal_customer_mismatch` (409): a portal token was requested for, or the vendor switched on the endpoint of, a customer other than the one the portal now serves (PORT-2g); `customer_id` and `customer_name` name that customer. Agent self-registration (#331), on /v1/agents/register: `rate_limited` (429), `agent_registration_disabled` and `agent_registration_unavailable` (503), `invalid_body`, `invalid_agent_name`, `invalid_operator_contact`, `terms_not_accepted` (with `terms_version`), `proof_of_work_required`, `invalid_challenge`, `challenge_expired`, `invalid_proof_of_work`, `invalid_idempotency_key` (400), `body_too_large` (413), `already_registered`, `registration_in_progress`, `challenge_spent` (409, with `account_id`), `daily_cap_reached`, `source_daily_limit` (429), `identity_provider_error` (502), `registration_incomplete` (503).","uniqueKey":"reason","typeLabel":"string"},"code":{"type":"string","enum":["agent_scope_insufficient","insufficient_role","agent_not_permitted","member_limit_reached"],"description":"Present on a 403 to an OAuth-connected agent, and on a member-limit 403 to anyone. `agent_scope_insufficient`: the agent's grant is below what the call needs, and widening it would let the call through (see `required_scope` and `manage_url`). `insufficient_role`: the user's OWN workspace role does not allow the call, so no grant can — a workspace owner or admin has to change the user's role first, in the console under Settings → Members. `agent_not_permitted`: no connected agent or API key may do this at any scope (billing, platform admin, managing connected agents, a destination's signing secret, invites of any kind, changing a role, removing a member, transferring ownership, listing or switching a person's workspaces, and creating API keys). To a self-registered agent account nobody has claimed yet (#331) it also carries `claim_required: true`: a person must claim the workspace with the claim link from registration before anyone can do it. `member_limit_reached` (#308): the workspace already has as many members as its plan allows, so an invite cannot be created or accepted; `max_members`, `members` and `upgrade_url` say how many and where to upgrade.","uniqueKey":"code","typeLabel":"enum\u003cstring>"},"required_scope":{"type":"string","enum":["hookie:read","hookie:write","hookie:manage"],"description":"With `code`: the scope the refused call needs.","uniqueKey":"required_scope","typeLabel":"enum\u003cstring>"},"granted_scopes":{"type":"array","items":{"type":"string","uniqueKey":"granted_scopes.items.[INDEX]","typeLabel":"string"},"description":"With `code`: the scopes the agent's grant holds now.","uniqueKey":"granted_scopes","typeLabel":"string[]"},"manage_url":{"type":"string","format":"uri","description":"With `code: \"agent_scope_insufficient\"` only: the console's Settings → Connected agents page, opened on this agent (`…/#/settings/agents?client=\u003cclient_id>`), where its user widens the grant. The change applies on the agent's next request.","uniqueKey":"manage_url","typeLabel":"string\u003curi>"},"scheme":{"type":"string","description":"Present on a signature 401: the endpoint's verification scheme.","uniqueKey":"scheme","typeLabel":"string"},"max_members":{"type":"integer","description":"With `code: \"member_limit_reached\"`: the plan's member limit.","uniqueKey":"max_members","typeLabel":"integer"},"members":{"type":"integer","description":"With `code: \"member_limit_reached\"`: the workspace's members now.","uniqueKey":"members","typeLabel":"integer"},"customer_id":{"oneOf":[{"type":"string","description":"On a `portal_customer_mismatch` 409: the customer the portal already serves.","uniqueKey":"customer_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"On a `portal_customer_mismatch` 409: the customer the portal already serves.","uniqueKey":"customer_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"customer_id","typeLabel":"string | null"},"customer_name":{"oneOf":[{"type":"string","description":"On a `portal_customer_mismatch` 409: that customer's display name, if one was given.","uniqueKey":"customer_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"On a `portal_customer_mismatch` 409: that customer's display name, if one was given.","uniqueKey":"customer_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"customer_name","typeLabel":"string | null"},"account_id":{"type":"string","description":"On a 409 from POST /v1/agents/register: the agent account the earlier request created (or is creating). Never accompanied by a credential.","uniqueKey":"account_id","typeLabel":"string"},"terms_version":{"type":"string","description":"On a `terms_not_accepted` 400: the Terms version `accept_terms` must equal.","uniqueKey":"terms_version","typeLabel":"string"},"claim_required":{"type":"boolean","description":"With `code: \"agent_not_permitted\"`, to a self-registered agent account nobody has claimed (#331): the refused action needs a person, who first claims the workspace with the claim link from the registration response (`claim.url`).","uniqueKey":"claim_required","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","retry_after":123,"upgrade_url":"\u003cstring>","reason":"\u003cstring>","code":"agent_scope_insufficient","required_scope":"hookie:read","granted_scopes":["\u003cstring>"],"manage_url":"\u003cstring>","scheme":"\u003cstring>","max_members":123,"members":123,"customer_id":"\u003cstring>","customer_name":"\u003cstring>","account_id":"\u003cstring>","terms_version":"\u003cstring>","claim_required":true}}},"exampleType":"generated"}},"exampleType":"generated"},"43a6ce58-b9f5-4596-998a-91732a811079":{"description":"`Internal error`.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable reason.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait. Present on 429.","uniqueKey":"retry_after","typeLabel":"integer"},"upgrade_url":{"type":"string","format":"uri","description":"Present on a monthly-quota 429, and on a `member_limit_reached` 403 (the console's Settings → Plan \u0026 billing).","uniqueKey":"upgrade_url","typeLabel":"string\u003curi>"},"reason":{"type":"string","description":"Machine-readable reason, where the status alone is ambiguous. `workspace_suspended` (403): the workspace is suspended; `delivery_allowance_exhausted` (429): a replay was refused because the monthly delivery allowance is used. `endpoint_disabled` (503): the endpoint is switched off; `handshake_failed`: a provider URL-verification challenge could not be answered (#193). `missing_header`, `bad_signature`, `stale_timestamp` (401): an endpoint's provider signature check failed; `scheme` names the check. `portal_customer_mismatch` (409): a portal token was requested for, or the vendor switched on the endpoint of, a customer other than the one the portal now serves (PORT-2g); `customer_id` and `customer_name` name that customer. Agent self-registration (#331), on /v1/agents/register: `rate_limited` (429), `agent_registration_disabled` and `agent_registration_unavailable` (503), `invalid_body`, `invalid_agent_name`, `invalid_operator_contact`, `terms_not_accepted` (with `terms_version`), `proof_of_work_required`, `invalid_challenge`, `challenge_expired`, `invalid_proof_of_work`, `invalid_idempotency_key` (400), `body_too_large` (413), `already_registered`, `registration_in_progress`, `challenge_spent` (409, with `account_id`), `daily_cap_reached`, `source_daily_limit` (429), `identity_provider_error` (502), `registration_incomplete` (503).","uniqueKey":"reason","typeLabel":"string"},"code":{"type":"string","enum":["agent_scope_insufficient","insufficient_role","agent_not_permitted","member_limit_reached"],"description":"Present on a 403 to an OAuth-connected agent, and on a member-limit 403 to anyone. `agent_scope_insufficient`: the agent's grant is below what the call needs, and widening it would let the call through (see `required_scope` and `manage_url`). `insufficient_role`: the user's OWN workspace role does not allow the call, so no grant can — a workspace owner or admin has to change the user's role first, in the console under Settings → Members. `agent_not_permitted`: no connected agent or API key may do this at any scope (billing, platform admin, managing connected agents, a destination's signing secret, invites of any kind, changing a role, removing a member, transferring ownership, listing or switching a person's workspaces, and creating API keys). To a self-registered agent account nobody has claimed yet (#331) it also carries `claim_required: true`: a person must claim the workspace with the claim link from registration before anyone can do it. `member_limit_reached` (#308): the workspace already has as many members as its plan allows, so an invite cannot be created or accepted; `max_members`, `members` and `upgrade_url` say how many and where to upgrade.","uniqueKey":"code","typeLabel":"enum\u003cstring>"},"required_scope":{"type":"string","enum":["hookie:read","hookie:write","hookie:manage"],"description":"With `code`: the scope the refused call needs.","uniqueKey":"required_scope","typeLabel":"enum\u003cstring>"},"granted_scopes":{"type":"array","items":{"type":"string","uniqueKey":"granted_scopes.items.[INDEX]","typeLabel":"string"},"description":"With `code`: the scopes the agent's grant holds now.","uniqueKey":"granted_scopes","typeLabel":"string[]"},"manage_url":{"type":"string","format":"uri","description":"With `code: \"agent_scope_insufficient\"` only: the console's Settings → Connected agents page, opened on this agent (`…/#/settings/agents?client=\u003cclient_id>`), where its user widens the grant. The change applies on the agent's next request.","uniqueKey":"manage_url","typeLabel":"string\u003curi>"},"scheme":{"type":"string","description":"Present on a signature 401: the endpoint's verification scheme.","uniqueKey":"scheme","typeLabel":"string"},"max_members":{"type":"integer","description":"With `code: \"member_limit_reached\"`: the plan's member limit.","uniqueKey":"max_members","typeLabel":"integer"},"members":{"type":"integer","description":"With `code: \"member_limit_reached\"`: the workspace's members now.","uniqueKey":"members","typeLabel":"integer"},"customer_id":{"oneOf":[{"type":"string","description":"On a `portal_customer_mismatch` 409: the customer the portal already serves.","uniqueKey":"customer_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"On a `portal_customer_mismatch` 409: the customer the portal already serves.","uniqueKey":"customer_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"customer_id","typeLabel":"string | null"},"customer_name":{"oneOf":[{"type":"string","description":"On a `portal_customer_mismatch` 409: that customer's display name, if one was given.","uniqueKey":"customer_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"On a `portal_customer_mismatch` 409: that customer's display name, if one was given.","uniqueKey":"customer_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"customer_name","typeLabel":"string | null"},"account_id":{"type":"string","description":"On a 409 from POST /v1/agents/register: the agent account the earlier request created (or is creating). Never accompanied by a credential.","uniqueKey":"account_id","typeLabel":"string"},"terms_version":{"type":"string","description":"On a `terms_not_accepted` 400: the Terms version `accept_terms` must equal.","uniqueKey":"terms_version","typeLabel":"string"},"claim_required":{"type":"boolean","description":"With `code: \"agent_not_permitted\"`, to a self-registered agent account nobody has claimed (#331): the refused action needs a person, who first claims the workspace with the claim link from the registration response (`claim.url`).","uniqueKey":"claim_required","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","retry_after":123,"upgrade_url":"\u003cstring>","reason":"\u003cstring>","code":"agent_scope_insufficient","required_scope":"hookie:read","granted_scopes":["\u003cstring>"],"manage_url":"\u003cstring>","scheme":"\u003cstring>","max_members":123,"members":123,"customer_id":"\u003cstring>","customer_name":"\u003cstring>","account_id":"\u003cstring>","terms_version":"\u003cstring>","claim_required":true}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"1366dceb-aa11-4503-ae96-80a48e5f8b4a":{"session":{"type":"apiKey","in":"cookie","name":"hookie_session","description":"The console's sealed session cookie, set by WorkOS AuthKit. Mutating requests also require the `X-Requested-With` CSRF header.","scopes":[],"schemeName":"session"}},"091d5adc-3263-4563-aa3c-ba17bbe48a59":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"An OAuth 2.1 access token from a connected agent, audienced at the `/mcp` resource URI. The agent acts as its user, with that user's role narrowed to the granted `hookie:*` scopes. No CSRF header is required — a bearer token is not ambient credentials.","scopes":[],"schemeName":"bearerAuth"}},"db52ad66-c731-485e-aaee-e469460a75ad":{"apiKey":{"type":"http","scheme":"bearer","description":"An `hk_…` admin API key from Settings → API keys. Acts as the member who created it, capped at the key's role (viewer, developer or admin) and optionally one project. Stored as a SHA-256 hash, shown once. No CSRF header is required.","scopes":[],"schemeName":"apiKey"}}},"servers":{"0ea1ddc9-3a31-4421-86e4-db5233ac2213":{"url":"https://app.hookie.ai","description":"Production"},"d5e32d1f-0c83-4838-aa53-3e0ffb5d5c54":{"url":"https://app.preview.hookie.ai","description":"Preview"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"cookie","name":"hookie_session","description":"The console's sealed session cookie, set by WorkOS AuthKit. Mutating requests also require the `X-Requested-With` CSRF header.","scopes":[],"schemeName":"session"},"schema":{"title":"hookie_session","type":"string","description":"The console's sealed session cookie, set by WorkOS AuthKit. Mutating requests also require the `X-Requested-With` CSRF header.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"session","name":"hookie_session"}],"title":"session"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"An OAuth 2.1 access token from a connected agent, audienced at the `/mcp` resource URI. The agent acts as its user, with that user's role narrowed to the granted `hookie:*` scopes. No CSRF header is required — a bearer token is not ambient credentials.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"An OAuth 2.1 access token from a connected agent, audienced at the `/mcp` resource URI. The agent acts as its user, with that user's role narrowed to the granted `hookie:*` scopes. No CSRF header is required — a bearer token is not ambient credentials.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"An `hk_…` admin API key from Settings → API keys. Acts as the member who created it, capped at the key's role (viewer, developer or admin) and optionally one project. Stored as a SHA-256 hash, shown once. No CSRF header is required.","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"An `hk_…` admin API key from Settings → API keys. Acts as the member who created it, capped at the key's role (viewer, developer or admin) and optionally one project. Stored as a SHA-256 hash, shown once. No CSRF header is required.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"}]},"originalFileLocation":"openapi.json"},"subdomain":"hookie-ai","siteName":"Hookie","title":"List inbound source connectors in a project - Hookie","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-10T06:45:32.241Z","originalFileLocation":"api-reference/sources/list-inbound-source-connectors-in-a-project.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=\"Pages with ?limit and ?offset and returns total, limit and offset beside the array, which is unchanged (DX-6, #201).\">\u003cmeta data-mint-head name=\"application-name\" content=\"Hookie\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hookie-ai/swNEJiZkoA-0uCAd/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/hookie-ai/swNEJiZkoA-0uCAd/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hookie-ai/swNEJiZkoA-0uCAd/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hookie-ai/swNEJiZkoA-0uCAd/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hookie-ai/swNEJiZkoA-0uCAd/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hookie-ai/swNEJiZkoA-0uCAd/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hookie-ai/swNEJiZkoA-0uCAd/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hookie-ai/swNEJiZkoA-0uCAd/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hookie-ai/swNEJiZkoA-0uCAd/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"List inbound source connectors in a project - Hookie\">\u003cmeta data-mint-head property=\"og:description\" content=\"Pages with ?limit and ?offset and returns total, limit and offset beside the array, which is unchanged (DX-6, #201).\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Hookie\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.hookie.ai/api-reference/sources/list-inbound-source-connectors-in-a-project\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hookie-ai.mintlify.app/_mintlify/api/og/v2?division=Sources\u0026amp;title=List+inbound+source+connectors+in+a+project\u0026amp;description=Pages+with+%3Flimit+and+%3Foffset+and+returns+total%2C+limit+and+offset+beside+the+array%2C+which+is+unchanged+%28DX-6%2C+%23201%29.\u0026amp;theme=f4aa03159c73f069ac2e6bcf\u0026amp;signature=4bd6f0f1d289724cbd4e1508e6ef20de90c47abcfe294faa2d9b2913b8a534d2\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"List inbound source connectors in a project - Hookie\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Pages with ?limit and ?offset and returns total, limit and offset beside the array, which is unchanged (DX-6, #201).\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hookie-ai.mintlify.app/_mintlify/api/og/v2?division=Sources\u0026amp;title=List+inbound+source+connectors+in+a+project\u0026amp;description=Pages+with+%3Flimit+and+%3Foffset+and+returns+total%2C+limit+and+offset+beside+the+array%2C+which+is+unchanged+%28DX-6%2C+%23201%29.\u0026amp;theme=f4aa03159c73f069ac2e6bcf\u0026amp;signature=4bd6f0f1d289724cbd4e1508e6ef20de90c47abcfe294faa2d9b2913b8a534d2\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/hookie-ai/swNEJiZkoA-0uCAd/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Hookie\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2B56A1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.hookie.ai/api-reference/sources/list-inbound-source-connectors-in-a-project\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/sources/list-inbound-source-connectors-in-a-project.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.hookie.ai/#organization\",\"name\":\"Hookie\",\"url\":\"https://docs.hookie.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hookie-ai/3zmwtACPzz3wb-OX/logo/light.svg?fit=max\u0026auto=format\u0026n=3zmwtACPzz3wb-OX\u0026q=85\u0026s=3d05bb847a5407bc7e75e7270aafc101\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.hookie.ai#website\",\"name\":\"Hookie\",\"url\":\"https://docs.hookie.ai\",\"publisher\":{\"@id\":\"https://docs.hookie.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.hookie.ai/api-reference/sources/list-inbound-source-connectors-in-a-project#webpage\",\"url\":\"https://docs.hookie.ai/api-reference/sources/list-inbound-source-connectors-in-a-project\",\"name\":\"List inbound source connectors in a project\",\"description\":\"Pages with ?limit and ?offset and returns total, limit and offset beside the array, which is unchanged (DX-6, #201).\",\"dateModified\":\"2026-10-10T06:45:32.241Z\",\"isPartOf\":{\"@id\":\"https://docs.hookie.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.hookie.ai/api-reference/sources/list-inbound-source-connectors-in-a-project#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.hookie.ai/api-reference/sources/list-inbound-source-connectors-in-a-project#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API reference\",\"item\":\"https://docs.hookie.ai/api-reference/ingest/metas-url-verification-hubchallenge-on-the-public-webhook-url\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"List inbound source connectors in a project\",\"item\":\"https://docs.hookie.ai/api-reference/sources/list-inbound-source-connectors-in-a-project\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.hookie.ai/api-reference/sources/list-inbound-source-connectors-in-a-project#apireference\",\"headline\":\"List inbound source connectors in a project\",\"name\":\"List inbound source connectors in a project\",\"description\":\"Pages with ?limit and ?offset and returns total, limit and offset beside the array, which is unchanged (DX-6, #201).\",\"url\":\"https://docs.hookie.ai/api-reference/sources/list-inbound-source-connectors-in-a-project\",\"mainEntityOfPage\":{\"@id\":\"https://docs.hookie.ai/api-reference/sources/list-inbound-source-connectors-in-a-project#webpage\"},\"dateModified\":\"2026-10-10T06:45:32.241Z\",\"publisher\":{\"@id\":\"https://docs.hookie.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.hookie.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Hookie\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Hookie","nav":{"global":null,"groups":[{"group":"Get started","icon":"rocket","pages":[{"title":"Overview","sidebarTitle":"Overview","icon":{"name":"info-circle","style":"regular","library":"fontawesome"},"href":"/index"},{"title":"Quickstart","icon":{"name":"shipping-fast","style":"regular","library":"fontawesome"},"href":"/quickstart"}]},{"group":"Concepts","icon":"lightbulb","pages":[{"title":"Projects","icon":"folder-tree","href":"/projects"},{"title":"Endpoints and ingest keys","icon":"inbox","href":"/endpoints-and-keys"},{"title":"Datasets and records","icon":"table","href":"/datasets-and-records"},{"title":"Rules and mappings","icon":"route","href":"/rules-and-mappings"},{"title":"Destinations and deliveries","icon":"paper-plane","href":"/destinations-and-deliveries"},{"title":"Limits and plans","icon":"gauge","href":"/limits-and-plans"},{"title":"Billing","icon":"credit-card","href":"/billing"},{"title":"Roles, API keys and connected agents","sidebarTitle":"Roles and agents","icon":"user-shield","href":"/roles-and-agents"},{"title":"Glossary","icon":"book","href":"/glossary"}]},{"group":"CLI","icon":"terminal","pages":[{"title":"CLI","sidebarTitle":"Overview","icon":"terminal","href":"/cli/index"},{"title":"Operations","icon":"screwdriver-wrench","href":"/cli/operations"},{"title":"Command reference","icon":"list","href":"/cli/commands"},{"title":"Configuration","icon":"gear","href":"/cli/configuration"}]},{"group":"Guides","icon":"book-open","pages":[{"title":"Forms","icon":"rectangle-list","href":"/forms"},{"title":"Verify signatures","icon":"signature","href":"/signatures"},{"title":"Verify provider signatures","icon":"shield-check","href":"/endpoint-verification"},{"title":"Destination types and options","sidebarTitle":"Destination options","icon":"send","href":"/destinations"},{"title":"Slack app","icon":"slack","href":"/slack-app"},{"title":"Database sources","icon":"database","href":"/database-sources"},{"title":"Ingest keys","icon":"key","href":"/ingest-keys"},{"title":"Live streaming","icon":"radio","href":"/streaming"},{"title":"Workflows \u0026 AI agents","icon":{"name":"robot","style":"regular","library":"fontawesome"},"href":"/workflows"},{"title":"Customer portal","icon":"users","href":"/customer-portal"},{"title":"Broadcast Logs","icon":"tower-broadcast","href":"/broadcast-logs"},{"title":"Analytics","icon":"chart-line","href":"/analytics"},{"title":"Team members","icon":"users","href":"/team-members"},{"title":"Connected agents","icon":"plug","href":"/connected-agents"},{"title":"Agent self-registration","icon":"robot","href":"/agent-self-registration"},{"title":"WorkOS Agent Auth","icon":"id-badge","href":"/workos-agent-auth"},{"title":"API keys","icon":"lock","href":"/api-keys"},{"title":"Data API","icon":"database","href":"/data-api"},{"title":"Delete, export and close","icon":"trash-can","href":"/data-deletion"},{"title":"API reference","icon":"code","href":"/api-reference"}]},{"group":"API reference","icon":"terminal","pages":[{"group":"Ingest","pages":[{"title":"Meta's URL verification (hub.challenge) on the public webhook URL","deprecated":null,"version":null,"openapi":"/openapi.json get /{workspace}/{project}/{webhook}","href":"/api-reference/ingest/metas-url-verification-hubchallenge-on-the-public-webhook-url"},{"title":"Ingest an event through the public webhook URL","deprecated":null,"version":null,"openapi":"/openapi.json post /{workspace}/{project}/{webhook}","href":"/api-reference/ingest/ingest-an-event-through-the-public-webhook-url"},{"title":"CORS preflight for a page's fetch() to the public webhook URL","deprecated":null,"version":null,"openapi":"/openapi.json options /{workspace}/{project}/{webhook}","href":"/api-reference/ingest/cors-preflight-for-a-pages-fetch-to-the-public-webhook-url"},{"title":"Ingest an event through the public webhook URL, naming its dataset","deprecated":null,"version":null,"openapi":"/openapi.json post /{workspace}/{project}/{webhook}/{dataset}","href":"/api-reference/ingest/ingest-an-event-through-the-public-webhook-url-naming-its-dataset"},{"title":"Ingest an event with an ingest key (PUT alias of ingestEvent)","deprecated":null,"version":null,"openapi":"/openapi.json put /v1/ingest/{ingest_key}","href":"/api-reference/ingest/ingest-an-event-with-an-ingest-key-put-alias-of-ingestevent"},{"title":"Ingest an event with an ingest key, routed by the project's mapping rules, with the key's default dataset as the fallback","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/ingest/{ingest_key}","href":"/api-reference/ingest/ingest-an-event-with-an-ingest-key-routed-by-the-projects-mapping-rules-with-the-keys-default-dataset-as-the-fallback"},{"title":"Ingest an event into a named dataset (PUT alias of ingestEventToDataset)","deprecated":null,"version":null,"openapi":"/openapi.json put /v1/ingest/{ingest_key}/{dataset}","href":"/api-reference/ingest/ingest-an-event-into-a-named-dataset-put-alias-of-ingesteventtodataset"},{"title":"Ingest an event with an ingest key straight into a named dataset","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/ingest/{ingest_key}/{dataset}","href":"/api-reference/ingest/ingest-an-event-with-an-ingest-key-straight-into-a-named-dataset"},{"title":"Ingest into a configured endpoint (PUT alias of ingestWebhookEvent)","deprecated":null,"version":null,"openapi":"/openapi.json put /v1/webhooks/{ingest_key}/{slug}","href":"/api-reference/ingest/ingest-into-a-configured-endpoint-put-alias-of-ingestwebhookevent"},{"title":"Ingest an event into a configured endpoint using an ingest key","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/{ingest_key}/{slug}","href":"/api-reference/ingest/ingest-an-event-into-a-configured-endpoint-using-an-ingest-key"}]},{"group":"Streaming","pages":[{"title":"Tail the ingest key's project live event stream over SSE or WebSocket","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/stream","href":"/api-reference/streaming/tail-the-ingest-keys-project-live-event-stream-over-sse-or-websocket"},{"title":"Tail the current workspace's live event stream over SSE or WebSocket","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/stream","href":"/api-reference/streaming/tail-the-current-workspaces-live-event-stream-over-sse-or-websocket"}]},{"group":"Customer Portal","pages":[{"title":"Get the portal context for the caller's token or session","deprecated":null,"version":null,"openapi":"/openapi.json get /portal/api/me","href":"/api-reference/customer-portal/get-the-portal-context-for-the-callers-token-or-session"},{"title":"List the dataset/event types this portal exposes","deprecated":null,"version":null,"openapi":"/openapi.json get /portal/api/event-types","href":"/api-reference/customer-portal/list-the-datasetevent-types-this-portal-exposes"},{"title":"List this customer's own destinations","deprecated":null,"version":null,"openapi":"/openapi.json get /portal/api/destinations","href":"/api-reference/customer-portal/list-this-customers-own-destinations"},{"title":"Create a destination for this customer","deprecated":null,"version":null,"openapi":"/openapi.json post /portal/api/destinations","href":"/api-reference/customer-portal/create-a-destination-for-this-customer"},{"title":"Edit, pause or resume one of this customer's destinations","deprecated":null,"version":null,"openapi":"/openapi.json put /portal/api/destinations/{id}","href":"/api-reference/customer-portal/edit-pause-or-resume-one-of-this-customers-destinations"},{"title":"Delete one of this customer's destinations","deprecated":null,"version":null,"openapi":"/openapi.json delete /portal/api/destinations/{id}","href":"/api-reference/customer-portal/delete-one-of-this-customers-destinations"},{"title":"Edit, pause or resume one of this customer's destinations","deprecated":null,"version":null,"openapi":"/openapi.json patch /portal/api/destinations/{id}","href":"/api-reference/customer-portal/edit-pause-or-resume-one-of-this-customers-destinations-1"},{"title":"List recent delivery attempts to this customer's destinations","deprecated":null,"version":null,"openapi":"/openapi.json get /portal/api/deliveries","href":"/api-reference/customer-portal/list-recent-delivery-attempts-to-this-customers-destinations"},{"title":"Trade a portal token for a session cookie","deprecated":null,"version":null,"openapi":"/openapi.json post /portal/api/session","href":"/api-reference/customer-portal/trade-a-portal-token-for-a-session-cookie"},{"title":"Sign out of the portal","deprecated":null,"version":null,"openapi":"/openapi.json delete /portal/api/session","href":"/api-reference/customer-portal/sign-out-of-the-portal"},{"title":"Show a destination's signing secret again","deprecated":null,"version":null,"openapi":"/openapi.json get /portal/api/destinations/{id}/secret","href":"/api-reference/customer-portal/show-a-destinations-signing-secret-again"},{"title":"Rotate a destination's signing secret, with an overlap","deprecated":null,"version":null,"openapi":"/openapi.json post /portal/api/destinations/{id}/rotate-secret","href":"/api-reference/customer-portal/rotate-a-destinations-signing-secret-with-an-overlap"},{"title":"End a rotation's overlap early","deprecated":null,"version":null,"openapi":"/openapi.json post /portal/api/destinations/{id}/expire-previous-secret","href":"/api-reference/customer-portal/end-a-rotations-overlap-early"},{"title":"One delivery, whole: why it failed","deprecated":null,"version":null,"openapi":"/openapi.json get /portal/api/deliveries/{id}","href":"/api-reference/customer-portal/one-delivery-whole:-why-it-failed"},{"title":"Send a delivery again","deprecated":null,"version":null,"openapi":"/openapi.json post /portal/api/deliveries/{id}/replay","href":"/api-reference/customer-portal/send-a-delivery-again"},{"title":"Example payloads for each exposed event type, and how to verify a delivery (both signature schemes)","deprecated":null,"version":null,"openapi":"/openapi.json get /portal/api/examples","href":"/api-reference/customer-portal/example-payloads-for-each-exposed-event-type-and-how-to-verify-a-delivery-both-signature-schemes"},{"title":"Table views the provider shared in the portal","deprecated":null,"version":null,"openapi":"/openapi.json get /portal/api/views","href":"/api-reference/customer-portal/table-views-the-provider-shared-in-the-portal"},{"title":"One page of a shared view, for the signed-in customer","deprecated":null,"version":null,"openapi":"/openapi.json get /portal/api/views/{id}/records","href":"/api-reference/customer-portal/one-page-of-a-shared-view-for-the-signed-in-customer"}]},{"group":"Account","pages":[{"title":"Current user, workspace and role","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/me","href":"/api-reference/account/current-user-workspace-and-role"}]},{"group":"Dashboard","pages":[{"title":"Workspace home dashboard rollup","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/dashboard/summary","href":"/api-reference/dashboard/workspace-home-dashboard-rollup"},{"title":"Bucketed activity series for the workspace","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/dashboard/timeseries","href":"/api-reference/dashboard/bucketed-activity-series-for-the-workspace"},{"title":"Analytics breakdown by project, endpoint, workflow and dataset","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/dashboard/analytics","href":"/api-reference/dashboard/analytics-breakdown-by-project-endpoint-workflow-and-dataset"}]},{"group":"Projects","pages":[{"title":"List projects in the workspace","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects","href":"/api-reference/projects/list-projects-in-the-workspace"},{"title":"Create a project","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects","href":"/api-reference/projects/create-a-project"},{"title":"Get one project with resource counts","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}","href":"/api-reference/projects/get-one-project-with-resource-counts"},{"title":"Delete a project","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/projects/{project_id}","href":"/api-reference/projects/delete-a-project"},{"title":"Rename a project or set its IP allowlist","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/projects/{project_id}","href":"/api-reference/projects/rename-a-project-or-set-its-ip-allowlist"},{"title":"Export a project's configuration","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/config","href":"/api-reference/projects/export-a-projects-configuration"},{"title":"Import a configuration into a project","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/config","href":"/api-reference/projects/import-a-configuration-into-a-project"},{"title":"Clone a project","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/clone","href":"/api-reference/projects/clone-a-project"}]},{"group":"Stats","pages":[{"title":"Traffic and delivery stats for one project","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/stats","href":"/api-reference/stats/traffic-and-delivery-stats-for-one-project"}]},{"group":"Datasets","pages":[{"title":"List datasets with record counts","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/datasets","href":"/api-reference/datasets/list-datasets-with-record-counts"},{"title":"One page of a dataset's records, whole and flattened (export shape)","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/datasets/{dataset}","href":"/api-reference/datasets/one-page-of-a-datasets-records-whole-and-flattened-export-shape"}]},{"group":"Records","pages":[{"title":"Get one record with its full payload","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/records/{id}","href":"/api-reference/records/get-one-record-with-its-full-payload"},{"title":"Delete a record and every copy of it","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/projects/{project_id}/records/{id}","href":"/api-reference/records/delete-a-record-and-every-copy-of-it"},{"title":"One page of a dataset's records, optionally through a saved view","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/datasets/{dataset}/records","href":"/api-reference/records/one-page-of-a-datasets-records-optionally-through-a-saved-view"},{"title":"Retired: records are read by dataset","deprecated":true,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/webhooks/{id}/records","href":"/api-reference/records/retired:-records-are-read-by-dataset"},{"title":"The dataset's latest purge","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/datasets/{dataset}/purge","href":"/api-reference/records/the-datasets-latest-purge"},{"title":"Delete every record in a dataset","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/datasets/{dataset}/purge","href":"/api-reference/records/delete-every-record-in-a-dataset"}]},{"group":"Submissions","pages":[{"title":"List raw submissions","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/submissions","href":"/api-reference/submissions/list-raw-submissions"},{"title":"Set a submission forward status","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/projects/{project_id}/submissions/{id}","href":"/api-reference/submissions/set-a-submission-forward-status"}]},{"group":"Rules","pages":[{"title":"List mapping rules","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/rules","href":"/api-reference/rules/list-mapping-rules"},{"title":"Create a mapping rule","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/rules","href":"/api-reference/rules/create-a-mapping-rule"},{"title":"Get one rule","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/rules/{id}","href":"/api-reference/rules/get-one-rule"},{"title":"Delete a rule","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/projects/{project_id}/rules/{id}","href":"/api-reference/rules/delete-a-rule"},{"title":"Update a rule","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/projects/{project_id}/rules/{id}","href":"/api-reference/rules/update-a-rule"},{"title":"Test conditions and mappings against a sample payload","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/rules/test","href":"/api-reference/rules/test-conditions-and-mappings-against-a-sample-payload"}]},{"group":"Webhooks","pages":[{"title":"List endpoints","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/webhooks","href":"/api-reference/webhooks/list-endpoints"},{"title":"Create an endpoint","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/webhooks","href":"/api-reference/webhooks/create-an-endpoint"},{"title":"Publish a new version of a webhook","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/webhooks/{id}/versions","href":"/api-reference/webhooks/publish-a-new-version-of-a-webhook"},{"title":"Get one webhook","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/webhooks/{id}","href":"/api-reference/webhooks/get-one-webhook"},{"title":"Delete a webhook version","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/projects/{project_id}/webhooks/{id}","href":"/api-reference/webhooks/delete-a-webhook-version"},{"title":"Change an endpoint: enabled, name, dataset, IP allowlist, form redirect, CORS origins, URL verification, signature verification","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/projects/{project_id}/webhooks/{id}","href":"/api-reference/webhooks/change-an-endpoint:-enabled-name-dataset-ip-allowlist-form-redirect-cors-origins-url-verification-signature-verification"},{"title":"Give an endpoint a new public URL, with an overlap","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/webhooks/{id}/rotate","href":"/api-reference/webhooks/give-an-endpoint-a-new-public-url-with-an-overlap"},{"title":"Replace an endpoint's provider signing secret, with an overlap","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/webhooks/{id}/rotate-verification-secret","href":"/api-reference/webhooks/replace-an-endpoints-provider-signing-secret-with-an-overlap"},{"title":"One endpoint's received and refused requests","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/webhooks/{id}/activity","href":"/api-reference/webhooks/one-endpoints-received-and-refused-requests"}]},{"group":"Record views","pages":[{"title":"List saved record views","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/record-views","href":"/api-reference/record-views/list-saved-record-views"},{"title":"Create a record view","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/record-views","href":"/api-reference/record-views/create-a-record-view"},{"title":"Get one view","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/record-views/{id}","href":"/api-reference/record-views/get-one-view"},{"title":"Delete a record view","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/projects/{project_id}/record-views/{id}","href":"/api-reference/record-views/delete-a-record-view"},{"title":"Update a record view","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/projects/{project_id}/record-views/{id}","href":"/api-reference/record-views/update-a-record-view"}]},{"group":"Ingest keys","pages":[{"title":"List ingest keys","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/ingest-keys","href":"/api-reference/ingest-keys/list-ingest-keys"},{"title":"Issue an ingest key","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/ingest-keys","href":"/api-reference/ingest-keys/issue-an-ingest-key"},{"title":"Get one ingest key","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/ingest-keys/{id}","href":"/api-reference/ingest-keys/get-one-ingest-key"},{"title":"Revoke an ingest key","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/projects/{project_id}/ingest-keys/{id}","href":"/api-reference/ingest-keys/revoke-an-ingest-key"},{"title":"Rename an ingest key, or set its expiry or IP allowlist","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/projects/{project_id}/ingest-keys/{id}","href":"/api-reference/ingest-keys/rename-an-ingest-key-or-set-its-expiry-or-ip-allowlist"},{"title":"Rotate an ingest key with an overlap","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/ingest-keys/{id}/rotate","href":"/api-reference/ingest-keys/rotate-an-ingest-key-with-an-overlap"}]},{"group":"Destinations","pages":[{"title":"List outbound destinations","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/destinations","href":"/api-reference/destinations/list-outbound-destinations"},{"title":"Create an outbound destination","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/destinations","href":"/api-reference/destinations/create-an-outbound-destination"},{"title":"Get one destination","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/destinations/{id}","href":"/api-reference/destinations/get-one-destination"},{"title":"Delete a destination","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/projects/{project_id}/destinations/{id}","href":"/api-reference/destinations/delete-a-destination"},{"title":"Edit a destination: name, URL or type settings, on/off, dataset filter, request options, alert URL or delivery limits","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/projects/{project_id}/destinations/{id}","href":"/api-reference/destinations/edit-a-destination:-name-url-or-type-settings-onoff-dataset-filter-request-options-alert-url-or-delivery-limits"},{"title":"Reveal a destination signing secret","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/destinations/{id}/secret","href":"/api-reference/destinations/reveal-a-destination-signing-secret"},{"title":"Rotate a destination signing secret","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/destinations/{id}/rotate-secret","href":"/api-reference/destinations/rotate-a-destination-signing-secret"},{"title":"Stop signing with a destination's previous secret","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/destinations/{id}/expire-previous-secret","href":"/api-reference/destinations/stop-signing-with-a-destinations-previous-secret"}]},{"group":"Deliveries","pages":[{"title":"List outbound deliveries","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/deliveries","href":"/api-reference/deliveries/list-outbound-deliveries"},{"title":"Delivery health per destination: success rate, latency percentiles, error classes, time series","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/deliveries/metrics","href":"/api-reference/deliveries/delivery-health-per-destination:-success-rate-latency-percentiles-error-classes-time-series"},{"title":"Replay every delivery that did not arrive, by filter","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/deliveries/replay","href":"/api-reference/deliveries/replay-every-delivery-that-did-not-arrive-by-filter"},{"title":"List events whose deliveries are held past the monthly delivery allowance","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/deliveries/held","href":"/api-reference/deliveries/list-events-whose-deliveries-are-held-past-the-monthly-delivery-allowance"},{"title":"Send held deliveries now that there is room in the allowance","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/deliveries/held/release","href":"/api-reference/deliveries/send-held-deliveries-now-that-there-is-room-in-the-allowance"},{"title":"Get one delivery with its response body and every attempt","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/deliveries/{id}","href":"/api-reference/deliveries/get-one-delivery-with-its-response-body-and-every-attempt"},{"title":"Replay a delivery","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/deliveries/{id}/replay","href":"/api-reference/deliveries/replay-a-delivery"}]},{"group":"Search","pages":[{"title":"Search records (events)","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/search/events","href":"/api-reference/search/search-records-events"},{"title":"Search deliveries","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/search/deliveries","href":"/api-reference/search/search-deliveries"},{"title":"Search AI agent runs","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/search/ai-runs","href":"/api-reference/search/search-ai-agent-runs"},{"title":"Search the AI call log","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/search/ai-calls","href":"/api-reference/search/search-the-ai-call-log"},{"title":"Get one AI call in full","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/search/ai-calls/{id}","href":"/api-reference/search/get-one-ai-call-in-full"},{"title":"Search raw submissions","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/search/submissions","href":"/api-reference/search/search-raw-submissions"},{"title":"Correlate any pipeline id across the pipeline","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/search/correlate/{id}","href":"/api-reference/search/correlate-any-pipeline-id-across-the-pipeline"}]},{"group":"Audit","pages":[{"title":"Read the workspace audit log","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/audit","href":"/api-reference/audit/read-the-workspace-audit-log"},{"title":"List the actions recorded in the workspace audit log","description":"The distinct action names present in this workspace's audit log, sorted, for an action filter. Only actions that were actually recorded are listed, so every one matches at least one row of GET /admin/api/audit?action=. Workspace-level; open to any role, like the JSON list.","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/audit/actions","href":"/api-reference/audit/list-the-actions-recorded-in-the-workspace-audit-log"}]},{"group":"Sources","pages":[{"title":"List inbound source connectors in a project","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/sources","href":"/api-reference/sources/list-inbound-source-connectors-in-a-project"},{"title":"Create a source connector","description":"PostgreSQL only (#196, FLOW-3). Type, config and cursor column are validated as the poller uses them, before the plan's source cap is checked; MySQL and HTTP poll were offered but never implemented and are refused. The first poll runs on the next 5-minute heartbeat.","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/sources","href":"/api-reference/sources/create-a-source-connector"},{"title":"Get one source","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/sources/{source_id}","href":"/api-reference/sources/get-one-source"},{"title":"Delete a source connector","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/projects/{project_id}/sources/{source_id}","href":"/api-reference/sources/delete-a-source-connector"},{"title":"Update a source connector","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/projects/{project_id}/sources/{source_id}","href":"/api-reference/sources/update-a-source-connector"},{"title":"Test a source connector's connection","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/sources/{source_id}/test","href":"/api-reference/sources/test-a-source-connectors-connection"}]},{"group":"Triggers","pages":[{"title":"List agentic-AI event triggers in a project","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/triggers","href":"/api-reference/triggers/list-agentic-ai-event-triggers-in-a-project"},{"title":"Create an agentic-AI event trigger","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/triggers","href":"/api-reference/triggers/create-an-agentic-ai-event-trigger"},{"title":"Get one trigger","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/triggers/{trigger_id}","href":"/api-reference/triggers/get-one-trigger"},{"title":"Delete an AI trigger","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/projects/{project_id}/triggers/{trigger_id}","href":"/api-reference/triggers/delete-an-ai-trigger"},{"title":"Enable or disable an AI trigger","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/projects/{project_id}/triggers/{trigger_id}","href":"/api-reference/triggers/enable-or-disable-an-ai-trigger"}]},{"group":"Cron triggers","pages":[{"title":"List cron triggers in a project","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/cron-triggers","href":"/api-reference/cron-triggers/list-cron-triggers-in-a-project"},{"title":"Create a cron trigger","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/cron-triggers","href":"/api-reference/cron-triggers/create-a-cron-trigger"},{"title":"Preview a cron schedule's next fire times","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/cron-triggers/preview","href":"/api-reference/cron-triggers/preview-a-cron-schedules-next-fire-times"},{"title":"Get one cron trigger","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/cron-triggers/{cron_trigger_id}","href":"/api-reference/cron-triggers/get-one-cron-trigger"},{"title":"Delete a cron trigger","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/projects/{project_id}/cron-triggers/{cron_trigger_id}","href":"/api-reference/cron-triggers/delete-a-cron-trigger"},{"title":"Update a cron trigger","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/projects/{project_id}/cron-triggers/{cron_trigger_id}","href":"/api-reference/cron-triggers/update-a-cron-trigger"},{"title":"Fire a cron trigger once, immediately","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/cron-triggers/{cron_trigger_id}/test","href":"/api-reference/cron-triggers/fire-a-cron-trigger-once-immediately"}]},{"group":"WebSocket triggers","pages":[{"title":"List WebSocket triggers in a project","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/ws-triggers","href":"/api-reference/websocket-triggers/list-websocket-triggers-in-a-project"},{"title":"Create a WebSocket trigger","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/ws-triggers","href":"/api-reference/websocket-triggers/create-a-websocket-trigger"},{"title":"Get one ws trigger","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/ws-triggers/{ws_trigger_id}","href":"/api-reference/websocket-triggers/get-one-ws-trigger"},{"title":"Delete a WebSocket trigger","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/projects/{project_id}/ws-triggers/{ws_trigger_id}","href":"/api-reference/websocket-triggers/delete-a-websocket-trigger"},{"title":"Edit, pause or resume a WebSocket trigger","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/projects/{project_id}/ws-triggers/{ws_trigger_id}","href":"/api-reference/websocket-triggers/edit-pause-or-resume-a-websocket-trigger"},{"title":"Probe a WebSocket trigger's connection","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/ws-triggers/{ws_trigger_id}/test","href":"/api-reference/websocket-triggers/probe-a-websocket-triggers-connection"}]},{"group":"Workflows","pages":[{"title":"List workflow definitions in a project","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/workflows","href":"/api-reference/workflows/list-workflow-definitions-in-a-project"},{"title":"Create a workflow definition","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/workflows","href":"/api-reference/workflows/create-a-workflow-definition"},{"title":"Get one workflow definition","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/workflows/{workflow_id}","href":"/api-reference/workflows/get-one-workflow-definition"},{"title":"Replace a workflow definition","deprecated":null,"version":null,"openapi":"/openapi.json put /admin/api/projects/{project_id}/workflows/{workflow_id}","href":"/api-reference/workflows/replace-a-workflow-definition"},{"title":"Deactivate, or permanently delete, a workflow","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/projects/{project_id}/workflows/{workflow_id}","href":"/api-reference/workflows/deactivate-or-permanently-delete-a-workflow"},{"title":"Change part of a workflow (merge)","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/projects/{project_id}/workflows/{workflow_id}","href":"/api-reference/workflows/change-part-of-a-workflow-merge"},{"title":"List instances of one workflow","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/workflows/{workflow_id}/instances","href":"/api-reference/workflows/list-instances-of-one-workflow"},{"title":"Get a workflow instance with its step events and per-step status","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/workflow-instances/{instance_id}","href":"/api-reference/workflows/get-a-workflow-instance-with-its-step-events-and-per-step-status"},{"title":"Cancel a workflow instance","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/workflow-instances/{instance_id}/cancel","href":"/api-reference/workflows/cancel-a-workflow-instance"},{"title":"Retry a workflow instance","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/workflow-instances/{instance_id}/retry","href":"/api-reference/workflows/retry-a-workflow-instance"}]},{"group":"AI agents","pages":[{"title":"List AI agents in a project","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/ai-agents","href":"/api-reference/ai-agents/list-ai-agents-in-a-project"},{"title":"Create an AI agent","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/ai-agents","href":"/api-reference/ai-agents/create-an-ai-agent"},{"title":"Get one AI agent","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/ai-agents/{agent_id}","href":"/api-reference/ai-agents/get-one-ai-agent"},{"title":"Replace an AI agent","deprecated":null,"version":null,"openapi":"/openapi.json put /admin/api/projects/{project_id}/ai-agents/{agent_id}","href":"/api-reference/ai-agents/replace-an-ai-agent"},{"title":"Retire, or permanently delete, an AI agent","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/projects/{project_id}/ai-agents/{agent_id}","href":"/api-reference/ai-agents/retire-or-permanently-delete-an-ai-agent"},{"title":"Change an AI agent (only the fields sent)","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/projects/{project_id}/ai-agents/{agent_id}","href":"/api-reference/ai-agents/change-an-ai-agent-only-the-fields-sent"},{"title":"Models an AI trigger, agent or workflow AI step may name","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/ai-models","href":"/api-reference/ai-agents/models-an-ai-trigger-agent-or-workflow-ai-step-may-name"}]},{"group":"Portals","pages":[{"title":"The project's one customer portal","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/portal","href":"/api-reference/portals/the-projects-one-customer-portal"},{"title":"Create or update the project's customer portal","deprecated":null,"version":null,"openapi":"/openapi.json put /admin/api/projects/{project_id}/portal","href":"/api-reference/portals/create-or-update-the-projects-customer-portal"},{"title":"Remove the project's customer portal for good","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/projects/{project_id}/portal","href":"/api-reference/portals/remove-the-projects-customer-portal-for-good"},{"title":"Create or update the project's customer portal (PATCH, same as PUT)","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/projects/{project_id}/portal","href":"/api-reference/portals/create-or-update-the-projects-customer-portal-patch-same-as-put"},{"title":"List customer portals in a project","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/portals","href":"/api-reference/portals/list-customer-portals-in-a-project"},{"title":"Create a customer portal","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/portals","href":"/api-reference/portals/create-a-customer-portal"},{"title":"Get one customer portal","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/portals/{portal_id}","href":"/api-reference/portals/get-one-customer-portal"},{"title":"Update a customer portal","deprecated":null,"version":null,"openapi":"/openapi.json put /admin/api/projects/{project_id}/portals/{portal_id}","href":"/api-reference/portals/update-a-customer-portal"},{"title":"Disable a customer portal","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/projects/{project_id}/portals/{portal_id}","href":"/api-reference/portals/disable-a-customer-portal"},{"title":"Update a customer portal (PATCH, same as PUT)","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/projects/{project_id}/portals/{portal_id}","href":"/api-reference/portals/update-a-customer-portal-patch-same-as-put"},{"title":"List a portal's access tokens","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/portals/{portal_id}/tokens","href":"/api-reference/portals/list-a-portals-access-tokens"},{"title":"Issue or revoke a portal access token","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/portals/{portal_id}/tokens","href":"/api-reference/portals/issue-or-revoke-a-portal-access-token"}]},{"group":"Connected agents","pages":[{"title":"List the signed-in user's OAuth-connected coding agents","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/agents","href":"/api-reference/connected-agents/list-the-signed-in-users-oauth-connected-coding-agents"},{"title":"Revoke a connected agent","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/agents/{grant_id}","href":"/api-reference/connected-agents/revoke-a-connected-agent"},{"title":"Change what a connected agent may do","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/agents/{grant_id}","href":"/api-reference/connected-agents/change-what-a-connected-agent-may-do"}]},{"group":"SSO","pages":[{"title":"List workspace SSO configurations","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/sso","href":"/api-reference/sso/list-workspace-sso-configurations"},{"title":"Create a workspace SSO configuration (not available)","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/sso","href":"/api-reference/sso/create-a-workspace-sso-configuration-not-available"},{"title":"Replace a workspace SSO configuration (not available)","deprecated":null,"version":null,"openapi":"/openapi.json put /admin/api/sso/{sso_config_id}","href":"/api-reference/sso/replace-a-workspace-sso-configuration-not-available"},{"title":"Delete a workspace SSO configuration","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/sso/{sso_config_id}","href":"/api-reference/sso/delete-a-workspace-sso-configuration"},{"title":"Update a workspace SSO configuration (not available)","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/sso/{sso_config_id}","href":"/api-reference/sso/update-a-workspace-sso-configuration-not-available"},{"title":"Check whether an SSO configuration is complete","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/sso/{sso_config_id}/test","href":"/api-reference/sso/check-whether-an-sso-configuration-is-complete"},{"title":"Read the workspace's SSO / Directory Sync request","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/sso/requests","href":"/api-reference/sso/read-the-workspaces-sso-directory-sync-request"},{"title":"Request single sign-on or Directory Sync","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/sso/requests","href":"/api-reference/sso/request-single-sign-on-or-directory-sync"},{"title":"Cancel a pending SSO / Directory Sync request","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/sso/requests/{request_id}","href":"/api-reference/sso/cancel-a-pending-sso-directory-sync-request"},{"title":"Open the WorkOS Admin Portal to set up SSO or Directory Sync","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/sso/portal-link","href":"/api-reference/sso/open-the-workos-admin-portal-to-set-up-sso-or-directory-sync"}]},{"group":"IP allowlist","pages":[{"title":"Read the workspace-level ingest IP allowlist","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/ip-allowlist","href":"/api-reference/ip-allowlist/read-the-workspace-level-ingest-ip-allowlist"},{"title":"Replace the workspace-level ingest IP allowlist","deprecated":null,"version":null,"openapi":"/openapi.json put /admin/api/ip-allowlist","href":"/api-reference/ip-allowlist/replace-the-workspace-level-ingest-ip-allowlist"},{"title":"Replace the workspace-level ingest IP allowlist","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/ip-allowlist","href":"/api-reference/ip-allowlist/replace-the-workspace-level-ingest-ip-allowlist-1"}]},{"group":"Workspace","pages":[{"title":"The workspace's name, slug and former slugs","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/workspace","href":"/api-reference/workspace/the-workspaces-name-slug-and-former-slugs"},{"title":"Rename the workspace or change its slug","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/workspace","href":"/api-reference/workspace/rename-the-workspace-or-change-its-slug"},{"title":"List the workspace's admin API keys","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/api-keys","href":"/api-reference/workspace/list-the-workspaces-admin-api-keys"},{"title":"Create an admin API key (shown once)","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/api-keys","href":"/api-reference/workspace/create-an-admin-api-key-shown-once"},{"title":"Revoke an admin API key","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/api-keys/{key_id}","href":"/api-reference/workspace/revoke-an-admin-api-key"},{"title":"The pending workspace closure, if any","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/workspace/closure","href":"/api-reference/workspace/the-pending-workspace-closure-if-any"},{"title":"Close the workspace","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/workspace/closure","href":"/api-reference/workspace/close-the-workspace"},{"title":"Undo a pending closure","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/workspace/closure","href":"/api-reference/workspace/undo-a-pending-closure"},{"title":"Export all of the workspace's data","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/workspace/export","href":"/api-reference/workspace/export-all-of-the-workspaces-data"},{"title":"List the workspace's pending invites","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/invites","href":"/api-reference/workspace/list-the-workspaces-pending-invites"},{"title":"Create a shareable invite link","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/invites","href":"/api-reference/workspace/create-a-shareable-invite-link"},{"title":"Revoke a pending invite","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/invites/{invite_id}","href":"/api-reference/workspace/revoke-a-pending-invite"},{"title":"Join a workspace with an invite link's token","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/invites/accept","href":"/api-reference/workspace/join-a-workspace-with-an-invite-links-token"},{"title":"See what an invite link's token would join, without joining","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/invites/preview","href":"/api-reference/workspace/see-what-an-invite-links-token-would-join-without-joining"},{"title":"List the workspace's members","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/members","href":"/api-reference/workspace/list-the-workspaces-members"},{"title":"Remove a member, or leave the workspace","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/members/{user_id}","href":"/api-reference/workspace/remove-a-member-or-leave-the-workspace"},{"title":"Change a member's role","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/members/{user_id}","href":"/api-reference/workspace/change-a-members-role"},{"title":"Transfer ownership to another member","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/members/transfer-ownership","href":"/api-reference/workspace/transfer-ownership-to-another-member"},{"title":"List the workspaces the caller belongs to","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/workspaces","href":"/api-reference/workspace/list-the-workspaces-the-caller-belongs-to"},{"title":"Switch the caller's active workspace","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/workspaces/active","href":"/api-reference/workspace/switch-the-callers-active-workspace"},{"title":"The workspace's Google Workspace domain link","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/workspace/google-domain","href":"/api-reference/workspace/the-workspaces-google-workspace-domain-link"},{"title":"Link the owner's Google Workspace domain","deprecated":null,"version":null,"openapi":"/openapi.json put /admin/api/workspace/google-domain","href":"/api-reference/workspace/link-the-owners-google-workspace-domain"},{"title":"Unlink the Google Workspace domain","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/workspace/google-domain","href":"/api-reference/workspace/unlink-the-google-workspace-domain"},{"title":"Change the role people from the linked domain join with","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/workspace/google-domain","href":"/api-reference/workspace/change-the-role-people-from-the-linked-domain-join-with"},{"title":"See what a claim token would take over","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/agent-accounts/claim-preview","href":"/api-reference/workspace/see-what-a-claim-token-would-take-over"},{"title":"Take ownership of a workspace an AI agent registered","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/agent-accounts/claim","href":"/api-reference/workspace/take-ownership-of-a-workspace-an-ai-agent-registered"}]},{"group":"Billing","pages":[{"title":"Current plan, subscription and display prices","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/billing/status","href":"/api-reference/billing/current-plan-subscription-and-display-prices"},{"title":"Start a new subscription via Stripe Checkout","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/billing/subscribe","href":"/api-reference/billing/start-a-new-subscription-via-stripe-checkout"},{"title":"Renewal date, payment failures, a pending cancellation and invoices, from Stripe","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/billing/details","href":"/api-reference/billing/renewal-date-payment-failures-a-pending-cancellation-and-invoices-from-stripe"},{"title":"Open Stripe's Customer Portal for this workspace","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/billing/portal","href":"/api-reference/billing/open-stripes-customer-portal-for-this-workspace"}]},{"group":"Presets","pages":[{"title":"Outbound destination preset catalog","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/destination-presets","href":"/api-reference/presets/outbound-destination-preset-catalog"},{"title":"Inbound source preset catalog","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/source-presets","href":"/api-reference/presets/inbound-source-preset-catalog"}]},{"group":"Data API","pages":[{"title":"The datasets this key may read, and their columns","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/data","href":"/api-reference/data-api/the-datasets-this-key-may-read-and-their-columns"},{"title":"One page of an exposed dataset, exposed columns only","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/data/{dataset}","href":"/api-reference/data-api/one-page-of-an-exposed-dataset-exposed-columns-only"},{"title":"What the project exposes to the Data API, and its keys (metadata only)","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/data-api","href":"/api-reference/data-api/what-the-project-exposes-to-the-data-api-and-its-keys-metadata-only"},{"title":"Replace what the project exposes","deprecated":null,"version":null,"openapi":"/openapi.json put /admin/api/projects/{project_id}/data-api/exposures","href":"/api-reference/data-api/replace-what-the-project-exposes"},{"title":"Replace what the project exposes (PATCH, same as PUT)","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/projects/{project_id}/data-api/exposures","href":"/api-reference/data-api/replace-what-the-project-exposes-patch-same-as-put"},{"title":"Create a read-only Data API key (the plaintext is returned once)","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/data-api/keys","href":"/api-reference/data-api/create-a-read-only-data-api-key-the-plaintext-is-returned-once"},{"title":"Revoke a Data API key; it stops working immediately","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/projects/{project_id}/data-api/keys/{key_id}","href":"/api-reference/data-api/revoke-a-data-api-key;-it-stops-working-immediately"}]},{"group":"Broadcast Logs","pages":[{"title":"The project's Broadcast Logs integration (or null) and the vendor catalog","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/telemetry","href":"/api-reference/broadcast-logs/the-projects-broadcast-logs-integration-or-null-and-the-vendor-catalog"},{"title":"Start forwarding the project's logs and traces over OTLP/HTTP (JSON) to one tool","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/telemetry","href":"/api-reference/broadcast-logs/start-forwarding-the-projects-logs-and-traces-over-otlphttp-json-to-one-tool"},{"title":"Remove the integration","deprecated":null,"version":null,"openapi":"/openapi.json delete /admin/api/projects/{project_id}/telemetry","href":"/api-reference/broadcast-logs/remove-the-integration"},{"title":"Change the integration's settings or secrets, or enable / disable it","deprecated":null,"version":null,"openapi":"/openapi.json patch /admin/api/projects/{project_id}/telemetry","href":"/api-reference/broadcast-logs/change-the-integrations-settings-or-secrets-or-enable-disable-it"},{"title":"Send one test log record (and span) to a draft or the saved configuration","deprecated":null,"version":null,"openapi":"/openapi.json post /admin/api/projects/{project_id}/telemetry/test","href":"/api-reference/broadcast-logs/send-one-test-log-record-and-span-to-a-draft-or-the-saved-configuration"}]},{"group":"Observability","pages":[{"title":"A project's flagged events: filtered and routing failed","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/errors","href":"/api-reference/observability/a-projects-flagged-events:-filtered-and-routing-failed"},{"title":"One flagged event, with its whole payload","deprecated":null,"version":null,"openapi":"/openapi.json get /admin/api/projects/{project_id}/errors/{id}","href":"/api-reference/observability/one-flagged-event-with-its-whole-payload"}]},{"group":"Status","pages":[{"title":"Is the API up?","deprecated":null,"version":null,"openapi":"/openapi.json get /health","href":"/api-reference/status/is-the-api-up?"},{"title":"CORS preflight for /health","deprecated":null,"version":null,"openapi":"/openapi.json options /health","href":"/api-reference/status/cors-preflight-for-health"},{"title":"Is the API up? (headers only)","deprecated":null,"version":null,"openapi":"/openapi.json head /health","href":"/api-reference/status/is-the-api-up?-headers-only"}]},{"group":"Agents","pages":[{"title":"Get a proof-of-work challenge to register an agent","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/agents/register/challenge","href":"/api-reference/agents/get-a-proof-of-work-challenge-to-register-an-agent"},{"title":"Register an AI agent's own Hookie account","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/agents/register","href":"/api-reference/agents/register-an-ai-agents-own-hookie-account"}]},{"group":"Delivery","pages":[{"title":"An outbound delivery to a destination","version":null,"deprecated":null,"openapi":"/openapi.json webhook delivery","href":"/api-reference/delivery/an-outbound-delivery-to-a-destination"}]}]}]},"basePath":"","title":"List inbound source connectors in a project - Hookie","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C8RPHPxo.js","utils-0BK-9q6z.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DfjzsUJT.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B4v9psJ4.js","snippetPresets-CpTQv-Ez.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-BNP-Fvr0.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BSgu6h1D.js","shallow-Biv1i9Gs.js","getApiPlaygroundDisplay-BoGOXhtF.js","CodeSnippet-DvQoT18_.js","CodeSnippets-Dnpa15xT.js","Page-Buji1S4J.js","getPastedJson-xAIyhUFE.js","icon-S6FBih11.js","MethodPill-SaYeUZyk.js","DuplicateIcon-Cs-p3v2Q.js","createIcon-DjCFEoHq.js","DynamicMarkdown-BcnBltEQ.js","SectionHeading-BUBl0eEF.js","axios-vUo_bRtp.js","Markdown-h4cOoD8d.js","clsx-B2v50t8t.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DJnKvr0g.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BHrrjR1K.js"]}