curl --request DELETE \
--url https://api.getmembrane.com/connections/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.getmembrane.com/connections/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getmembrane.com/connections/{id}', 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/connections/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.getmembrane.com/connections/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.getmembrane.com/connections/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getmembrane.com/connections/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"status": "connected",
"credentialsError": {},
"consecutiveRefreshFailuresCount": 4503599627370495,
"tenantId": "<string>",
"ownerName": "<string>",
"type": "connector",
"key": "<string>",
"grantedScopes": [
"<string>"
],
"providerPermissionChecks": [
{
"key": "<string>",
"status": "granted",
"checkedAt": "2023-11-07T05:31:56Z",
"probeActionId": "<string>"
}
],
"connected": true,
"hasDocs": true,
"docsCount": 123,
"docsSummary": "<string>",
"state": "BUILDING",
"errors": [
{}
],
"connectorId": "<string>",
"externalAppId": "<string>",
"connectorVersion": "<string>",
"authOptionKey": "<string>",
"oauthClientId": "<string>",
"oauthClientVersionId": "<string>",
"oauthClientName": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"nextCredentialsRefreshAt": "<string>",
"canTest": true,
"browserProvider": "browserbase",
"canRefreshCredentials": true,
"archivedAt": "<string>",
"isDeactivated": true,
"meta": {},
"buildingAgentSessionId": "<string>",
"ask": {
"kind": "connect",
"step": "app"
},
"logoUri": "<string>",
"input": {},
"connectorParameters": {},
"credentialsSchema": {}
}delete-connection
Archive a connection and enqueue credential revocation/disconnect cleanup.
curl --request DELETE \
--url https://api.getmembrane.com/connections/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.getmembrane.com/connections/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getmembrane.com/connections/{id}', 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/connections/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.getmembrane.com/connections/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.getmembrane.com/connections/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getmembrane.com/connections/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"status": "connected",
"credentialsError": {},
"consecutiveRefreshFailuresCount": 4503599627370495,
"tenantId": "<string>",
"ownerName": "<string>",
"type": "connector",
"key": "<string>",
"grantedScopes": [
"<string>"
],
"providerPermissionChecks": [
{
"key": "<string>",
"status": "granted",
"checkedAt": "2023-11-07T05:31:56Z",
"probeActionId": "<string>"
}
],
"connected": true,
"hasDocs": true,
"docsCount": 123,
"docsSummary": "<string>",
"state": "BUILDING",
"errors": [
{}
],
"connectorId": "<string>",
"externalAppId": "<string>",
"connectorVersion": "<string>",
"authOptionKey": "<string>",
"oauthClientId": "<string>",
"oauthClientVersionId": "<string>",
"oauthClientName": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"nextCredentialsRefreshAt": "<string>",
"canTest": true,
"browserProvider": "browserbase",
"canRefreshCredentials": true,
"archivedAt": "<string>",
"isDeactivated": true,
"meta": {},
"buildingAgentSessionId": "<string>",
"ask": {
"kind": "connect",
"step": "app"
},
"logoUri": "<string>",
"input": {},
"connectorParameters": {},
"credentialsSchema": {}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Connection id or connection key.
Response
Archive a connection and enqueue credential revocation/disconnect cleanup.
Internal database ID of the element. Assigned by the API; unique per element.
Lifecycle status. broken is reserved for provider-confirmed credential or configuration rejection.
connected, broken, disconnecting, disconnected Provider-confirmed credential or configuration rejection. Non-null if and only if status is broken.
Consecutive scheduled credential-refresh failures, used only for backoff arithmetic.
0 <= x <= 9007199254740991connector, mcp, browser Show child attributes
Show child attributes
Whether the connection is authenticated and usable. Projection of status === "connected".
Shared element-state projection of the connection lifecycle and its overlays.
BUILDING, CLIENT_ACTION_REQUIRED, CONFIGURATION_ERROR, SETUP_FAILED, READY, DISCONNECTING Validation or setup errors when state is not READY.
When the connection credentials are next scheduled for proactive refresh.
Whether the connection supports a connectivity test through its connector.
browserbase, puppeteer Whether the connection credentials can be refreshed through its connector refresh flow.
When the connection was archived (soft-deleted).
True when the connection or an ancestor was deactivated; a deactivated connection has no state.
Show child attributes
Show child attributes
Session ID for building the element via intent-based endpoints (create/update with intent). Present when state is BUILDING.
The next connection step, projected from lifecycle state.
Show child attributes
Show child attributes
Resolved app logo for this element (integration -> connector -> external app -> favicon).
Connect-form fields for this connection. Credential-carrying fields report { "set": true } presence only; their values are never returned.
Show child attributes
Show child attributes
Connector parameters for this connection. Each field reports { "set": true } presence only; values are never returned.
Show child attributes
Show child attributes
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.