Whether you have brought your own OAuth client for this catalog app, and the one redirect URI to register on it at the provider. Nothing about the client’s credentials is here or anywhere on this API. Not configured is a 200 saying configured: false, not a 404.
An organization-scoped API key, minted in control under Settings → API keys. Every failure to authenticate answers one identical 401: "Provide a valid organization-scoped API key or an active session." Each operation names the one scope it is filed under, <resource>:<read|write>, where the resource is the first path segment after /api/v1/; a key minted today carries all 22 of them. Scopes are RECORDED — on the key and on every audit row — and are not yet enforced: no request is refused for want of one.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Ergoly","description":"How to manage your agency on Ergoly","colors":{"primary":"#079b9b","light":"#3cd3cf","dark":"#0f7170"},"logo":{"light":"https://mintcdn.com/ergoly/-drdYd6uXChmiNIn/logo/light.png?fit=max\u0026auto=format\u0026n=-drdYd6uXChmiNIn\u0026q=85\u0026s=a9084e9caaf8656a821bf02426e31c05","dark":"https://mintcdn.com/ergoly/-drdYd6uXChmiNIn/logo/dark.png?fit=max\u0026auto=format\u0026n=-drdYd6uXChmiNIn\u0026q=85\u0026s=2c7c39ae6542910294a1183134fda8ff","href":"https://www.ergoly.ai"},"favicon":"https://mintcdn.com/ergoly/-drdYd6uXChmiNIn/favicon.png?fit=max\u0026auto=format\u0026n=-drdYd6uXChmiNIn\u0026q=85\u0026s=9e5baceff3d9e2c0f0d473b3a7c5d40b","api":{"playground":{"display":"interactive","proxy":true},"examples":{"defaults":"required","languages":["curl","javascript","python"]}},"background":{"color":{"light":"#f2f3f3","dark":"#282828"}},"navbar":{"links":[{"href":"https://www.ergoly.ai/support","label":"Support"}],"primary":{"type":"button","label":"Sign in","href":"https://control.ergoly.ai/"}},"footer":{"socials":{"website":"https://www.ergoly.ai","linkedin":"https://www.linkedin.com/company/ergoly","github":"https://github.com/ergoly-ai"}},"seo":{"metatags":{"canonical":"https://docs.ergoly.ai"}},"fonts":{"family":"Satoshi","source":"fonts/Satoshi-Variable.woff2","format":"woff2"},"banner":{"content":"Ergoly is hiring. \u003ca href=\"https://www.ergoly.ai/jobs\">Apply today\u003c/a>.","dismissible":true},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"interaction":{"drilldown":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ergoly","hasAudioNarration":false,"actualSubdomain":"ergoly","customDomains":["docs.ergoly.ai"],"gitSource":{"type":"github","owner":"ergoly-ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":"","_id":"6af1063edce746e0972c5b68"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af1344bc7dcf404baff164b","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"API","count":72},{"language":"default","tag":"Docs","count":49},{"language":"default","tag":"Workers","count":33},{"language":"default","tag":"Connections","count":26},{"language":"default","tag":"Channels","count":14},{"language":"default","tag":"Changelog","count":12},{"language":"default","tag":"Releases","count":12},{"language":"default","tag":"Tasks","count":11},{"language":"default","tag":"Clients","count":9},{"language":"default","tag":"Company","count":9}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"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":"rbac-expansion","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":"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":"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":"editor-metadata","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":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/connections/get-your-oauth-client","slug":"/api-reference/connections/get-your-oauth-client","pageMetadata":{"title":"Get your OAuth client","description":"Whether you have brought your own OAuth client for this catalog app, and the one redirect URI to register on it at the provider. Nothing about the client's credentials is here or anywhere on this API. Not configured is a 200 saying `configured: false`, not a 404.","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/oauth-apps/{app}","href":"/api-reference/connections/get-your-oauth-client","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Whether you have brought your own OAuth client for this catalog app, and the one redirect URI to register on it at the provider. Nothing about the client’s credentials is here or anywhere on this API. Not configured is a 200 saying \", _jsx(_components.code, {\n children: \"configured: false\"\n }), \", not a 404.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get your OAuth client","description":"Whether you have brought your own OAuth client for this catalog app, and the one redirect URI to register on it at the provider. Nothing about the client's credentials is here or anywhere on this API. Not configured is a 200 saying `configured: false`, not a 404.","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/oauth-apps/{app}","href":"/api-reference/connections/get-your-oauth-client","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"getOAuthApp","summary":"Get your OAuth client","description":"Whether you have brought your own OAuth client for this catalog app, and the one redirect URI to register on it at the provider. Nothing about the client's credentials is here or anywhere on this API. Not configured is a 200 saying `configured: false`, not a 404.","tags":["connections"],"security":["6ff5c88a-f7c6-4829-bbdc-99dd6a398991"],"parameters":["0cfa9018-1538-4a98-9eac-e053a39e9288"],"responses":{"200":"e1841267-4c4f-4770-9b17-f76ca62f6aec","400":"8157ed19-41ed-46cf-8260-43bbf288089f","401":"007adc30-d8b7-45c5-8778-cceeb4948549","404":"3e159bf9-32c8-4f8f-8bf7-54f56c17f730","429":"7587c975-a7fe-4d4a-8176-7fef60bbc505","502":"834c8407-8735-4e40-976c-5a161eda273c"},"method":"get","type":"path","servers":["15355b2c-94fb-418f-acf2-2e27904062bb"],"path":"/api/v1/oauth-apps/{app}","baseUrlOptions":["https://control.ergoly.ai"],"title":"Get your OAuth client","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"0cfa9018-1538-4a98-9eac-e053a39e9288":{"name":"app","in":"path","required":true,"description":"The catalog app whose OAuth client to read (`hubspot`, `github`).","schema":{"type":"string","description":"The catalog app whose OAuth client to read (`hubspot`, `github`).","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"responses":{"e1841267-4c4f-4770-9b17-f76ca62f6aec":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"app":{"type":"string","description":"The catalog app this OAuth client is for.","isRequired":true,"uniqueKey":"data.app","typeLabel":"string"},"configured":{"type":"boolean","description":"Whether your own client is set for it.","isRequired":true,"uniqueKey":"data.configured","typeLabel":"boolean"},"redirectUri":{"type":"string","description":"The one redirect URI to register on the client at the provider. Composio runs the consent, so it is Composio's.","isRequired":true,"uniqueKey":"data.redirectUri","typeLabel":"string"}},"required":["app","configured","redirectUri"],"additionalProperties":false,"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["data"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"data":{"app":"hubspot","configured":true,"redirectUri":"https://backend.composio.dev/api/v1/auth-apps/add"}},"examples":{"Example":{"title":"Example","value":{"data":{"app":"hubspot","configured":true,"redirectUri":"https://backend.composio.dev/api/v1/auth-apps/add"}}}},"exampleType":"examples"}},"exampleType":"examples"},"8157ed19-41ed-46cf-8260-43bbf288089f":{"description":"`invalid_request`","content":{"application/json":{"schema":{"type":"object","description":"The one error shape. Every refusal in this namespace has it.","properties":{"error":{"type":"object","description":"The refusal.","properties":{"code":{"type":"string","enum":["unauthorized","not_found","invalid_request","conflict","quota_exceeded","rate_limited","upstream_error","gone"],"description":"The machine-stable half. Branch on this, never on `message`.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Prose for a human reading a terminal.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"docs":{"type":"string","description":"Where to learn how to authenticate. Present on `unauthorized` and on nothing else — it is the one refusal a caller can reach with no credential at all, so it is the one that has to say where the way in is.","uniqueKey":"error.docs","typeLabel":"string"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unauthorized","message":"\u003cstring>","docs":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"007adc30-d8b7-45c5-8778-cceeb4948549":{"description":"`unauthorized`","content":{"application/json":{"schema":{"type":"object","description":"The one error shape. Every refusal in this namespace has it.","properties":{"error":{"type":"object","description":"The refusal.","properties":{"code":{"type":"string","enum":["unauthorized","not_found","invalid_request","conflict","quota_exceeded","rate_limited","upstream_error","gone"],"description":"The machine-stable half. Branch on this, never on `message`.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Prose for a human reading a terminal.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"docs":{"type":"string","description":"Where to learn how to authenticate. Present on `unauthorized` and on nothing else — it is the one refusal a caller can reach with no credential at all, so it is the one that has to say where the way in is.","uniqueKey":"error.docs","typeLabel":"string"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unauthorized","message":"\u003cstring>","docs":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"3e159bf9-32c8-4f8f-8bf7-54f56c17f730":{"description":"`not_found`","content":{"application/json":{"schema":{"type":"object","description":"The one error shape. Every refusal in this namespace has it.","properties":{"error":{"type":"object","description":"The refusal.","properties":{"code":{"type":"string","enum":["unauthorized","not_found","invalid_request","conflict","quota_exceeded","rate_limited","upstream_error","gone"],"description":"The machine-stable half. Branch on this, never on `message`.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Prose for a human reading a terminal.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"docs":{"type":"string","description":"Where to learn how to authenticate. Present on `unauthorized` and on nothing else — it is the one refusal a caller can reach with no credential at all, so it is the one that has to say where the way in is.","uniqueKey":"error.docs","typeLabel":"string"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unauthorized","message":"\u003cstring>","docs":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"7587c975-a7fe-4d4a-8176-7fef60bbc505":{"description":"`rate_limited`","content":{"application/json":{"schema":{"type":"object","description":"The one error shape. Every refusal in this namespace has it.","properties":{"error":{"type":"object","description":"The refusal.","properties":{"code":{"type":"string","enum":["unauthorized","not_found","invalid_request","conflict","quota_exceeded","rate_limited","upstream_error","gone"],"description":"The machine-stable half. Branch on this, never on `message`.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Prose for a human reading a terminal.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"docs":{"type":"string","description":"Where to learn how to authenticate. Present on `unauthorized` and on nothing else — it is the one refusal a caller can reach with no credential at all, so it is the one that has to say where the way in is.","uniqueKey":"error.docs","typeLabel":"string"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unauthorized","message":"\u003cstring>","docs":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"834c8407-8735-4e40-976c-5a161eda273c":{"description":"`upstream_error`","content":{"application/json":{"schema":{"type":"object","description":"The one error shape. Every refusal in this namespace has it.","properties":{"error":{"type":"object","description":"The refusal.","properties":{"code":{"type":"string","enum":["unauthorized","not_found","invalid_request","conflict","quota_exceeded","rate_limited","upstream_error","gone"],"description":"The machine-stable half. Branch on this, never on `message`.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Prose for a human reading a terminal.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"docs":{"type":"string","description":"Where to learn how to authenticate. Present on `unauthorized` and on nothing else — it is the one refusal a caller can reach with no credential at all, so it is the one that has to say where the way in is.","uniqueKey":"error.docs","typeLabel":"string"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unauthorized","message":"\u003cstring>","docs":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"6ff5c88a-f7c6-4829-bbdc-99dd6a398991":{"orgApiKey":{"type":"http","scheme":"bearer","description":"An organization-scoped API key, minted in control under Settings → API keys. Every failure to authenticate answers one identical 401: \"Provide a valid organization-scoped API key or an active session.\" Each operation names the one scope it is filed under, `\u003cresource>:\u003cread|write>`, where the resource is the first path segment after `/api/v1/`; a key minted today carries all 22 of them. Scopes are RECORDED — on the key and on every audit row — and are not yet enforced: no request is refused for want of one.","scopes":["oauth-apps:read"],"schemeName":"orgApiKey"}}},"servers":{"15355b2c-94fb-418f-acf2-2e27904062bb":{"url":"https://control.ergoly.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"An organization-scoped API key, minted in control under Settings → API keys. Every failure to authenticate answers one identical 401: \"Provide a valid organization-scoped API key or an active session.\" Each operation names the one scope it is filed under, `\u003cresource>:\u003cread|write>`, where the resource is the first path segment after `/api/v1/`; a key minted today carries all 22 of them. Scopes are RECORDED — on the key and on every audit row — and are not yet enforced: no request is refused for want of one.","scopes":["oauth-apps:read"],"schemeName":"orgApiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"An organization-scoped API key, minted in control under Settings → API keys. Every failure to authenticate answers one identical 401: \"Provide a valid organization-scoped API key or an active session.\" Each operation names the one scope it is filed under, `\u003cresource>:\u003cread|write>`, where the resource is the first path segment after `/api/v1/`; a key minted today carries all 22 of them. Scopes are RECORDED — on the key and on every audit row — and are not yet enforced: no request is refused for want of one.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"orgApiKey","name":"Authorization"}],"title":"orgApiKey"}]},"originalFileLocation":"openapi.json"},"subdomain":"ergoly","siteName":"Ergoly","title":"Get your OAuth client - Ergoly","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T02:24:49.493Z","originalFileLocation":"api-reference/connections/get-your-oauth-client.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=\"Whether you have brought your own OAuth client for this catalog app, and the one redirect URI to register on it at the provider. Nothing about the client\u0026#x27;s credentials is here or anywhere on this API. Not configured is a 200 saying configured: false, not a 404.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Ergoly\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ergoly/OjkmtN-S1YevUC4M/_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/ergoly/OjkmtN-S1YevUC4M/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ergoly/OjkmtN-S1YevUC4M/_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/ergoly/OjkmtN-S1YevUC4M/_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/ergoly/OjkmtN-S1YevUC4M/_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/ergoly/OjkmtN-S1YevUC4M/_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/ergoly/OjkmtN-S1YevUC4M/_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/ergoly/OjkmtN-S1YevUC4M/_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/ergoly/OjkmtN-S1YevUC4M/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get your OAuth client - Ergoly\">\u003cmeta data-mint-head property=\"og:description\" content=\"Whether you have brought your own OAuth client for this catalog app, and the one redirect URI to register on it at the provider. Nothing about the client\u0026#x27;s credentials is here or anywhere on this API. Not configured is a 200 saying configured: false, not a 404.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Ergoly\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.ergoly.ai/api-reference/connections/get-your-oauth-client\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://ergoly.mintlify.site/_mintlify/api/og/v2?division=Your+own+OAuth+client\u0026amp;title=Get+your+OAuth+client\u0026amp;description=Whether+you+have+brought+your+own+OAuth+client+for+this+catalog+app%2C+and+the+one+redirect+URI+to+register+on+it+at+the+provider.+Nothing+about+the+client%27s+cred\u0026amp;theme=46f41713e7d152b6296bdf32\u0026amp;signature=91b8e02999c875a9249ecb238b43fe1faca389c7b8f52d4fb8976e4a47bbd73a\">\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=\"Get your OAuth client - Ergoly\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Whether you have brought your own OAuth client for this catalog app, and the one redirect URI to register on it at the provider. Nothing about the client\u0026#x27;s credentials is here or anywhere on this API. Not configured is a 200 saying configured: false, not a 404.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ergoly.mintlify.site/_mintlify/api/og/v2?division=Your+own+OAuth+client\u0026amp;title=Get+your+OAuth+client\u0026amp;description=Whether+you+have+brought+your+own+OAuth+client+for+this+catalog+app%2C+and+the+one+redirect+URI+to+register+on+it+at+the+provider.+Nothing+about+the+client%27s+cred\u0026amp;theme=46f41713e7d152b6296bdf32\u0026amp;signature=91b8e02999c875a9249ecb238b43fe1faca389c7b8f52d4fb8976e4a47bbd73a\">\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/ergoly/OjkmtN-S1YevUC4M/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Ergoly\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#079b9b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.ergoly.ai/api-reference/connections/get-your-oauth-client\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/connections/get-your-oauth-client.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.ergoly.ai/#organization\",\"name\":\"Ergoly\",\"url\":\"https://docs.ergoly.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/ergoly/-drdYd6uXChmiNIn/logo/light.png?fit=max\u0026auto=format\u0026n=-drdYd6uXChmiNIn\u0026q=85\u0026s=a9084e9caaf8656a821bf02426e31c05\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.ergoly.ai#website\",\"name\":\"Ergoly\",\"url\":\"https://docs.ergoly.ai\",\"publisher\":{\"@id\":\"https://docs.ergoly.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.ergoly.ai/api-reference/connections/get-your-oauth-client#webpage\",\"url\":\"https://docs.ergoly.ai/api-reference/connections/get-your-oauth-client\",\"name\":\"Get your OAuth client\",\"description\":\"Whether you have brought your own OAuth client for this catalog app, and the one redirect URI to register on it at the provider. Nothing about the client's credentials is here or anywhere on this API. Not configured is a 200 saying configured: false, not a 404.\",\"dateModified\":\"2026-11-09T02:24:49.493Z\",\"isPartOf\":{\"@id\":\"https://docs.ergoly.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.ergoly.ai/api-reference/connections/get-your-oauth-client#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.ergoly.ai/api-reference/connections/get-your-oauth-client#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Connections\",\"item\":\"https://docs.ergoly.ai/api-reference/connections/list-connections\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get your OAuth client\",\"item\":\"https://docs.ergoly.ai/api-reference/connections/get-your-oauth-client\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.ergoly.ai/api-reference/connections/get-your-oauth-client#apireference\",\"headline\":\"Get your OAuth client\",\"name\":\"Get your OAuth client\",\"description\":\"Whether you have brought your own OAuth client for this catalog app, and the one redirect URI to register on it at the provider. Nothing about the client's credentials is here or anywhere on this API. Not configured is a 200 saying configured: false, not a 404.\",\"url\":\"https://docs.ergoly.ai/api-reference/connections/get-your-oauth-client\",\"mainEntityOfPage\":{\"@id\":\"https://docs.ergoly.ai/api-reference/connections/get-your-oauth-client#webpage\"},\"dateModified\":\"2026-11-09T02:24:49.493Z\",\"publisher\":{\"@id\":\"https://docs.ergoly.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.ergoly.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Ergoly\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Ergoly","nav":{"global":null,"tabs":[{"tab":"Docs","icon":"book-open","pages":[{"title":"Docs","href":""}]},{"tab":"Changelog","icon":"sparkles","pages":[{"title":"Changelog","href":"/changelog"}]},{"tab":"API","icon":"user-robot","groups":[{"group":"Getting started","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"The API","href":"/technical/api"}]},{"group":"Company","pages":[{"title":"Get your company","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/organization","href":"/api-reference/organization/get-your-company"},{"title":"List chart placements","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/company/placements","href":"/api-reference/workers/list-chart-placements"},{"title":"Get the activity feed","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/activity","href":"/api-reference/activity/get-the-activity-feed"},{"title":"Get usage","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/usage","href":"/api-reference/usage/get-usage"}]},{"group":"Workers","pages":[{"title":"List workers","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/workers","href":"/api-reference/workers/list-workers"},{"title":"Create a worker","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workers","href":"/api-reference/workers/create-a-worker"},{"title":"Get the current worker","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/workers/me","href":"/api-reference/workers/get-the-current-worker"},{"title":"Get a worker","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/workers/{id}","href":"/api-reference/workers/get-a-worker"},{"title":"Update a worker","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/workers/{id}","href":"/api-reference/workers/update-a-worker"},{"title":"Delete a worker","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/workers/{id}","href":"/api-reference/workers/delete-a-worker"},{"group":"Provisioning","pages":[{"title":"Retry provisioning","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workers/{id}/retry","href":"/api-reference/workers/retry-provisioning"},{"title":"Stop a worker","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workers/{id}/stop","href":"/api-reference/workers/stop-a-worker"},{"title":"Get a provisioning job","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/jobs/{id}","href":"/api-reference/jobs/get-a-provisioning-job"}]},{"group":"Copies (eworks)","pages":[{"title":"List a worker's copies","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/workers/{id}/eworks","href":"/api-reference/eworks/list-a-workers-copies"},{"title":"Get a copy","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/eworks/{id}","href":"/api-reference/eworks/get-a-copy"}]},{"group":"Memory","pages":[{"title":"Read a memory tier","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/eworks/{id}/memory","href":"/api-reference/memory/read-a-memory-tier"},{"title":"Write a file","deprecated":null,"version":null,"openapi":"/openapi.json put /api/v1/eworks/{id}/memory","href":"/api-reference/memory/write-a-file"},{"title":"Write several files","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/eworks/{id}/memory","href":"/api-reference/memory/write-several-files"},{"title":"Delete a file or folder","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/eworks/{id}/memory","href":"/api-reference/memory/delete-a-file-or-folder"}]}]},{"group":"Clients","pages":[{"title":"List clients","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/clients","href":"/api-reference/clients/list-clients"},{"title":"Create a client","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/clients","href":"/api-reference/clients/create-a-client"},{"title":"Get a client","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/clients/{id}","href":"/api-reference/clients/get-a-client"},{"title":"Update a client","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/clients/{id}","href":"/api-reference/clients/update-a-client"},{"title":"Assign a client to a worker","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workers/{id}/clients","href":"/api-reference/clients/assign-a-client-to-a-worker"}]},{"group":"Channels","pages":[{"title":"List Slack channels","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/channels","href":"/api-reference/channels/list-slack-channels"},{"title":"Create a Slack channel","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/channels","href":"/api-reference/channels/create-a-slack-channel"},{"group":"Channel mappings","pages":[{"title":"List channel mappings","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/workers/{id}/channels","href":"/api-reference/channels/list-channel-mappings"},{"title":"Map a channel","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workers/{id}/channels","href":"/api-reference/channels/map-a-channel"},{"title":"Classify a channel","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/workers/{id}/channels/{channel}","href":"/api-reference/channels/classify-a-channel"},{"title":"Unmap a channel","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/workers/{id}/channels/{channel}","href":"/api-reference/channels/unmap-a-channel"},{"title":"Invite a worker to a channel","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workers/{id}/channels/{channel}/invite","href":"/api-reference/channels/invite-a-worker-to-a-channel"}]}]},{"group":"Tasks","pages":[{"title":"List tasks","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/tasks","href":"/api-reference/tasks/list-tasks"},{"title":"Create a task","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/tasks","href":"/api-reference/tasks/create-a-task"},{"title":"Get a task","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/tasks/{id}","href":"/api-reference/tasks/get-a-task"},{"title":"Hand off a task","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/tasks/{id}/handoff","href":"/api-reference/tasks/hand-off-a-task"},{"title":"Comment on a task","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/tasks/{id}/comments","href":"/api-reference/tasks/comment-on-a-task"},{"title":"Change a task's state","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/tasks/{id}/state","href":"/api-reference/tasks/change-a-tasks-state"},{"group":"Scheduled jobs (routines)","pages":[{"title":"Update a scheduled job","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/tasks/{id}","href":"/api-reference/tasks/update-a-scheduled-job"},{"title":"Cancel a scheduled job","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/tasks/{id}","href":"/api-reference/tasks/cancel-a-scheduled-job"},{"title":"List a job's runs","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/tasks/{id}/runs","href":"/api-reference/tasks/list-a-jobs-runs"},{"title":"Add a target","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/tasks/{id}/targets","href":"/api-reference/tasks/add-a-target"},{"title":"Remove a target","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/tasks/{id}/targets/{targetId}","href":"/api-reference/tasks/remove-a-target"}]}]},{"group":"Webhooks","pages":[{"title":"List webhooks","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/webhooks","href":"/api-reference/webhooks/list-webhooks"},{"title":"Create a webhook","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/webhooks","href":"/api-reference/webhooks/create-a-webhook"},{"title":"Get a webhook","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/webhooks/{id}","href":"/api-reference/webhooks/get-a-webhook"},{"title":"Update a webhook","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/webhooks/{id}","href":"/api-reference/webhooks/update-a-webhook"},{"title":"Revoke a webhook","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/webhooks/{id}","href":"/api-reference/webhooks/revoke-a-webhook"},{"title":"Rotate a webhook secret","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/webhooks/{id}/rotate","href":"/api-reference/webhooks/rotate-a-webhook-secret"},{"title":"List deliveries","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/webhooks/{id}/deliveries","href":"/api-reference/webhooks/list-deliveries"}]},{"group":"Connections","pages":[{"title":"List connections","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/connections","href":"/api-reference/connections/list-connections"},{"title":"Create a connection","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/connections","href":"/api-reference/connections/create-a-connection"},{"title":"Get a connection","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/connections/{id}","href":"/api-reference/connections/get-a-connection"},{"title":"Update a connection","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/connections/{id}","href":"/api-reference/connections/update-a-connection"},{"title":"Delete a connection","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/connections/{id}","href":"/api-reference/connections/delete-a-connection"},{"title":"Rotate a connection","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/connections/{id}/rotate","href":"/api-reference/connections/rotate-a-connection"},{"group":"Hosts","pages":[{"title":"List hosts","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/connections/{id}/hosts","href":"/api-reference/connections/list-hosts"},{"title":"Add a host","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/connections/{id}/hosts","href":"/api-reference/connections/add-a-host"},{"title":"Remove a host","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/connections/{id}/hosts/{host}","href":"/api-reference/connections/remove-a-host"}]},{"group":"Connected apps","pages":[{"title":"Get a connect URL","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/connections/oauth/{provider}/connect-url","href":"/api-reference/connections/get-a-connect-url"},{"title":"Get a sign-in link","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/connections/{id}/connect-url","href":"/api-reference/connections/get-a-sign-in-link"},{"title":"Add a placement","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/connections/{id}/placements","href":"/api-reference/connections/add-a-placement"},{"title":"Remove a placement","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/connections/{id}/placements/{pid}","href":"/api-reference/connections/remove-a-placement"}]},{"group":"MCP servers","pages":[{"title":"Connect an MCP server","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/connections/mcp","href":"/api-reference/connections/connect-an-mcp-server"},{"title":"Finish an MCP connection","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/connections/mcp/{id}/finish","href":"/api-reference/connections/finish-an-mcp-connection"}]},{"group":"Provider apps","pages":[{"title":"Get a provider app","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/connections/provider-apps/{provider}","href":"/api-reference/connections/get-a-provider-app"},{"title":"Set a provider app","deprecated":null,"version":null,"openapi":"/openapi.json put /api/v1/connections/provider-apps/{provider}","href":"/api-reference/connections/set-a-provider-app"},{"title":"Delete a provider app","description":"Cascades. Every account connected through this app is torn down first, because the client secret their tokens are refreshed with is about to stop existing and leaving them would leave connections nothing can renew. `removedConnections` says how many went.\n\n**This disconnects every account connected through this provider app, revoking their tokens. Anyone using them will have to connect again once a new app is configured.**","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/connections/provider-apps/{provider}","href":"/api-reference/connections/delete-a-provider-app"}]},{"group":"Your own OAuth client","pages":[{"title":"Get your OAuth client","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/oauth-apps/{app}","href":"/api-reference/connections/get-your-oauth-client"},{"title":"Set your OAuth client","description":"Every hosted sign-in for this app then goes through your client rather than Ergoly's, so the consent screen shows your name and the tokens are yours. Register `redirectUri` on the client at the provider first. Both fields are required every time: the secret is handed to Composio and held nowhere on Ergoly's side, so there is no stored one to keep on a rotation. 201 when this configured the client, 200 when it replaced one. An app that only takes a key has no OAuth sign-in and is a 400.","deprecated":null,"version":null,"openapi":"/openapi.json put /api/v1/oauth-apps/{app}","href":"/api-reference/connections/set-your-oauth-client"},{"title":"Delete your OAuth client","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/oauth-apps/{app}","href":"/api-reference/connections/delete-your-oauth-client"}]}]}]}]},"basePath":"","title":"Get your OAuth client - Ergoly","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-Cj6eAYhz.js","dist-CdrJecqK.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-D-TRO5q5.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","AssistantPageLink-CHlcWBLM.js"]}