curl --request PATCH \
--url https://api.getmembrane.com/connectors/{idOrKey} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"key": "<string>",
"name": "<string>",
"logoUri": "<string>",
"externalAppId": "<string>",
"externalAppUuid": "<string>",
"appUuid": "<string>",
"categories": [
"<string>"
],
"parameters": {},
"authOptions": "<unknown>",
"customCredentialsSchema": {},
"inputSchema": {},
"parametersSchema": {},
"getCredentialsFromConnectionParameters": {
"description": "<string>"
},
"refreshCredentials": {
"description": "<string>"
},
"makeApiClient": {
"description": "<string>"
},
"getOAuthConfig": {
"description": "<string>"
},
"getTokenData": {
"description": "<string>"
},
"getCredentialsFromAccessTokenResponse": {
"description": "<string>"
},
"getCredentialsFromRefreshTokenResponse": {
"description": "<string>"
},
"test": {
"description": "<string>"
},
"disconnect": {
"description": "<string>"
},
"proxyKey": "<string>",
"oauthClientKey": "<string>",
"ui": {
"schema": {},
"description": "<string>",
"helpUri": "<string>"
},
"options": {}
}
'import requests
url = "https://api.getmembrane.com/connectors/{idOrKey}"
payload = {
"key": "<string>",
"name": "<string>",
"logoUri": "<string>",
"externalAppId": "<string>",
"externalAppUuid": "<string>",
"appUuid": "<string>",
"categories": ["<string>"],
"parameters": {},
"authOptions": "<unknown>",
"customCredentialsSchema": {},
"inputSchema": {},
"parametersSchema": {},
"getCredentialsFromConnectionParameters": { "description": "<string>" },
"refreshCredentials": { "description": "<string>" },
"makeApiClient": { "description": "<string>" },
"getOAuthConfig": { "description": "<string>" },
"getTokenData": { "description": "<string>" },
"getCredentialsFromAccessTokenResponse": { "description": "<string>" },
"getCredentialsFromRefreshTokenResponse": { "description": "<string>" },
"test": { "description": "<string>" },
"disconnect": { "description": "<string>" },
"proxyKey": "<string>",
"oauthClientKey": "<string>",
"ui": {
"schema": {},
"description": "<string>",
"helpUri": "<string>"
},
"options": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
key: '<string>',
name: '<string>',
logoUri: '<string>',
externalAppId: '<string>',
externalAppUuid: '<string>',
appUuid: '<string>',
categories: ['<string>'],
parameters: {},
authOptions: '<unknown>',
customCredentialsSchema: {},
inputSchema: {},
parametersSchema: {},
getCredentialsFromConnectionParameters: {description: '<string>'},
refreshCredentials: {description: '<string>'},
makeApiClient: {description: '<string>'},
getOAuthConfig: {description: '<string>'},
getTokenData: {description: '<string>'},
getCredentialsFromAccessTokenResponse: {description: '<string>'},
getCredentialsFromRefreshTokenResponse: {description: '<string>'},
test: {description: '<string>'},
disconnect: {description: '<string>'},
proxyKey: '<string>',
oauthClientKey: '<string>',
ui: {schema: {}, description: '<string>', helpUri: '<string>'},
options: {}
})
};
fetch('https://api.getmembrane.com/connectors/{idOrKey}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getmembrane.com/connectors/{idOrKey}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'key' => '<string>',
'name' => '<string>',
'logoUri' => '<string>',
'externalAppId' => '<string>',
'externalAppUuid' => '<string>',
'appUuid' => '<string>',
'categories' => [
'<string>'
],
'parameters' => [
],
'authOptions' => '<unknown>',
'customCredentialsSchema' => [
],
'inputSchema' => [
],
'parametersSchema' => [
],
'getCredentialsFromConnectionParameters' => [
'description' => '<string>'
],
'refreshCredentials' => [
'description' => '<string>'
],
'makeApiClient' => [
'description' => '<string>'
],
'getOAuthConfig' => [
'description' => '<string>'
],
'getTokenData' => [
'description' => '<string>'
],
'getCredentialsFromAccessTokenResponse' => [
'description' => '<string>'
],
'getCredentialsFromRefreshTokenResponse' => [
'description' => '<string>'
],
'test' => [
'description' => '<string>'
],
'disconnect' => [
'description' => '<string>'
],
'proxyKey' => '<string>',
'oauthClientKey' => '<string>',
'ui' => [
'schema' => [
],
'description' => '<string>',
'helpUri' => '<string>'
],
'options' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getmembrane.com/connectors/{idOrKey}"
payload := strings.NewReader("{\n \"key\": \"<string>\",\n \"name\": \"<string>\",\n \"logoUri\": \"<string>\",\n \"externalAppId\": \"<string>\",\n \"externalAppUuid\": \"<string>\",\n \"appUuid\": \"<string>\",\n \"categories\": [\n \"<string>\"\n ],\n \"parameters\": {},\n \"authOptions\": \"<unknown>\",\n \"customCredentialsSchema\": {},\n \"inputSchema\": {},\n \"parametersSchema\": {},\n \"getCredentialsFromConnectionParameters\": {\n \"description\": \"<string>\"\n },\n \"refreshCredentials\": {\n \"description\": \"<string>\"\n },\n \"makeApiClient\": {\n \"description\": \"<string>\"\n },\n \"getOAuthConfig\": {\n \"description\": \"<string>\"\n },\n \"getTokenData\": {\n \"description\": \"<string>\"\n },\n \"getCredentialsFromAccessTokenResponse\": {\n \"description\": \"<string>\"\n },\n \"getCredentialsFromRefreshTokenResponse\": {\n \"description\": \"<string>\"\n },\n \"test\": {\n \"description\": \"<string>\"\n },\n \"disconnect\": {\n \"description\": \"<string>\"\n },\n \"proxyKey\": \"<string>\",\n \"oauthClientKey\": \"<string>\",\n \"ui\": {\n \"schema\": {},\n \"description\": \"<string>\",\n \"helpUri\": \"<string>\"\n },\n \"options\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.getmembrane.com/connectors/{idOrKey}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"key\": \"<string>\",\n \"name\": \"<string>\",\n \"logoUri\": \"<string>\",\n \"externalAppId\": \"<string>\",\n \"externalAppUuid\": \"<string>\",\n \"appUuid\": \"<string>\",\n \"categories\": [\n \"<string>\"\n ],\n \"parameters\": {},\n \"authOptions\": \"<unknown>\",\n \"customCredentialsSchema\": {},\n \"inputSchema\": {},\n \"parametersSchema\": {},\n \"getCredentialsFromConnectionParameters\": {\n \"description\": \"<string>\"\n },\n \"refreshCredentials\": {\n \"description\": \"<string>\"\n },\n \"makeApiClient\": {\n \"description\": \"<string>\"\n },\n \"getOAuthConfig\": {\n \"description\": \"<string>\"\n },\n \"getTokenData\": {\n \"description\": \"<string>\"\n },\n \"getCredentialsFromAccessTokenResponse\": {\n \"description\": \"<string>\"\n },\n \"getCredentialsFromRefreshTokenResponse\": {\n \"description\": \"<string>\"\n },\n \"test\": {\n \"description\": \"<string>\"\n },\n \"disconnect\": {\n \"description\": \"<string>\"\n },\n \"proxyKey\": \"<string>\",\n \"oauthClientKey\": \"<string>\",\n \"ui\": {\n \"schema\": {},\n \"description\": \"<string>\",\n \"helpUri\": \"<string>\"\n },\n \"options\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getmembrane.com/connectors/{idOrKey}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"key\": \"<string>\",\n \"name\": \"<string>\",\n \"logoUri\": \"<string>\",\n \"externalAppId\": \"<string>\",\n \"externalAppUuid\": \"<string>\",\n \"appUuid\": \"<string>\",\n \"categories\": [\n \"<string>\"\n ],\n \"parameters\": {},\n \"authOptions\": \"<unknown>\",\n \"customCredentialsSchema\": {},\n \"inputSchema\": {},\n \"parametersSchema\": {},\n \"getCredentialsFromConnectionParameters\": {\n \"description\": \"<string>\"\n },\n \"refreshCredentials\": {\n \"description\": \"<string>\"\n },\n \"makeApiClient\": {\n \"description\": \"<string>\"\n },\n \"getOAuthConfig\": {\n \"description\": \"<string>\"\n },\n \"getTokenData\": {\n \"description\": \"<string>\"\n },\n \"getCredentialsFromAccessTokenResponse\": {\n \"description\": \"<string>\"\n },\n \"getCredentialsFromRefreshTokenResponse\": {\n \"description\": \"<string>\"\n },\n \"test\": {\n \"description\": \"<string>\"\n },\n \"disconnect\": {\n \"description\": \"<string>\"\n },\n \"proxyKey\": \"<string>\",\n \"oauthClientKey\": \"<string>\",\n \"ui\": {\n \"schema\": {},\n \"description\": \"<string>\",\n \"helpUri\": \"<string>\"\n },\n \"options\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"key": "<string>",
"name": "<string>",
"isReadOnly": true
}update-connector
Update connector fields by id or key; provided fields merge with existing configuration.
curl --request PATCH \
--url https://api.getmembrane.com/connectors/{idOrKey} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"key": "<string>",
"name": "<string>",
"logoUri": "<string>",
"externalAppId": "<string>",
"externalAppUuid": "<string>",
"appUuid": "<string>",
"categories": [
"<string>"
],
"parameters": {},
"authOptions": "<unknown>",
"customCredentialsSchema": {},
"inputSchema": {},
"parametersSchema": {},
"getCredentialsFromConnectionParameters": {
"description": "<string>"
},
"refreshCredentials": {
"description": "<string>"
},
"makeApiClient": {
"description": "<string>"
},
"getOAuthConfig": {
"description": "<string>"
},
"getTokenData": {
"description": "<string>"
},
"getCredentialsFromAccessTokenResponse": {
"description": "<string>"
},
"getCredentialsFromRefreshTokenResponse": {
"description": "<string>"
},
"test": {
"description": "<string>"
},
"disconnect": {
"description": "<string>"
},
"proxyKey": "<string>",
"oauthClientKey": "<string>",
"ui": {
"schema": {},
"description": "<string>",
"helpUri": "<string>"
},
"options": {}
}
'import requests
url = "https://api.getmembrane.com/connectors/{idOrKey}"
payload = {
"key": "<string>",
"name": "<string>",
"logoUri": "<string>",
"externalAppId": "<string>",
"externalAppUuid": "<string>",
"appUuid": "<string>",
"categories": ["<string>"],
"parameters": {},
"authOptions": "<unknown>",
"customCredentialsSchema": {},
"inputSchema": {},
"parametersSchema": {},
"getCredentialsFromConnectionParameters": { "description": "<string>" },
"refreshCredentials": { "description": "<string>" },
"makeApiClient": { "description": "<string>" },
"getOAuthConfig": { "description": "<string>" },
"getTokenData": { "description": "<string>" },
"getCredentialsFromAccessTokenResponse": { "description": "<string>" },
"getCredentialsFromRefreshTokenResponse": { "description": "<string>" },
"test": { "description": "<string>" },
"disconnect": { "description": "<string>" },
"proxyKey": "<string>",
"oauthClientKey": "<string>",
"ui": {
"schema": {},
"description": "<string>",
"helpUri": "<string>"
},
"options": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
key: '<string>',
name: '<string>',
logoUri: '<string>',
externalAppId: '<string>',
externalAppUuid: '<string>',
appUuid: '<string>',
categories: ['<string>'],
parameters: {},
authOptions: '<unknown>',
customCredentialsSchema: {},
inputSchema: {},
parametersSchema: {},
getCredentialsFromConnectionParameters: {description: '<string>'},
refreshCredentials: {description: '<string>'},
makeApiClient: {description: '<string>'},
getOAuthConfig: {description: '<string>'},
getTokenData: {description: '<string>'},
getCredentialsFromAccessTokenResponse: {description: '<string>'},
getCredentialsFromRefreshTokenResponse: {description: '<string>'},
test: {description: '<string>'},
disconnect: {description: '<string>'},
proxyKey: '<string>',
oauthClientKey: '<string>',
ui: {schema: {}, description: '<string>', helpUri: '<string>'},
options: {}
})
};
fetch('https://api.getmembrane.com/connectors/{idOrKey}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getmembrane.com/connectors/{idOrKey}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'key' => '<string>',
'name' => '<string>',
'logoUri' => '<string>',
'externalAppId' => '<string>',
'externalAppUuid' => '<string>',
'appUuid' => '<string>',
'categories' => [
'<string>'
],
'parameters' => [
],
'authOptions' => '<unknown>',
'customCredentialsSchema' => [
],
'inputSchema' => [
],
'parametersSchema' => [
],
'getCredentialsFromConnectionParameters' => [
'description' => '<string>'
],
'refreshCredentials' => [
'description' => '<string>'
],
'makeApiClient' => [
'description' => '<string>'
],
'getOAuthConfig' => [
'description' => '<string>'
],
'getTokenData' => [
'description' => '<string>'
],
'getCredentialsFromAccessTokenResponse' => [
'description' => '<string>'
],
'getCredentialsFromRefreshTokenResponse' => [
'description' => '<string>'
],
'test' => [
'description' => '<string>'
],
'disconnect' => [
'description' => '<string>'
],
'proxyKey' => '<string>',
'oauthClientKey' => '<string>',
'ui' => [
'schema' => [
],
'description' => '<string>',
'helpUri' => '<string>'
],
'options' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getmembrane.com/connectors/{idOrKey}"
payload := strings.NewReader("{\n \"key\": \"<string>\",\n \"name\": \"<string>\",\n \"logoUri\": \"<string>\",\n \"externalAppId\": \"<string>\",\n \"externalAppUuid\": \"<string>\",\n \"appUuid\": \"<string>\",\n \"categories\": [\n \"<string>\"\n ],\n \"parameters\": {},\n \"authOptions\": \"<unknown>\",\n \"customCredentialsSchema\": {},\n \"inputSchema\": {},\n \"parametersSchema\": {},\n \"getCredentialsFromConnectionParameters\": {\n \"description\": \"<string>\"\n },\n \"refreshCredentials\": {\n \"description\": \"<string>\"\n },\n \"makeApiClient\": {\n \"description\": \"<string>\"\n },\n \"getOAuthConfig\": {\n \"description\": \"<string>\"\n },\n \"getTokenData\": {\n \"description\": \"<string>\"\n },\n \"getCredentialsFromAccessTokenResponse\": {\n \"description\": \"<string>\"\n },\n \"getCredentialsFromRefreshTokenResponse\": {\n \"description\": \"<string>\"\n },\n \"test\": {\n \"description\": \"<string>\"\n },\n \"disconnect\": {\n \"description\": \"<string>\"\n },\n \"proxyKey\": \"<string>\",\n \"oauthClientKey\": \"<string>\",\n \"ui\": {\n \"schema\": {},\n \"description\": \"<string>\",\n \"helpUri\": \"<string>\"\n },\n \"options\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.getmembrane.com/connectors/{idOrKey}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"key\": \"<string>\",\n \"name\": \"<string>\",\n \"logoUri\": \"<string>\",\n \"externalAppId\": \"<string>\",\n \"externalAppUuid\": \"<string>\",\n \"appUuid\": \"<string>\",\n \"categories\": [\n \"<string>\"\n ],\n \"parameters\": {},\n \"authOptions\": \"<unknown>\",\n \"customCredentialsSchema\": {},\n \"inputSchema\": {},\n \"parametersSchema\": {},\n \"getCredentialsFromConnectionParameters\": {\n \"description\": \"<string>\"\n },\n \"refreshCredentials\": {\n \"description\": \"<string>\"\n },\n \"makeApiClient\": {\n \"description\": \"<string>\"\n },\n \"getOAuthConfig\": {\n \"description\": \"<string>\"\n },\n \"getTokenData\": {\n \"description\": \"<string>\"\n },\n \"getCredentialsFromAccessTokenResponse\": {\n \"description\": \"<string>\"\n },\n \"getCredentialsFromRefreshTokenResponse\": {\n \"description\": \"<string>\"\n },\n \"test\": {\n \"description\": \"<string>\"\n },\n \"disconnect\": {\n \"description\": \"<string>\"\n },\n \"proxyKey\": \"<string>\",\n \"oauthClientKey\": \"<string>\",\n \"ui\": {\n \"schema\": {},\n \"description\": \"<string>\",\n \"helpUri\": \"<string>\"\n },\n \"options\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getmembrane.com/connectors/{idOrKey}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"key\": \"<string>\",\n \"name\": \"<string>\",\n \"logoUri\": \"<string>\",\n \"externalAppId\": \"<string>\",\n \"externalAppUuid\": \"<string>\",\n \"appUuid\": \"<string>\",\n \"categories\": [\n \"<string>\"\n ],\n \"parameters\": {},\n \"authOptions\": \"<unknown>\",\n \"customCredentialsSchema\": {},\n \"inputSchema\": {},\n \"parametersSchema\": {},\n \"getCredentialsFromConnectionParameters\": {\n \"description\": \"<string>\"\n },\n \"refreshCredentials\": {\n \"description\": \"<string>\"\n },\n \"makeApiClient\": {\n \"description\": \"<string>\"\n },\n \"getOAuthConfig\": {\n \"description\": \"<string>\"\n },\n \"getTokenData\": {\n \"description\": \"<string>\"\n },\n \"getCredentialsFromAccessTokenResponse\": {\n \"description\": \"<string>\"\n },\n \"getCredentialsFromRefreshTokenResponse\": {\n \"description\": \"<string>\"\n },\n \"test\": {\n \"description\": \"<string>\"\n },\n \"disconnect\": {\n \"description\": \"<string>\"\n },\n \"proxyKey\": \"<string>\",\n \"oauthClientKey\": \"<string>\",\n \"ui\": {\n \"schema\": {},\n \"description\": \"<string>\",\n \"helpUri\": \"<string>\"\n },\n \"options\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"key": "<string>",
"name": "<string>",
"isReadOnly": true
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Connector id, uuid, or key to update
Body
[INTERNAL] Deprecated: resolved to externalAppId
Connector-level parameter values.
Show child attributes
Show child attributes
[INTERNAL] Agent-only auth option array normalized into top-level fields or the options record.
Authentication protocol used by the connector.
integration-app-token, membrane-token, oauth2, oauth1, client-credentials, proxy, oauth-client JSON Schema for workspace-level credential overrides.
JSON Schema for end-user connection input.
Function that derives auth credentials from connection parameters.
Show child attributes
Show child attributes
Function that refreshes expired credentials.
Show child attributes
Show child attributes
Function that configures the authenticated HTTP client used by connector requests and actions.
Show child attributes
Show child attributes
OAuth2 function returning { authorizeUri, tokenUri, scopes, noRefreshToken? }.
Show child attributes
Show child attributes
OAuth2 function that extracts metadata from the raw token response.
Show child attributes
Show child attributes
OAuth2 function that transforms the token endpoint response into the final credentials object.
Show child attributes
Show child attributes
OAuth2 function that transforms the refresh response into refreshed credentials.
Show child attributes
Show child attributes
Function that verifies the connection with a lightweight authenticated API call.
Show child attributes
Show child attributes
Function that revokes provider credentials when the connection is removed.
Show child attributes
Show child attributes
For type: "proxy" — identifies which proxy configuration the workspace should use.
For type: "oauth-client" — identifies the organization OAuth client used for this option.
[INTERNAL] Deprecated: Use inputSchema instead
Show child attributes
Show child attributes
Auth configurations keyed by option name. Mutually exclusive with top-level auth fields.
Show child attributes
Show child attributes