Set fields on an existing connection. input, connectorParameters and credentials each replace their prior object, so a key you omit is dropped, and writing them stores values but does not authenticate. A credential is refused in all three — an API key, token, client secret or password, because tool arguments are stored in the transcript verbatim — and credentials is what the connector derives on connect, not a place to put what the user typed. Offer connect with : the person enters the value in the connect screen, which writes it to this same connection.
The authentication result the connector produces from input and connectorParameters when the connection is established — a token, a header, a signed value, whatever that connector’s auth code returns. Encrypted at rest and never echoed back. A value a person supplies is an ingredient of this, not this: it belongs in input or connectorParameters, whichever auth schema declares it, and the connector derives credentials from it on connect.
Values for the auth option’s connectorParametersSchema — app-level configuration shared by everyone using this connector, such as an OAuth client id, client secret, or scope list. A JSON object keyed exactly as that schema declares — the object itself, never a string containing it; read the schemas from connection-options. Replaces the stored object, so a key you omit is dropped: to keep a stored value, send back the { set: true } marker get-connection returned for it. Writing this does not authenticate the connection.
Values for the auth option’s inputSchema — what the connect form asks a person for, such as an API key, an account subdomain, or an API URL. A raw access token belongs here too when the schema declares one. A JSON object keyed exactly as that schema declares — the object itself, never a string containing it; read the schemas from connection-options. Replaces the stored object, so a key you omit is dropped: to keep a stored value, send back the { set: true } marker get-connection returned for it. Writing this does not authenticate the connection.
Inline external-app spec. Creates and links one when no externalAppId exists; otherwise updates the linked app.
Show child attributes
Response
200 - application/json
Set fields on an existing connection. input, connectorParameters and credentials each replace their prior object, so a key you omit is dropped, and writing them stores values but does not authenticate. A credential is refused in all three — an API key, token, client secret or password, because tool arguments are stored in the transcript verbatim — and credentials is what the connector derives on connect, not a place to put what the user typed. Offer connect with { connectionId }: the person enters the value in the connect screen, which writes it to this same connection.
Shape of this connection’s stored credentials: field names, types, and descriptions, never values. Use a field name here as the credential path when binding a credential into a command with the with-credentials CLI tool.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Membrane Docs","colors":{"primary":"#0F766E","light":"#14B8A6","dark":"#115E59"},"logo":{"light":"https://mintcdn.com/membrane-agency/v4_djV_NCG0crn4V/logo/light.svg?fit=max\u0026auto=format\u0026n=v4_djV_NCG0crn4V\u0026q=85\u0026s=a4c17bd552331573d4e08fa32fd8a7c3","dark":"https://mintcdn.com/membrane-agency/v4_djV_NCG0crn4V/logo/dark.svg?fit=max\u0026auto=format\u0026n=v4_djV_NCG0crn4V\u0026q=85\u0026s=844105699cb6f6e7fc7497e5b06c60db"},"favicon":"https://mintcdn.com/membrane-agency/v4_djV_NCG0crn4V/favicon.svg?fit=max\u0026auto=format\u0026n=v4_djV_NCG0crn4V\u0026q=85\u0026s=4f09b330b12c9cb04a0ac52897c2aec7","api":{"playground":{"display":"interactive","proxy":false}},"navbar":{"links":[{"href":"https://changelog.getmembrane.com","label":"Changelog"}],"primary":{"type":"button","label":"Website","href":"https://getmembrane.com"}},"footer":{"socials":{"github":"https://github.com/membranehq"}},"icons":{"library":"fontawesome"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"membrane-agency","hasAudioNarration":false,"actualSubdomain":"membrane-agency","customDomains":["docs.membrane.agency"],"gitSource":{"type":"github","owner":"membranehq","repo":"platform","deployBranch":"main","contentDirectory":"docs/mintlify","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6a8d9d315717d6af20a472c4","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"Reference","count":115},{"language":"default","tag":"Workspace Elements","count":103},{"language":"default","tag":"Guides","count":60},{"language":"default","tag":"Connectors","count":30},{"language":"default","tag":"Managing Membrane","count":16},{"language":"default","tag":"How Membrane Works","count":14},{"language":"default","tag":"Ways to Use Membrane","count":13},{"language":"default","tag":"Actions","count":13},{"language":"default","tag":"Connections","count":11},{"language":"default","tag":"References","count":11}]},"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":"custom-rbac-roles","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/update-connection","slug":"/api-reference/update-connection","pageMetadata":{"title":"update-connection","description":"Set fields on an existing connection. `input`, `connectorParameters` and `credentials` each replace their prior object, so a key you omit is dropped, and writing them stores values but does not authenticate. A credential is refused in all three — an API key, token, client secret or password, because tool arguments are stored in the transcript verbatim — and `credentials` is what the connector derives on connect, not a place to put what the user typed. Offer `connect` with { connectionId }: the person enters the value in the connect screen, which writes it to this same connection.","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json patch /connections/{id}","href":"/api-reference/update-connection","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: [\"Set fields on an existing connection. \", _jsx(_components.code, {\n children: \"input\"\n }), \", \", _jsx(_components.code, {\n children: \"connectorParameters\"\n }), \" and \", _jsx(_components.code, {\n children: \"credentials\"\n }), \" each replace their prior object, so a key you omit is dropped, and writing them stores values but does not authenticate. A credential is refused in all three — an API key, token, client secret or password, because tool arguments are stored in the transcript verbatim — and \", _jsx(_components.code, {\n children: \"credentials\"\n }), \" is what the connector derives on connect, not a place to put what the user typed. Offer \", _jsx(_components.code, {\n children: \"connect\"\n }), \" with \", \": the person enters the value in the connect screen, which writes it to this same connection.\"]\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":"update-connection","description":"Set fields on an existing connection. `input`, `connectorParameters` and `credentials` each replace their prior object, so a key you omit is dropped, and writing them stores values but does not authenticate. A credential is refused in all three — an API key, token, client secret or password, because tool arguments are stored in the transcript verbatim — and `credentials` is what the connector derives on connect, not a place to put what the user typed. Offer `connect` with { connectionId }: the person enters the value in the connect screen, which writes it to this same connection.","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json patch /connections/{id}","href":"/api-reference/update-connection","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"updateConnection","summary":"update-connection","description":"Set fields on an existing connection. `input`, `connectorParameters` and `credentials` each replace their prior object, so a key you omit is dropped, and writing them stores values but does not authenticate. A credential is refused in all three — an API key, token, client secret or password, because tool arguments are stored in the transcript verbatim — and `credentials` is what the connector derives on connect, not a place to put what the user typed. Offer `connect` with { connectionId }: the person enters the value in the connect screen, which writes it to this same connection.","responses":{"200":"a4a54141-3b17-4a73-ab1f-c33a159255b6"},"parameters":["8e2174e4-bfd0-409c-85d8-e73383b64ef2"],"requestBody":"ea073742-d9a9-4897-a53e-3a4b9ea8df5d","method":"patch","type":"path","servers":["33d21c8c-84e0-43bd-9b19-dc155c89188b"],"security":["7006bb3a-f4b9-4da4-8c7c-5fab58fead5b"],"path":"/connections/{id}","baseUrlOptions":["https://api.getmembrane.com"],"title":"update-connection","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","disableProxy":true},"dependencies":{"parameters":{"8e2174e4-bfd0-409c-85d8-e73383b64ef2":{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Connection id or connection key.","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["connector","mcp","browser"],"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","uniqueKey":"name","typeLabel":"string"},"meta":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"meta.additionalProperties","typeLabel":"any"},"uniqueKey":"meta","typeLabel":"object"},"authOptionKey":{"type":"string","uniqueKey":"authOptionKey","typeLabel":"string"},"oauthClientId":{"type":"string","uniqueKey":"oauthClientId","typeLabel":"string"},"key":{"oneOf":[{"type":"string","minLength":1,"maxLength":100,"uniqueKey":"key.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"maxLength":100,"uniqueKey":"key.oneOf.1","typeLabel":"null"}],"uniqueKey":"key","typeLabel":"string | null"},"integrationKey":{"type":"string","uniqueKey":"integrationKey","typeLabel":"string"},"connectorId":{"type":"string","uniqueKey":"connectorId","typeLabel":"string"},"connectorUuid":{"type":"string","uniqueKey":"connectorUuid","typeLabel":"string"},"connectorKey":{"type":"string","uniqueKey":"connectorKey","typeLabel":"string"},"connectorVersion":{"type":"string","uniqueKey":"connectorVersion","typeLabel":"string"},"externalAppId":{"type":"string","uniqueKey":"externalAppId","typeLabel":"string"},"externalAppUuid":{"type":"string","uniqueKey":"externalAppUuid","typeLabel":"string"},"credentials":{"description":"The authentication result the connector produces from `input` and `connectorParameters` when the connection is established — a token, a header, a signed value, whatever that connector’s auth code returns. Encrypted at rest and never echoed back. A value a person supplies is an ingredient of this, not this: it belongs in `input` or `connectorParameters`, whichever auth schema declares it, and the connector derives credentials from it on connect.","uniqueKey":"credentials","typeLabel":"any"},"connectorParameters":{"description":"Values for the auth option’s `connectorParametersSchema` — app-level configuration shared by everyone using this connector, such as an OAuth client id, client secret, or scope list. A JSON object keyed exactly as that schema declares — the object itself, never a string containing it; read the schemas from `connection-options`. Replaces the stored object, so a key you omit is dropped: to keep a stored value, send back the `{ set: true }` marker `get-connection` returned for it. Writing this does not authenticate the connection.","uniqueKey":"connectorParameters","typeLabel":"any"},"input":{"description":"Values for the auth option’s `inputSchema` — what the connect form asks a person for, such as an API key, an account subdomain, or an API URL. A raw access token belongs here too when the schema declares one. A JSON object keyed exactly as that schema declares — the object itself, never a string containing it; read the schemas from `connection-options`. Replaces the stored object, so a key you omit is dropped: to keep a stored value, send back the `{ set: true }` marker `get-connection` returned for it. Writing this does not authenticate the connection.","uniqueKey":"input","typeLabel":"any"},"intent":{"description":"[Experimental] Intent-based instruction for an agent to configure this element.","type":"string","uniqueKey":"intent","typeLabel":"string"},"connector":{"description":"Inline connector spec. Creates and links one when no connectorId exists; otherwise updates the linked connector.","type":"object","properties":{"key":{"type":"string","uniqueKey":"connector.key","typeLabel":"string"},"name":{"type":"string","uniqueKey":"connector.name","typeLabel":"string"},"logoUri":{"type":"string","uniqueKey":"connector.logoUri","typeLabel":"string"},"externalAppId":{"type":"string","uniqueKey":"connector.externalAppId","typeLabel":"string"},"externalAppUuid":{"type":"string","uniqueKey":"connector.externalAppUuid","typeLabel":"string"},"appUuid":{"description":"[INTERNAL] Deprecated: resolved to externalAppId","type":"string","uniqueKey":"connector.appUuid","typeLabel":"string"},"categories":{"type":"array","items":{"type":"string","uniqueKey":"connector.categories.items.[INDEX]","typeLabel":"string"},"uniqueKey":"connector.categories","typeLabel":"string[]"},"parameters":{"description":"Connector-level parameter values.","type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.parameters.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.parameters","typeLabel":"object"},"authOptions":{"description":"[INTERNAL] Agent-only auth option array normalized into top-level fields or the `options` record.","uniqueKey":"connector.authOptions","typeLabel":"any"},"type":{"description":"Authentication protocol used by the connector.","type":"string","enum":["integration-app-token","membrane-token","oauth2","oauth1","client-credentials","proxy","oauth-client"],"uniqueKey":"connector.type","typeLabel":"enum\u003cstring>"},"customCredentialsSchema":{"type":"object","description":"JSON Schema for workspace-level credential overrides.","uniqueKey":"connector.customCredentialsSchema","typeLabel":"object"},"inputSchema":{"type":"object","description":"JSON Schema for end-user connection input.","uniqueKey":"connector.inputSchema","typeLabel":"object"},"parametersSchema":{"type":"object","uniqueKey":"connector.parametersSchema","typeLabel":"object"},"getCredentialsFromConnectionParameters":{"description":"Function that derives auth credentials from connection parameters.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.getCredentialsFromConnectionParameters.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.getCredentialsFromConnectionParameters.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.getCredentialsFromConnectionParameters.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.getCredentialsFromConnectionParameters","typeLabel":"object"},"refreshCredentials":{"description":"Function that refreshes expired credentials.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.refreshCredentials.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.refreshCredentials.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.refreshCredentials.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.refreshCredentials","typeLabel":"object"},"makeApiClient":{"description":"Function that configures the authenticated HTTP client used by connector requests and actions.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.makeApiClient.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.makeApiClient.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.makeApiClient.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.makeApiClient","typeLabel":"object"},"getOAuthConfig":{"description":"OAuth2 function returning `{ authorizeUri, tokenUri, scopes, noRefreshToken? }`.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.getOAuthConfig.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.getOAuthConfig.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.getOAuthConfig.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.getOAuthConfig","typeLabel":"object"},"getTokenData":{"description":"OAuth2 function that extracts metadata from the raw token response.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.getTokenData.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.getTokenData.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.getTokenData.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.getTokenData","typeLabel":"object"},"getCredentialsFromAccessTokenResponse":{"description":"OAuth2 function that transforms the token endpoint response into the final credentials object.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.getCredentialsFromAccessTokenResponse.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.getCredentialsFromAccessTokenResponse.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.getCredentialsFromAccessTokenResponse.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.getCredentialsFromAccessTokenResponse","typeLabel":"object"},"getCredentialsFromRefreshTokenResponse":{"description":"OAuth2 function that transforms the refresh response into refreshed credentials.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.getCredentialsFromRefreshTokenResponse.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.getCredentialsFromRefreshTokenResponse.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.getCredentialsFromRefreshTokenResponse.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.getCredentialsFromRefreshTokenResponse","typeLabel":"object"},"test":{"description":"Function that verifies the connection with a lightweight authenticated API call.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.test.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.test.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.test.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.test","typeLabel":"object"},"disconnect":{"description":"Function that revokes provider credentials when the connection is removed.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.disconnect.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.disconnect.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.disconnect.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.disconnect","typeLabel":"object"},"proxyKey":{"description":"For `type: \"proxy\"` — identifies which proxy configuration the workspace should use.","type":"string","uniqueKey":"connector.proxyKey","typeLabel":"string"},"oauthClientKey":{"description":"For `type: \"oauth-client\"` — identifies the organization OAuth client used for this option.","type":"string","uniqueKey":"connector.oauthClientKey","typeLabel":"string"},"ui":{"description":"[INTERNAL] Deprecated: Use inputSchema instead","type":"object","properties":{"schema":{"type":"object","uniqueKey":"connector.ui.schema","typeLabel":"object"},"description":{"type":"string","uniqueKey":"connector.ui.description","typeLabel":"string"},"helpUri":{"type":"string","uniqueKey":"connector.ui.helpUri","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"connector.ui","typeLabel":"object"},"options":{"description":"Auth configurations keyed by option name. Mutually exclusive with top-level auth fields.","type":"object","additionalProperties":{"type":"object","properties":{"type":{"description":"Authentication protocol used by the connector.","type":"string","enum":["integration-app-token","membrane-token","oauth2","oauth1","client-credentials","proxy","oauth-client"],"uniqueKey":"connector.options.additionalProperties.type","typeLabel":"enum\u003cstring>"},"customCredentialsSchema":{"type":"object","description":"JSON Schema for workspace-level credential overrides.","uniqueKey":"connector.options.additionalProperties.customCredentialsSchema","typeLabel":"object"},"inputSchema":{"type":"object","description":"JSON Schema for end-user connection input.","uniqueKey":"connector.options.additionalProperties.inputSchema","typeLabel":"object"},"parametersSchema":{"type":"object","description":"JSON Schema for per-integration connector parameters.","uniqueKey":"connector.options.additionalProperties.parametersSchema","typeLabel":"object"},"getCredentialsFromConnectionParameters":{"description":"Function that derives auth credentials from connection parameters.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.options.additionalProperties.getCredentialsFromConnectionParameters.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.options.additionalProperties.getCredentialsFromConnectionParameters.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.options.additionalProperties.getCredentialsFromConnectionParameters.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.options.additionalProperties.getCredentialsFromConnectionParameters","typeLabel":"object"},"refreshCredentials":{"description":"Function that refreshes expired credentials.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.options.additionalProperties.refreshCredentials.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.options.additionalProperties.refreshCredentials.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.options.additionalProperties.refreshCredentials.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.options.additionalProperties.refreshCredentials","typeLabel":"object"},"makeApiClient":{"description":"Function that configures the authenticated HTTP client used by connector requests and actions.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.options.additionalProperties.makeApiClient.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.options.additionalProperties.makeApiClient.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.options.additionalProperties.makeApiClient.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.options.additionalProperties.makeApiClient","typeLabel":"object"},"getOAuthConfig":{"description":"OAuth2 function returning `{ authorizeUri, tokenUri, scopes, noRefreshToken? }`.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.options.additionalProperties.getOAuthConfig.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.options.additionalProperties.getOAuthConfig.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.options.additionalProperties.getOAuthConfig.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.options.additionalProperties.getOAuthConfig","typeLabel":"object"},"getTokenData":{"description":"OAuth2 function that extracts metadata from the raw token response.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.options.additionalProperties.getTokenData.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.options.additionalProperties.getTokenData.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.options.additionalProperties.getTokenData.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.options.additionalProperties.getTokenData","typeLabel":"object"},"getCredentialsFromAccessTokenResponse":{"description":"OAuth2 function that transforms the token endpoint response into the final credentials object.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.options.additionalProperties.getCredentialsFromAccessTokenResponse.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.options.additionalProperties.getCredentialsFromAccessTokenResponse.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.options.additionalProperties.getCredentialsFromAccessTokenResponse.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.options.additionalProperties.getCredentialsFromAccessTokenResponse","typeLabel":"object"},"getCredentialsFromRefreshTokenResponse":{"description":"OAuth2 function that transforms the refresh response into refreshed credentials.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.options.additionalProperties.getCredentialsFromRefreshTokenResponse.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.options.additionalProperties.getCredentialsFromRefreshTokenResponse.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.options.additionalProperties.getCredentialsFromRefreshTokenResponse.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.options.additionalProperties.getCredentialsFromRefreshTokenResponse","typeLabel":"object"},"test":{"description":"Function that verifies the connection with a lightweight authenticated API call.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.options.additionalProperties.test.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.options.additionalProperties.test.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.options.additionalProperties.test.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.options.additionalProperties.test","typeLabel":"object"},"disconnect":{"description":"Function that revokes provider credentials when the connection is removed.","type":"object","properties":{"type":{"type":"string","enum":["mapping","rest-api-mapping","graphql-api-mapping","javascript"],"uniqueKey":"connector.options.additionalProperties.disconnect.type","typeLabel":"enum\u003cstring>"},"description":{"description":"Human-readable summary of what this function does, in plain language.","type":"string","uniqueKey":"connector.options.additionalProperties.disconnect.description","typeLabel":"string"}},"additionalProperties":{"oneOf":[{}],"uniqueKey":"connector.options.additionalProperties.disconnect.additionalProperties","typeLabel":"any"},"uniqueKey":"connector.options.additionalProperties.disconnect","typeLabel":"object"},"proxyKey":{"description":"For `type: \"proxy\"` — identifies which proxy configuration the workspace should use.","type":"string","uniqueKey":"connector.options.additionalProperties.proxyKey","typeLabel":"string"},"oauthClientKey":{"description":"For `type: \"oauth-client\"` — identifies the organization OAuth client used for this option.","type":"string","uniqueKey":"connector.options.additionalProperties.oauthClientKey","typeLabel":"string"},"ui":{"description":"[INTERNAL] Deprecated: Use inputSchema instead","type":"object","properties":{"schema":{"type":"object","uniqueKey":"connector.options.additionalProperties.ui.schema","typeLabel":"object"},"description":{"type":"string","uniqueKey":"connector.options.additionalProperties.ui.description","typeLabel":"string"},"helpUri":{"type":"string","uniqueKey":"connector.options.additionalProperties.ui.helpUri","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"connector.options.additionalProperties.ui","typeLabel":"object"},"title":{"type":"string","uniqueKey":"connector.options.additionalProperties.title","typeLabel":"string"},"description":{"type":"string","uniqueKey":"connector.options.additionalProperties.description","typeLabel":"string"},"enabled":{"oneOf":[{}],"uniqueKey":"connector.options.additionalProperties.enabled","typeLabel":"any"}},"additionalProperties":false,"uniqueKey":"connector.options.additionalProperties","typeLabel":"object"},"uniqueKey":"connector.options","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"connector","typeLabel":"object"},"externalApp":{"description":"Inline external-app spec. Creates and links one when no externalAppId exists; otherwise updates the linked app.","type":"object","properties":{"key":{"type":"string","minLength":1,"description":"Machine key (e.g., \"attio\"). Unique per workspace.","uniqueKey":"externalApp.key","typeLabel":"string"},"name":{"type":"string","minLength":1,"description":"Human-readable app name (e.g., \"Attio\").","uniqueKey":"externalApp.name","typeLabel":"string"},"appUri":{"description":"App's main URL (e.g., \"https://attio.com\").","type":"string","format":"uri","uniqueKey":"externalApp.appUri","typeLabel":"string\u003curi>"},"logoUri":{"type":"string","format":"uri","uniqueKey":"externalApp.logoUri","typeLabel":"string\u003curi>"},"categories":{"description":"[INTERNAL] Categorization tags used by the Universe catalog.","type":"array","items":{"type":"string","uniqueKey":"externalApp.categories.items.[INDEX]","typeLabel":"string"},"uniqueKey":"externalApp.categories","typeLabel":"string[]"},"defaultConnectorId":{"description":"[INTERNAL] Connector ID surfaced as the default for this app in the Universe catalog.","type":"string","uniqueKey":"externalApp.defaultConnectorId","typeLabel":"string"},"basePackageId":{"description":"[INTERNAL] Base package ID this app is derived from.","type":"string","uniqueKey":"externalApp.basePackageId","typeLabel":"string"},"hasFreeTestAccount":{"oneOf":[{"description":"[INTERNAL] Whether the app has a free test account.","type":"boolean","uniqueKey":"externalApp.hasFreeTestAccount.oneOf.0","typeLabel":"boolean"},{"description":"[INTERNAL] Whether the app has a free test account.","type":"null","uniqueKey":"externalApp.hasFreeTestAccount.oneOf.1","typeLabel":"null"}],"uniqueKey":"externalApp.hasFreeTestAccount","typeLabel":"boolean | null"},"freeTestAccountGuide":{"description":"[INTERNAL] Guide for obtaining a free test account.","type":"string","uniqueKey":"externalApp.freeTestAccountGuide","typeLabel":"string"},"freeTestAccountGuideVerifiedAt":{"oneOf":[{"description":"[INTERNAL] When the free test account guide was last verified.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","uniqueKey":"externalApp.freeTestAccountGuideVerifiedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"[INTERNAL] When the free test account guide was last verified.","type":"null","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","uniqueKey":"externalApp.freeTestAccountGuideVerifiedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"externalApp.freeTestAccountGuideVerifiedAt","typeLabel":"string\u003cdate-time> | null"},"tenantId":{"type":"string","uniqueKey":"externalApp.tenantId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"externalApp","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"name":"\u003cstring>","meta":{},"authOptionKey":"\u003cstring>","oauthClientId":"\u003cstring>","key":"\u003cstring>","integrationKey":"\u003cstring>","connectorId":"\u003cstring>","connectorUuid":"\u003cstring>","connectorKey":"\u003cstring>","connectorVersion":"\u003cstring>","externalAppId":"\u003cstring>","externalAppUuid":"\u003cstring>","credentials":"\u003cunknown>","connectorParameters":"\u003cunknown>","input":"\u003cunknown>","intent":"\u003cstring>","connector":{"key":"\u003cstring>","name":"\u003cstring>","logoUri":"\u003cstring>","externalAppId":"\u003cstring>","externalAppUuid":"\u003cstring>","appUuid":"\u003cstring>","categories":["\u003cstring>"],"parameters":{},"authOptions":"\u003cunknown>","customCredentialsSchema":{},"inputSchema":{},"parametersSchema":{},"getCredentialsFromConnectionParameters":{"description":"\u003cstring>"},"refreshCredentials":{"description":"\u003cstring>"},"makeApiClient":{"description":"\u003cstring>"},"getOAuthConfig":{"description":"\u003cstring>"},"getTokenData":{"description":"\u003cstring>"},"getCredentialsFromAccessTokenResponse":{"description":"\u003cstring>"},"getCredentialsFromRefreshTokenResponse":{"description":"\u003cstring>"},"test":{"description":"\u003cstring>"},"disconnect":{"description":"\u003cstring>"},"proxyKey":"\u003cstring>","oauthClientKey":"\u003cstring>","ui":{"schema":{},"description":"\u003cstring>","helpUri":"\u003cstring>"},"options":{}},"externalApp":{"key":"\u003cstring>","name":"\u003cstring>","appUri":"\u003cstring>","logoUri":"\u003cstring>","categories":["\u003cstring>"],"defaultConnectorId":"\u003cstring>","basePackageId":"\u003cstring>","hasFreeTestAccount":true,"freeTestAccountGuide":"\u003cstring>","freeTestAccountGuideVerifiedAt":"2023-11-07T05:31:56Z","tenantId":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"a4a54141-3b17-4a73-ab1f-c33a159255b6":{"description":"Set fields on an existing connection. `input`, `connectorParameters` and `credentials` each replace their prior object, so a key you omit is dropped, and writing them stores values but does not authenticate. A credential is refused in all three — an API key, token, client secret or password, because tool arguments are stored in the transcript verbatim — and `credentials` is what the connector derives on connect, not a place to put what the user typed. Offer `connect` with { connectionId }: the person enters the value in the connect screen, which writes it to this same connection.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Internal database ID of the element. Assigned by the API; unique per element.","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"status":{"type":"string","enum":["connected","broken","disconnecting","disconnected"],"description":"Lifecycle status. `broken` is reserved for provider-confirmed credential or configuration rejection.","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"credentialsError":{"oneOf":[{"type":"object","description":"Provider-confirmed credential or configuration rejection. Non-null if and only if status is `broken`.","isRequired":true,"uniqueKey":"credentialsError.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"credentialsError.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"credentialsError","typeLabel":"object | null"},"consecutiveRefreshFailuresCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Consecutive scheduled credential-refresh failures, used only for backoff arithmetic.","isRequired":true,"uniqueKey":"consecutiveRefreshFailuresCount","typeLabel":"integer"},"tenantId":{"type":"string","uniqueKey":"tenantId","typeLabel":"string"},"ownerName":{"oneOf":[{"type":"string","uniqueKey":"ownerName.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"ownerName.oneOf.1","typeLabel":"null"}],"uniqueKey":"ownerName","typeLabel":"string | null"},"type":{"type":"string","enum":["connector","mcp","browser"],"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"key":{"type":"string","uniqueKey":"key","typeLabel":"string"},"grantedScopes":{"type":"array","items":{"type":"string","uniqueKey":"grantedScopes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"grantedScopes","typeLabel":"string[]"},"providerPermissionChecks":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","isRequired":true,"uniqueKey":"providerPermissionChecks.items.[INDEX].key","typeLabel":"string"},"status":{"type":"string","enum":["granted","missing","unknown"],"description":"`granted` = the declared probe ran and succeeded. `missing` = the probe failed **and the failure classifies as an authorization refusal** by the same connection failure classification the alert path uses — a bare failure never means missing, because a probe can fail from bad input, expired credentials, an outage, a timeout, or a rate limit. Every other outcome is `unknown`: no probe declared, or a probe that failed for a reason unrelated to the permission. Claiming a gap without authorization evidence is the same error as claiming a grant without evidence.","isRequired":true,"uniqueKey":"providerPermissionChecks.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"checkedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"providerPermissionChecks.items.[INDEX].checkedAt","typeLabel":"string\u003cdate-time>"},"probeActionId":{"description":"The `probeActionId` of the declaration this verdict was produced against, so evidence is never presented for a question it did not answer: a declaration that changes its probe discards the previous probe’s verdict rather than carrying it onto the new one. Absent means the verdict was produced with no probe declared, which is itself only ever `unknown`.","type":"string","uniqueKey":"providerPermissionChecks.items.[INDEX].probeActionId","typeLabel":"string"}},"required":["key","status","checkedAt"],"additionalProperties":false,"uniqueKey":"providerPermissionChecks.items.[INDEX]","typeLabel":"object"},"uniqueKey":"providerPermissionChecks","typeLabel":"object[]"},"connected":{"description":"Whether the connection is authenticated and usable. Projection of `status === \"connected\"`.","type":"boolean","uniqueKey":"connected","typeLabel":"boolean"},"hasDocs":{"type":"boolean","uniqueKey":"hasDocs","typeLabel":"boolean"},"docsCount":{"type":"number","uniqueKey":"docsCount","typeLabel":"number"},"docsSummary":{"type":"string","uniqueKey":"docsSummary","typeLabel":"string"},"state":{"description":"Shared element-state projection of the connection lifecycle and its overlays.","type":"string","enum":["BUILDING","CLIENT_ACTION_REQUIRED","CONFIGURATION_ERROR","SETUP_FAILED","READY","DISCONNECTING"],"uniqueKey":"state","typeLabel":"enum\u003cstring>"},"errors":{"description":"Validation or setup errors when state is not READY.","type":"array","items":{"type":"object","uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"connectorId":{"type":"string","uniqueKey":"connectorId","typeLabel":"string"},"externalAppId":{"type":"string","uniqueKey":"externalAppId","typeLabel":"string"},"connectorVersion":{"type":"string","uniqueKey":"connectorVersion","typeLabel":"string"},"authOptionKey":{"type":"string","uniqueKey":"authOptionKey","typeLabel":"string"},"oauthClientId":{"type":"string","uniqueKey":"oauthClientId","typeLabel":"string"},"oauthClientVersionId":{"type":"string","uniqueKey":"oauthClientVersionId","typeLabel":"string"},"oauthClientName":{"type":"string","uniqueKey":"oauthClientName","typeLabel":"string"},"createdAt":{"type":"string","uniqueKey":"createdAt","typeLabel":"string"},"updatedAt":{"type":"string","uniqueKey":"updatedAt","typeLabel":"string"},"nextCredentialsRefreshAt":{"description":"When the connection credentials are next scheduled for proactive refresh.","type":"string","uniqueKey":"nextCredentialsRefreshAt","typeLabel":"string"},"canTest":{"description":"Whether the connection supports a connectivity test through its connector.","type":"boolean","uniqueKey":"canTest","typeLabel":"boolean"},"browserProvider":{"type":"string","enum":["browserbase","puppeteer"],"uniqueKey":"browserProvider","typeLabel":"enum\u003cstring>"},"canRefreshCredentials":{"description":"Whether the connection credentials can be refreshed through its connector refresh flow.","type":"boolean","uniqueKey":"canRefreshCredentials","typeLabel":"boolean"},"archivedAt":{"description":"When the connection was archived (soft-deleted).","type":"string","uniqueKey":"archivedAt","typeLabel":"string"},"isDeactivated":{"description":"True when the connection or an ancestor was deactivated; a deactivated connection has no state.","type":"boolean","uniqueKey":"isDeactivated","typeLabel":"boolean"},"meta":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"meta.additionalProperties","typeLabel":"any"},"uniqueKey":"meta","typeLabel":"object"},"buildingAgentSessionId":{"description":"Session ID for building the element via intent-based endpoints (create/update with intent). Present when state is BUILDING.","type":"string","uniqueKey":"buildingAgentSessionId","typeLabel":"string"},"ask":{"description":"The next connection step, projected from lifecycle state.","type":"object","properties":{"kind":{"type":"string","enum":["connect"],"isRequired":true,"uniqueKey":"ask.kind","typeLabel":"enum\u003cstring>"},"step":{"type":"string","enum":["app","configure","authenticate"],"isRequired":true,"uniqueKey":"ask.step","typeLabel":"enum\u003cstring>"}},"required":["kind","step"],"additionalProperties":false,"uniqueKey":"ask","typeLabel":"object"},"logoUri":{"description":"Resolved app logo for this element (integration -> connector -> external app -> favicon).","type":"string","uniqueKey":"logoUri","typeLabel":"string"},"input":{"description":"Connect-form fields for this connection. Credential-carrying fields report `{ \"set\": true }` presence only; their values are never returned.","type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"input.additionalProperties","typeLabel":"any"},"uniqueKey":"input","typeLabel":"object"},"connectorParameters":{"description":"Connector parameters for this connection. Each field reports `{ \"set\": true }` presence only; values are never returned.","type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"connectorParameters.additionalProperties","typeLabel":"any"},"uniqueKey":"connectorParameters","typeLabel":"object"},"credentialsSchema":{"type":"object","description":"Shape of this connection’s stored credentials: field names, types, and descriptions, never values. Use a field name here as the credential path when binding a credential into a command with the with-credentials CLI tool.","uniqueKey":"credentialsSchema","typeLabel":"object"}},"required":["id","name","status","credentialsError","consecutiveRefreshFailuresCount"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","name":"\u003cstring>","status":"connected","credentialsError":{},"consecutiveRefreshFailuresCount":4503599627370495,"tenantId":"\u003cstring>","ownerName":"\u003cstring>","type":"connector","key":"\u003cstring>","grantedScopes":["\u003cstring>"],"providerPermissionChecks":[{"key":"\u003cstring>","status":"granted","checkedAt":"2023-11-07T05:31:56Z","probeActionId":"\u003cstring>"}],"connected":true,"hasDocs":true,"docsCount":123,"docsSummary":"\u003cstring>","state":"BUILDING","errors":[{}],"connectorId":"\u003cstring>","externalAppId":"\u003cstring>","connectorVersion":"\u003cstring>","authOptionKey":"\u003cstring>","oauthClientId":"\u003cstring>","oauthClientVersionId":"\u003cstring>","oauthClientName":"\u003cstring>","createdAt":"\u003cstring>","updatedAt":"\u003cstring>","nextCredentialsRefreshAt":"\u003cstring>","canTest":true,"browserProvider":"browserbase","canRefreshCredentials":true,"archivedAt":"\u003cstring>","isDeactivated":true,"meta":{},"buildingAgentSessionId":"\u003cstring>","ask":{"kind":"connect","step":"app"},"logoUri":"\u003cstring>","input":{},"connectorParameters":{},"credentialsSchema":{}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"7006bb3a-f4b9-4da4-8c7c-5fab58fead5b":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http","scopes":[]}}},"servers":{"33d21c8c-84e0-43bd-9b19-dc155c89188b":{"url":"https://api.getmembrane.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"scheme":"bearer","bearerFormat":"JWT","type":"http","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearer","name":"Authorization"}],"title":"bearer"}]},"originalFileLocation":"api-reference/membrane-api.json"},"subdomain":"membrane-agency","siteName":"Membrane Docs","title":"update-connection - Membrane Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-25T13:49:01.925Z","originalFileLocation":"api-reference/update-connection.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=\"Set fields on an existing connection. input, connectorParameters and credentials each replace their prior object, so a key you omit is dropped, and writing them stores values but does not authenticate. A credential is refused in all three — an API key, token, client secret or password, because tool arguments are stored in the transcript verbatim — and credentials is what the connector derives on connect, not a place to put what the user typed. Offer connect with { connectionId }: the person enters the value in the connect screen, which writes it to this same connection.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Membrane Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/membrane-agency/AsMUTkTfLdg_QiLm/_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/membrane-agency/AsMUTkTfLdg_QiLm/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/membrane-agency/AsMUTkTfLdg_QiLm/_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/membrane-agency/AsMUTkTfLdg_QiLm/_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/membrane-agency/AsMUTkTfLdg_QiLm/_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/membrane-agency/AsMUTkTfLdg_QiLm/_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/membrane-agency/AsMUTkTfLdg_QiLm/_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/membrane-agency/AsMUTkTfLdg_QiLm/_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/membrane-agency/AsMUTkTfLdg_QiLm/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"update-connection - Membrane Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Set fields on an existing connection. input, connectorParameters and credentials each replace their prior object, so a key you omit is dropped, and writing them stores values but does not authenticate. A credential is refused in all three — an API key, token, client secret or password, because tool arguments are stored in the transcript verbatim — and credentials is what the connector derives on connect, not a place to put what the user typed. Offer connect with { connectionId }: the person enters the value in the connect screen, which writes it to this same connection.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Membrane Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.membrane.agency/api-reference/update-connection\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://membrane-agency.mintlify.site/_mintlify/api/og/v2?division=Connections\u0026amp;title=update-connection\u0026amp;description=Set+fields+on+an+existing+connection.+%60input%60%2C+%60connectorParameters%60+and+%60credentials%60+each+replace+their+prior+object%2C+so+a+key+you+omit+is+dropped%2C+and+writin\u0026amp;theme=ac4e529bd3284492f16dc7df\u0026amp;signature=1f2fe45385df226fd56de1eccfc6ea4c25a7406d69c4c3864c9644894eb27296\">\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=\"update-connection - Membrane Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Set fields on an existing connection. input, connectorParameters and credentials each replace their prior object, so a key you omit is dropped, and writing them stores values but does not authenticate. A credential is refused in all three — an API key, token, client secret or password, because tool arguments are stored in the transcript verbatim — and credentials is what the connector derives on connect, not a place to put what the user typed. Offer connect with { connectionId }: the person enters the value in the connect screen, which writes it to this same connection.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://membrane-agency.mintlify.site/_mintlify/api/og/v2?division=Connections\u0026amp;title=update-connection\u0026amp;description=Set+fields+on+an+existing+connection.+%60input%60%2C+%60connectorParameters%60+and+%60credentials%60+each+replace+their+prior+object%2C+so+a+key+you+omit+is+dropped%2C+and+writin\u0026amp;theme=ac4e529bd3284492f16dc7df\u0026amp;signature=1f2fe45385df226fd56de1eccfc6ea4c25a7406d69c4c3864c9644894eb27296\">\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/membrane-agency/AsMUTkTfLdg_QiLm/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Membrane Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0F766E\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.membrane.agency/api-reference/update-connection\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/update-connection.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.membrane.agency/#organization\",\"name\":\"Membrane Docs\",\"url\":\"https://docs.membrane.agency\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/membrane-agency/v4_djV_NCG0crn4V/logo/light.svg?fit=max\u0026auto=format\u0026n=v4_djV_NCG0crn4V\u0026q=85\u0026s=a4c17bd552331573d4e08fa32fd8a7c3\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.membrane.agency#website\",\"name\":\"Membrane Docs\",\"url\":\"https://docs.membrane.agency\",\"publisher\":{\"@id\":\"https://docs.membrane.agency/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.membrane.agency/api-reference/update-connection#webpage\",\"url\":\"https://docs.membrane.agency/api-reference/update-connection\",\"name\":\"update-connection\",\"description\":\"Set fields on an existing connection. input, connectorParameters and credentials each replace their prior object, so a key you omit is dropped, and writing them stores values but does not authenticate. A credential is refused in all three — an API key, token, client secret or password, because tool arguments are stored in the transcript verbatim — and credentials is what the connector derives on connect, not a place to put what the user typed. Offer connect with { connectionId }: the person enters the value in the connect screen, which writes it to this same connection.\",\"dateModified\":\"2026-08-25T13:49:01.925Z\",\"isPartOf\":{\"@id\":\"https://docs.membrane.agency#website\"},\"breadcrumb\":{\"@id\":\"https://docs.membrane.agency/api-reference/update-connection#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.membrane.agency/api-reference/update-connection#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Workspace Elements\",\"item\":\"https://docs.membrane.agency/api-reference/list-connections\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Connections\",\"item\":\"https://docs.membrane.agency/reference/workspace-elements/connections\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"update-connection\",\"item\":\"https://docs.membrane.agency/api-reference/update-connection\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.membrane.agency/api-reference/update-connection#apireference\",\"headline\":\"update-connection\",\"name\":\"update-connection\",\"description\":\"Set fields on an existing connection. input, connectorParameters and credentials each replace their prior object, so a key you omit is dropped, and writing them stores values but does not authenticate. A credential is refused in all three — an API key, token, client secret or password, because tool arguments are stored in the transcript verbatim — and credentials is what the connector derives on connect, not a place to put what the user typed. Offer connect with { connectionId }: the person enters the value in the connect screen, which writes it to this same connection.\",\"url\":\"https://docs.membrane.agency/api-reference/update-connection\",\"mainEntityOfPage\":{\"@id\":\"https://docs.membrane.agency/api-reference/update-connection#webpage\"},\"dateModified\":\"2026-08-25T13:49:01.925Z\",\"publisher\":{\"@id\":\"https://docs.membrane.agency/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.membrane.agency#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Membrane Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Membrane Docs","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/docs/getting-started/overview"}]},{"tab":"Reference","groups":[{"group":"Overview","pages":[{"title":"Authentication","href":"/reference/overview/authentication"},{"title":"Element Selectors","href":"/reference/overview/element-selectors"},{"title":"API Errors","href":"/reference/overview/errors"}]},{"group":"Workspace Elements","pages":[{"group":"Connections","root":{"title":"Connections","href":"/reference/workspace-elements/connections"},"pages":[{"title":"list-connections","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /connections","href":"/api-reference/list-connections"},{"title":"get-connection","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /connections/{id}","href":"/api-reference/get-connection"},{"title":"create-connection","description":"Create a connection to an external app. Target it by connector/integration/app id, by `appUrl` (e.g. \"https://slack.com\", resolved server-side), or by `type: \"mcp\"` with `input: { mcpServerUrl }` — a connector-less connection whose operations arrive as tools. ALWAYS creates a new one: to act through an existing connection find it with `list-connections`; to finish or repair one use `update-connection` or offer `connect`. Pass `input` / `connectorParameters` for configuration the connector declares; never pass a credential — an API key, token, client secret or password is refused here, because tool arguments are stored in the transcript verbatim. To get a credential onto the connection, create it without one and offer `connect`, which writes what the person enters straight to that connection. If the app has no connector, build one from its API docs and pass `connector` (and `externalApp`) by value here — creating both together, docs preserved; do it inline, never hand the build to another session. Returns the connection with its projected `state` and `ask`. For a user-facing button, offer `connect`.","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /connections","href":"/api-reference/create-connection"},{"title":"update-connection","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json patch /connections/{id}","href":"/api-reference/update-connection"},{"title":"replace-connection","description":"Replace values on an existing connection using the legacy PUT route. Prefer `update-connection` unless you specifically need PUT semantics.","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json put /connections/{id}","href":"/api-reference/replace-connection"},{"title":"test-connection","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /connections/{id}/test","href":"/api-reference/test-connection"},{"title":"refresh-connection","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /connections/{id}/refresh-credentials","href":"/api-reference/refresh-connection"},{"title":"export-connection","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /connections/{id}/export","href":"/api-reference/export-connection"},{"title":"delete-connection","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json delete /connections/{id}","href":"/api-reference/delete-connection"}]},{"group":"Connectors","root":{"title":"Connectors","href":"/reference/workspace-elements/connectors"},"pages":[{"group":"Connector Types","root":{"title":"Connector Types","href":"/reference/workspace-elements/connectors/connector-types"},"pages":[{"title":"Client Credentials","href":"/reference/workspace-elements/connectors/connector-types/client-credentials"},{"title":"Membrane Token","href":"/reference/workspace-elements/connectors/connector-types/membrane-token"},{"title":"OAuth1","href":"/reference/workspace-elements/connectors/connector-types/oauth1"},{"title":"OAuth2","href":"/reference/workspace-elements/connectors/connector-types/oauth2"},{"title":"Auth Proxy","href":"/reference/workspace-elements/connectors/connector-types/auth-proxy"}]},{"group":"Connector Functions","root":{"title":"Connector Functions","href":"/reference/workspace-elements/connectors/connector-functions"},"pages":[{"title":"Get Credentials from Connection Parameters","href":"/reference/workspace-elements/connectors/connector-functions/get-credentials-from-connection-parameters"},{"title":"Make API Client","href":"/reference/workspace-elements/connectors/connector-functions/make-api-client"},{"title":"Refresh Credentials","href":"/reference/workspace-elements/connectors/connector-functions/refresh-credentials"},{"title":"Test","href":"/reference/workspace-elements/connectors/connector-functions/test"},{"title":"Disconnect","href":"/reference/workspace-elements/connectors/connector-functions/disconnect"}]},{"title":"list-connectors","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /connectors","href":"/api-reference/list-connectors"},{"title":"list-public-connectors","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /universe/connectors","href":"/api-reference/list-public-connectors"},{"title":"get-connector","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /connectors/{idOrKey}","href":"/api-reference/get-connector"},{"title":"create-connector","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /connectors","href":"/api-reference/create-connector"},{"title":"update-connector","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json patch /connectors/{idOrKey}","href":"/api-reference/update-connector"},{"title":"delete-connector","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json delete /connectors/{idOrKey}","href":"/api-reference/delete-connector"},{"title":"Download connector as zip file","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /connectors/{idOrKey}/download","href":"/api-reference/connectors/download-connector-as-zip-file"},{"title":"Upload connector from zip file","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /connectors/{idOrKey}/upload","href":"/api-reference/connectors/upload-connector-from-zip-file"},{"title":"Import connector from external source","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /connectors/{idOrKey}/import","href":"/api-reference/connectors/import-connector-from-external-source"},{"title":"clone-connector","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /connectors/{idOrKey}/clone","href":"/api-reference/clone-connector"},{"title":"list-connector-versions","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /connectors/{key}/versions","href":"/api-reference/list-connector-versions"},{"title":"Publish a new version of connector","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /connectors/{key}/publish-version","href":"/api-reference/connectors/publish-a-new-version-of-connector"},{"title":"replace-connector","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json put /connectors/{idOrKey}","href":"/api-reference/replace-connector"},{"title":"Get a list of connector files","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /connectors/{idOrKey}/files","href":"/api-reference/connectors/get-a-list-of-connector-files"},{"title":"Get connector file by path","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /connectors/{idOrKey}/files/{path}","href":"/api-reference/connectors/get-connector-file-by-path"},{"title":"Update connector file","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json put /connectors/{idOrKey}/files/{path}","href":"/api-reference/connectors/update-connector-file"},{"title":"Delete connector file","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json delete /connectors/{idOrKey}/files/{path}","href":"/api-reference/connectors/delete-connector-file"},{"title":"Delete connector directory","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json delete /connectors/{idOrKey}/directories/{path}","href":"/api-reference/connectors/delete-connector-directory"},{"title":"Export connector as zip file","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /connectors/{idOrKey}/export-files","href":"/api-reference/connectors/export-connector-as-zip-file"},{"title":"Export connector as JSON","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /connectors/{idOrKey}/export-json","href":"/api-reference/connectors/export-connector-as-json"}]},{"group":"Integrations","root":{"title":"Integrations","href":"/reference/workspace-elements/integrations"},"pages":[{"group":"Integrations UI","root":{"title":"Integrations UI","href":"/reference/workspace-elements/integrations/integrations-catalog"},"pages":[{"title":"Custom Integrations Catalog UI","href":"/reference/workspace-elements/integrations/integrations-catalog/custom-list-of-integrations"},{"title":"Custom Integration UI","href":"/reference/workspace-elements/integrations/integrations-catalog/custom-integration-ui"}]},{"title":"List integrations","openapi":"GET /integrations","href":"/reference/workspace-elements/integrations/list-integrations"},{"title":"get-integration","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /integrations/{idOrKey}","href":"/api-reference/get-integration"}]},{"group":"Apps","root":{"title":"Apps","href":"/reference/workspace-elements/external-apps"},"pages":[{"title":"list-external-apps","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /external-apps","href":"/api-reference/list-external-apps"},{"title":"list-public-external-apps","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /universe/apps","href":"/api-reference/list-public-external-apps"},{"title":"get-external-app","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /external-apps/{idOrKeyOrUuid}","href":"/api-reference/get-external-app"},{"title":"create-external-app","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /external-apps","href":"/api-reference/create-external-app"},{"title":"update-external-app","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json patch /external-apps/{idOrKeyOrUuid}","href":"/api-reference/update-external-app"},{"title":"delete-external-app","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json delete /external-apps/{idOrKeyOrUuid}","href":"/api-reference/delete-external-app"}]},{"group":"Actions","root":{"title":"Actions","href":"/reference/workspace-elements/actions"},"pages":[{"title":"Act","openapi":"POST /act","href":"/reference/workspace-elements/act"},{"title":"list-actions","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /actions","href":"/api-reference/list-actions"},{"title":"get-action","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /actions/{selector}","href":"/api-reference/get-action"},{"title":"create-action","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /actions","href":"/api-reference/create-action"},{"title":"Update action partially","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json patch /actions/{selector}","href":"/api-reference/actions/update-action-partially"},{"title":"Replace action completely","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json put /actions/{selector}","href":"/api-reference/actions/replace-action-completely"},{"title":"Reset action","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /actions/{selector}/reset","href":"/api-reference/actions/reset-action"},{"title":"Clone action","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /actions/{selector}/clone","href":"/api-reference/actions/clone-action"},{"title":"Export action (flat interface)","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /actions/{selector}/export","href":"/api-reference/actions/export-action-flat-interface"},{"title":"Get dependencies of action (flat interface)","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /actions/{selector}/dependencies","href":"/api-reference/actions/get-dependencies-of-action-flat-interface"},{"title":"Restore action (flat interface)","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /actions/{selector}/restore","href":"/api-reference/actions/restore-action-flat-interface"},{"title":"Refresh action","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /actions/{selector}/refresh","href":"/api-reference/actions/refresh-action"},{"title":"Archive action","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json delete /actions/{selector}","href":"/api-reference/actions/archive-action"}]},{"group":"Data Links","root":{"title":"Data Links","href":"/reference/workspace-elements/data-links"},"pages":[{"title":"Data Link Table Instances","href":"/reference/workspace-elements/data-links/data-link-table-instances"}]},{"title":"Deliverables","href":"/reference/workspace-elements/deliverables"},{"group":"Field Mappings","root":{"title":"Field Mappings","href":"/reference/workspace-elements/field-mappings"},"pages":[{"title":"Field Mapping Instances","href":"/reference/workspace-elements/field-mappings/field-mapping-instances"}]},{"group":"External Events","root":{"title":"External Events","href":"/reference/workspace-elements/external-events"},"pages":[{"title":"Webhook Events","href":"/reference/workspace-elements/external-events/webhook"}]},{"group":"Flows","root":{"title":"Flows","href":"/reference/workspace-elements/flows"},"pages":[{"title":"Trigger Nodes","href":"/reference/workspace-elements/flows/trigger-nodes"},{"title":"Function Nodes","href":"/reference/workspace-elements/flows/function-nodes"},{"title":"Control Nodes","href":"/reference/workspace-elements/flows/control-nodes"},{"group":"Flow UI","root":{"title":"Flow UI","href":"/reference/workspace-elements/flows/flow-ui"},"pages":[{"title":"Custom Flow UI","href":"/reference/workspace-elements/flows/flow-ui/custom-flow-ui"},{"title":"Configure Flow Instance Parameters","href":"/reference/workspace-elements/flows/flow-ui/configure-flow-instance-parameters"},{"title":"Enable and Disable Flow Instances","href":"/reference/workspace-elements/flows/flow-ui/enable-and-disable-flow-instances-to"}]}]},{"group":"Tenants","root":{"title":"Tenants","href":"/reference/workspace-elements/tenants"},"pages":[{"title":"list-tenants","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /tenants","href":"/api-reference/list-tenants"},{"title":"create-tenant","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /tenants","href":"/api-reference/create-tenant"},{"title":"get-tenant","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /tenants/{id}","href":"/api-reference/get-tenant"},{"title":"update-tenant","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json patch /tenants/{id}","href":"/api-reference/update-tenant"},{"title":"replace-tenant","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json put /tenants/{id}","href":"/api-reference/replace-tenant"},{"title":"delete-tenant","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json delete /tenants/{id}","href":"/api-reference/delete-tenant"},{"title":"restore-tenant","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /tenants/{elementSelector}/restore","href":"/api-reference/restore-tenant"}]},{"group":"Search","root":{"title":"Search","href":"/reference/workspace-elements/search"},"pages":[{"title":"Search workspace elements by keyword","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /search","href":"/api-reference/workspaceelementssearch/search-workspace-elements-by-keyword"},{"title":"Search workspace elements using semantic similarity","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /semantic-search","href":"/api-reference/workspaceelementssearch/search-workspace-elements-using-semantic-similarity"}]},{"group":"Agent Sessions","root":{"title":"Agent Sessions","href":"/reference/workspace-elements/sessions"},"pages":[{"title":"List agent sessions","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /agent-sessions","href":"/api-reference/sessions/list-agent-sessions"},{"title":"Create a new agent session","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /agent-sessions","href":"/api-reference/sessions/create-a-new-agent-session"},{"title":"Get an agent session","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /agent-sessions/{id}","href":"/api-reference/sessions/get-an-agent-session"},{"title":"Update an agent session","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json patch /agent-sessions/{id}","href":"/api-reference/sessions/update-an-agent-session"},{"title":"Send a message to a session (resumes if stopped, sends input if running)","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /agent-sessions/{id}/message","href":"/api-reference/sessions/send-a-message-to-a-session-resumes-if-stopped-sends-input-if-running"},{"title":"Stop an agent session","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json patch /agent-sessions/{id}/stop","href":"/api-reference/sessions/stop-an-agent-session"},{"title":"Interrupt a running agent session","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /agent-sessions/{id}/interrupt","href":"/api-reference/sessions/interrupt-a-running-agent-session"}]},{"group":"Action Run Logs","root":{"title":"Action Run Logs","href":"/reference/workspace-elements/action-run-logs"},"pages":[{"title":"list-action-run-logs","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /action-run-logs","href":"/api-reference/list-action-run-logs"},{"title":"get-action-run-log","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /action-run-logs/{id}","href":"/api-reference/get-action-run-log"},{"title":"Get action run log details","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /action-run-logs/{id}/details","href":"/api-reference/actionrunlogs/get-action-run-log-details"}]},{"group":"External API Logs","root":{"title":"External API Logs","href":"/reference/workspace-elements/external-api-logs"},"pages":[{"title":"List external API logs","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /external-api-logs","href":"/api-reference/externalapilogs/list-external-api-logs"},{"title":"Get API log by ID","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /external-api-logs/{id}","href":"/api-reference/externalapilogs/get-api-log-by-id"},{"title":"Get API log content","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /external-api-logs/{id}/details","href":"/api-reference/externalapilogs/get-api-log-content"}]},{"group":"External Event Logs","root":{"title":"External Event Logs","href":"/reference/workspace-elements/external-event-logs"},"pages":[{"title":"list-external-event-log-records","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /external-event-log-records","href":"/api-reference/list-external-event-log-records"},{"title":"get-external-event-log-record","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /external-event-log-records/{id}","href":"/api-reference/get-external-event-log-record"},{"title":"Get external event log record details","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /external-event-log-records/{id}/details","href":"/api-reference/externaleventlogrecords/get-external-event-log-record-details"}]},{"group":"External Event Pulls","root":{"title":"External Event Pulls","href":"/reference/workspace-elements/external-event-pulls"},"pages":[{"title":"List external event pulls","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /external-event-pulls","href":"/api-reference/externaleventpulls/list-external-event-pulls"},{"title":"Get external event pull","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /external-event-pulls/{id}","href":"/api-reference/externaleventpulls/get-external-event-pull"},{"title":"Get external event pull logs","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /external-event-pulls/{id}/logs","href":"/api-reference/externaleventpulls/get-external-event-pull-logs"}]},{"group":"Incoming Webhooks","root":{"title":"Incoming Webhooks","href":"/reference/workspace-elements/incoming-webhooks"},"pages":[{"title":"List incoming webhooks","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /incoming-webhooks","href":"/api-reference/incomingwebhooksreader/list-incoming-webhooks"},{"title":"Get incoming webhook by ID","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /incoming-webhooks/{id}","href":"/api-reference/incomingwebhooksreader/get-incoming-webhook-by-id"},{"title":"Get incoming webhook details","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /incoming-webhooks/{id}/details","href":"/api-reference/incomingwebhooksreader/get-incoming-webhook-details"}]}]},{"group":"Management API","pages":[{"group":"Workspace Provisioning","root":{"title":"Workspace Provisioning","href":"/reference/management-api/workspace-provisioning"},"pages":[{"title":"create-org-workspace","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /org-workspaces","href":"/api-reference/create-org-workspace"},{"title":"get-org-workspace","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /org-workspaces/{id}","href":"/api-reference/get-org-workspace"},{"title":"update-org-workspace","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json patch /org-workspaces/{id}","href":"/api-reference/update-org-workspace"},{"title":"create-org-workspace-access-token","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /org-workspaces/{id}/access-token","href":"/api-reference/create-org-workspace-access-token"},{"title":"archive-org-workspace","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json delete /org-workspaces/{id}","href":"/api-reference/archive-org-workspace"},{"title":"restore-org-workspace","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /org-workspaces/{id}/restore","href":"/api-reference/restore-org-workspace"},{"title":"rotate-org-workspace-secret","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /org-workspaces/{id}/rotate-secret","href":"/api-reference/rotate-org-workspace-secret"}]},{"group":"Workspace Migration","root":{"title":"Workspace Migration","href":"/reference/management-api/workspace-migration"},"pages":[{"title":"Export all workspace elements","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json get /export","href":"/api-reference/exportmembraneinterfaces/export-all-workspace-elements"},{"title":"Import workspace elements from membrane zip file","deprecated":null,"version":null,"openapi":"/api-reference/membrane-api.json post /import","href":"/api-reference/importmembraneinterfaces/import-workspace-elements-from-membrane-zip-file"}]}]}]}]},"basePath":"","title":"update-connection - Membrane Docs","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","Page-C945cI-W.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}