Skip to main content
POST
/
connectors
Create a new connector
curl --request POST \
  --url https://api.getmembrane.com/connectors \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "key": "<string>",
  "logoUri": "<string>",
  "externalAppId": "<string>",
  "externalAppUuid": "<string>",
  "categories": [
    "<string>"
  ],
  "customCredentialsSchema": {
    "type": "<string>",
    "title": "<string>",
    "description": "<string>",
    "format": "<string>",
    "properties": {},
    "items": "<unknown>",
    "additionalProperties": true,
    "enum": [
      "<string>"
    ],
    "referenceRecords": [
      {}
    ],
    "referenceCollection": {
      "key": {},
      "parameters": {}
    },
    "referenceUdm": "<string>",
    "default": {},
    "allowCustom": true,
    "required": [
      "<string>"
    ],
    "minLength": 123,
    "maxLength": 123,
    "minimum": 123,
    "maximum": 123,
    "maxItems": 123,
    "readOnly": true,
    "writeOnly": true,
    "examples": [
      {}
    ],
    "anyOf": "<array>",
    "isImplied": true,
    "isSensitive": true,
    "referenceCollectionPath": "<string>",
    "referenceCollectionUri": "<string>"
  },
  "inputSchema": {
    "type": "<string>",
    "title": "<string>",
    "description": "<string>",
    "format": "<string>",
    "properties": {},
    "items": "<unknown>",
    "additionalProperties": true,
    "enum": [
      "<string>"
    ],
    "referenceRecords": [
      {}
    ],
    "referenceCollection": {
      "key": {},
      "parameters": {}
    },
    "referenceUdm": "<string>",
    "default": {},
    "allowCustom": true,
    "required": [
      "<string>"
    ],
    "minLength": 123,
    "maxLength": 123,
    "minimum": 123,
    "maximum": 123,
    "maxItems": 123,
    "readOnly": true,
    "writeOnly": true,
    "examples": [
      {}
    ],
    "anyOf": "<array>",
    "isImplied": true,
    "isSensitive": true,
    "referenceCollectionPath": "<string>",
    "referenceCollectionUri": "<string>"
  },
  "parametersSchema": {
    "type": "<string>",
    "title": "<string>",
    "description": "<string>",
    "format": "<string>",
    "properties": {},
    "items": "<unknown>",
    "additionalProperties": true,
    "enum": [
      "<string>"
    ],
    "referenceRecords": [
      {}
    ],
    "referenceCollection": {
      "key": {},
      "parameters": {}
    },
    "referenceUdm": "<string>",
    "default": {},
    "allowCustom": true,
    "required": [
      "<string>"
    ],
    "minLength": 123,
    "maxLength": 123,
    "minimum": 123,
    "maximum": 123,
    "maxItems": 123,
    "readOnly": true,
    "writeOnly": true,
    "examples": [
      {}
    ],
    "anyOf": "<array>",
    "isImplied": true,
    "isSensitive": true,
    "referenceCollectionPath": "<string>",
    "referenceCollectionUri": "<string>"
  },
  "getCredentialsFromConnectionParameters": {},
  "refreshCredentials": {},
  "makeApiClient": {},
  "getOAuthConfig": {},
  "getTokenData": {},
  "getCredentialsFromAccessTokenResponse": {},
  "getCredentialsFromRefreshTokenResponse": {},
  "test": {},
  "disconnect": {},
  "proxyKey": "<string>",
  "options": {},
  "uuid": "<string>"
}
'
{
  "id": "<string>",
  "key": "<string>",
  "uuid": "<string>",
  "name": "<string>",
  "logoUri": "<string>",
  "version": "<string>",
  "externalAppId": "<string>",
  "categories": [
    "<string>"
  ],
  "isPublic": true,
  "popularity": 123,
  "tenantId": "<string>",
  "archivedAt": "<string>",
  "baseUri": "<string>",
  "revision": "<string>",
  "dataCollectionsCount": 123,
  "operationsCount": 123,
  "eventsCount": 123,
  "udms": [
    "<string>"
  ],
  "hasTest": true,
  "hasAuthTest": true,
  "hasOperations": true,
  "hasData": true,
  "isReadOnly": true,
  "credentialsSchema": {
    "type": "<string>",
    "title": "<string>",
    "description": "<string>",
    "format": "<string>",
    "properties": {},
    "items": "<unknown>",
    "additionalProperties": true,
    "enum": [
      "<string>"
    ],
    "referenceRecords": [
      {}
    ],
    "referenceCollection": {
      "key": {},
      "parameters": {}
    },
    "referenceUdm": "<string>",
    "default": {},
    "allowCustom": true,
    "required": [
      "<string>"
    ],
    "minLength": 123,
    "maxLength": 123,
    "minimum": 123,
    "maximum": 123,
    "maxItems": 123,
    "readOnly": true,
    "writeOnly": true,
    "examples": [
      {}
    ],
    "anyOf": "<array>",
    "isImplied": true,
    "isSensitive": true,
    "referenceCollectionPath": "<string>",
    "referenceCollectionUri": "<string>"
  },
  "customCredentialsSchema": {
    "type": "<string>",
    "title": "<string>",
    "description": "<string>",
    "format": "<string>",
    "properties": {},
    "items": "<unknown>",
    "additionalProperties": true,
    "enum": [
      "<string>"
    ],
    "referenceRecords": [
      {}
    ],
    "referenceCollection": {
      "key": {},
      "parameters": {}
    },
    "referenceUdm": "<string>",
    "default": {},
    "allowCustom": true,
    "required": [
      "<string>"
    ],
    "minLength": 123,
    "maxLength": 123,
    "minimum": 123,
    "maximum": 123,
    "maxItems": 123,
    "readOnly": true,
    "writeOnly": true,
    "examples": [
      {}
    ],
    "anyOf": "<array>",
    "isImplied": true,
    "isSensitive": true,
    "referenceCollectionPath": "<string>",
    "referenceCollectionUri": "<string>"
  },
  "inputSchema": {
    "type": "<string>",
    "title": "<string>",
    "description": "<string>",
    "format": "<string>",
    "properties": {},
    "items": "<unknown>",
    "additionalProperties": true,
    "enum": [
      "<string>"
    ],
    "referenceRecords": [
      {}
    ],
    "referenceCollection": {
      "key": {},
      "parameters": {}
    },
    "referenceUdm": "<string>",
    "default": {},
    "allowCustom": true,
    "required": [
      "<string>"
    ],
    "minLength": 123,
    "maxLength": 123,
    "minimum": 123,
    "maximum": 123,
    "maxItems": 123,
    "readOnly": true,
    "writeOnly": true,
    "examples": [
      {}
    ],
    "anyOf": "<array>",
    "isImplied": true,
    "isSensitive": true,
    "referenceCollectionPath": "<string>",
    "referenceCollectionUri": "<string>"
  },
  "parametersSchema": {
    "type": "<string>",
    "title": "<string>",
    "description": "<string>",
    "format": "<string>",
    "properties": {},
    "items": "<unknown>",
    "additionalProperties": true,
    "enum": [
      "<string>"
    ],
    "referenceRecords": [
      {}
    ],
    "referenceCollection": {
      "key": {},
      "parameters": {}
    },
    "referenceUdm": "<string>",
    "default": {},
    "allowCustom": true,
    "required": [
      "<string>"
    ],
    "minLength": 123,
    "maxLength": 123,
    "minimum": 123,
    "maximum": 123,
    "maxItems": 123,
    "readOnly": true,
    "writeOnly": true,
    "examples": [
      {}
    ],
    "anyOf": "<array>",
    "isImplied": true,
    "isSensitive": true,
    "referenceCollectionPath": "<string>",
    "referenceCollectionUri": "<string>"
  },
  "getCredentialsFromConnectionParameters": {},
  "refreshCredentials": {},
  "makeApiClient": {},
  "getOAuthConfig": {},
  "getTokenData": {},
  "getCredentialsFromAccessTokenResponse": {},
  "getCredentialsFromRefreshTokenResponse": {},
  "test": {},
  "disconnect": {},
  "proxyKey": "<string>",
  "options": {}
}

Documentation Index

Fetch the complete documentation index at: https://docs.getmembrane.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
name
string
required
key
string
logoUri
string
externalAppId
string
externalAppUuid
string
categories
string[]
type
enum<string>

Authentication protocol used by the connector.

Available options:
integration-app-token,
membrane-token,
oauth2,
oauth1,
client-credentials,
proxy
customCredentialsSchema
object

Additional JSON Schema for workspace-level overrides of credentials (e.g. BYO-OAuth clientId/clientSecret).

inputSchema
object

JSON Schema for end-user input collected during connection (e.g. an API key or subdomain the user types in).

parametersSchema
object
getCredentialsFromConnectionParameters
object

Function that derives auth credentials from connection parameters. Use for static-key auth (api-key, basic-auth) where the user-provided input IS the credential.

refreshCredentials
object

Function that refreshes expired credentials. Implement for non-standard OAuth refresh flows or when additional credentials need to be refreshed alongside the OAuth token.

makeApiClient
object

Function that configures the HTTP client used by operations, actions and data sources. Typically a mapping type with baseUri and auth header wiring.

getOAuthConfig
object

OAuth2: function returning { authorizeUri, tokenUri, scopes, noRefreshToken? } — the authorize/token endpoint URLs and requested scopes.

getTokenData
object

OAuth2: function invoked with the raw token response to extract token metadata. Rarely needed.

getCredentialsFromAccessTokenResponse
object

OAuth2: function that transforms the token endpoint response into the final credentials object. Required for multi-tenant APIs (Microsoft) or APIs that require post-OAuth bootstrap calls.

getCredentialsFromRefreshTokenResponse
object

OAuth2: function that transforms the refresh token endpoint response into the refreshed credentials. Required when refresh responses differ from initial-token responses.

test
object

Function that verifies the connection by making a lightweight authenticated API call (typically a rest-api-mapping against a /me-style endpoint).

disconnect
object

Function that revokes credentials at the provider when the connection is removed. Implement only if the provider exposes a revoke endpoint.

proxyKey
string

For type: "proxy" — identifies which proxy configuration the workspace should use.

options
object

Map of auth option key to auth configuration, for connectors that support multiple auth methods. Mutually exclusive with the top-level auth fields: use either the top-level fields (single-auth) OR options (multi-auth), not both.

uuid
string

Response

200 - application/json
id
string
required
key
string
required
uuid
string
required
name
string
required
logoUri
string
required
version
string
required
externalAppId
string
categories
string[]
isPublic
boolean
popularity
number
tenantId
string
archivedAt
string

When set, the connector is archived (soft-deleted).

baseUri
string
revision
string
dataCollectionsCount
number
operationsCount
number
eventsCount
number
udms
string[]
hasTest
boolean
hasAuthTest
boolean
hasOperations
boolean
hasData
boolean
isReadOnly
boolean
credentialsSchema
object
type
enum<string>

Authentication protocol used by the connector.

Available options:
integration-app-token,
membrane-token,
oauth2,
oauth1,
client-credentials,
proxy
customCredentialsSchema
object

Additional JSON Schema for workspace-level overrides of credentials (e.g. BYO-OAuth clientId/clientSecret).

inputSchema
object

JSON Schema for end-user input collected during connection (e.g. an API key or subdomain the user types in).

parametersSchema
object
getCredentialsFromConnectionParameters
object

Function that derives auth credentials from connection parameters. Use for static-key auth (api-key, basic-auth) where the user-provided input IS the credential.

refreshCredentials
object

Function that refreshes expired credentials. Implement for non-standard OAuth refresh flows or when additional credentials need to be refreshed alongside the OAuth token.

makeApiClient
object

Function that configures the HTTP client used by operations, actions and data sources. Typically a mapping type with baseUri and auth header wiring.

getOAuthConfig
object

OAuth2: function returning { authorizeUri, tokenUri, scopes, noRefreshToken? } — the authorize/token endpoint URLs and requested scopes.

getTokenData
object

OAuth2: function invoked with the raw token response to extract token metadata. Rarely needed.

getCredentialsFromAccessTokenResponse
object

OAuth2: function that transforms the token endpoint response into the final credentials object. Required for multi-tenant APIs (Microsoft) or APIs that require post-OAuth bootstrap calls.

getCredentialsFromRefreshTokenResponse
object

OAuth2: function that transforms the refresh token endpoint response into the refreshed credentials. Required when refresh responses differ from initial-token responses.

test
object

Function that verifies the connection by making a lightweight authenticated API call (typically a rest-api-mapping against a /me-style endpoint).

disconnect
object

Function that revokes credentials at the provider when the connection is removed. Implement only if the provider exposes a revoke endpoint.

proxyKey
string

For type: "proxy" — identifies which proxy configuration the workspace should use.

options
object