LogoLogo
Get support
  • Home
  • Make API
  • Make Bridge
  • White Label
  • MCP Server
  • Make API documentation
  • Getting started
    • Make API structure
    • HTTP methods
    • Making your first API request
    • Rate limiting
    • Resources
  • Authentication
    • Make roles and API scopes
    • Creating API token
    • Managing API token
    • Requesting an OAuth 2.0 client
    • OAuth 2.0 flow in the Make API
  • Pagination, sorting and filtering
    • Pagination and sorting
    • Filtering
  • Troubleshooting and error handling
    • HTTP status error codes
    • Troubleshooting
  • Client libraries
  • API Reference
    • Affiliate
    • Agents
    • Analytics
    • Audit logs
    • Cashier
    • Connections
    • Custom properties
    • Custom properties > Structure items
    • Data stores
    • Data stores > Data
    • Data structures
    • Devices
    • Devices > Incomings
    • Devices > Outgoing
    • Incomplete executions
    • Enums
    • Custom functions
    • General
    • Hooks
    • Hooks > Incomings
    • Hooks > Logs
    • Keys
    • Notifications
    • Organizations
    • Organizations > User organization roles
    • Remote procedures
    • Scenarios
    • Scenarios > Logs
    • Scenarios > Blueprints
    • Scenarios > Consumptions
    • Scenarios > Custom properties data
    • Scenarios folders
    • SDK Apps
    • SDK Apps > Invites
    • SDK Apps > Modules
    • SDK Apps > RPCs
    • SDK Apps > Functions
    • SDK Apps > Connections
    • SDK Apps > Webhooks
    • SSO certificates
    • Teams
    • Teams > User team roles
    • Templates
    • Templates > Public
    • Users
    • Users > Me
    • Users > API Tokens
    • Users > User team roles
    • Users > User team notifications
    • Users > User organization roles
    • Users > Roles
    • Users > Unread notifications
    • Users > User email preferences Mailhub
Powered by GitBook

Resources

  • Academy
  • Community
  • Help Center

Useful links

  • Support
  • Privacy Notice
  • Status Page
  • make.com

Follow us

  • LinkedIn
  • X (Twitter)
  • Facebook
  • Instagram

ยฉ 2025 make.com

On this page
Export as PDF
  1. API Reference

Connections

PreviousCashierNextCustom properties

In Make, you need to create a connection for most apps. Make then uses this connection to communicate with the third-party service and to authenticate your requests to the third-party service. The following endpoints allow you to create and manage connections.

List updatable connection parameters

get

Gets a list of connection parameters that can be updated. You can update a connection with the API call POST /connections/{connectionId}/set-data.

If the connection cannot be updated then the API call returns the error message "Cannot edit this connection." When this happens, create a new connection instead.

Authorizations
Path parameters
connectionIdintegerRequired

The ID of the connection. You can get connection ID's of all your connections with the the List connections endpoint.

Example: 128
Responses
200
Successful response
application/json
get
GET /api/v2/connections/{connectionId}/editable-data-schema HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Successful response

{
  "editableParameters": [
    "url",
    "apiKey"
  ]
}

Get connection details

get

Retrieves details of a connection with a given ID.

Authorizations
Path parameters
connectionIdintegerRequired

The ID of the connection. You can get connection ID's of all your connections with the the List connections endpoint.

Example: 128
Query parameters
Responses
200
Successful response
application/json
get
GET /api/v2/connections/{connectionId} HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Successful response

{
  "connection": {
    "id": 93,
    "name": "Google",
    "accountName": "google",
    "accountLabel": "Google",
    "packageName": null,
    "expire": null,
    "metadata": {
      "value": "tom@example.com",
      "type": "email"
    },
    "teamId": 4,
    "theme": "#fecd5f",
    "upgradeable": false,
    "scopesCnt": 5,
    "scoped": true,
    "accountType": "oauth",
    "editable": false,
    "uid": 123456,
    "scopes": [
      {
        "id": "https://www.googleapis.com/auth/userinfo.email",
        "name": "View user's email address",
        "account": "google"
      },
      {
        "id": "https://mail.google.com/",
        "name": "Access to Gmail.",
        "account": "google"
      },
      {
        "id": "openid",
        "account": "google"
      },
      {
        "id": "https://www.googleapis.com/auth/spreadsheets",
        "account": "google"
      },
      {
        "id": "https://www.googleapis.com/auth/drive",
        "name": "Access to Google Drive.",
        "account": "google"
      }
    ],
    "connectedSystemId": "4244156b-88cc-43cf-a5e9-e94bd0304745",
    "organizationId": 3
  }
}

Delete connection

delete

Deletes a connection with a given ID and returns the ID in the response.

Authorizations
Path parameters
connectionIdintegerRequired

The ID of the connection. You can get connection ID's of all your connections with the the List connections endpoint.

Example: 128
Query parameters
confirmedbooleanOptional

Confirms the deletion if the connection is included in at least one scenario. Confirmation is required because the scenario will stop working without the connection. If the parameter is missing or it is set to false an error code is returned and the resource is not deleted.

Example: true
Responses
200
Successful response
application/json
delete
DELETE /api/v2/connections/{connectionId} HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Successful response

{
  "connection": 1
}

Verify connection

post

Verifies the connection status. This endpoint usually communicates with the API of the app that includes the given connection and verifies if credentials saved in Make are still valid. It returns the confirmation if the connection is verified (true) or not (false).

Authorizations
Path parameters
connectionIdintegerRequired

The ID of the connection. You can get connection ID's of all your connections with the the List connections endpoint.

Example: 128
Responses
200
Successful response
application/json
post
POST /api/v2/connections/{connectionId}/test HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Successful response

{
  "verified": true
}
  • GETList connections
  • POSTCreate connection
  • GETList updatable connection parameters
  • POSTUpdate a connection
  • GETGet connection details
  • DELETEDelete connection
  • PATCHRename a connection
  • POSTVerify connection
  • POSTVerify if connection is scoped

List connections

get

Retrieves a collection of all connections for a team with a given ID. Returned connections are sorted by name in ascending order.

Authorizations
Query parameters
teamIdintegerRequired

The unique ID of the team whose connections will be retrieved.

Example: 22
type[]string[]Optional

Specifies the type of the connections to return details for. The connection type is defined in the accountName property and you can get it from the Get connection details endpoint.

Example: {"value":"airtable2"}
Responses
200
Successful response
application/json
get
GET /api/v2/connections HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Successful response

{
  "connections": [
    {
      "id": 2,
      "name": "My Airtable connection",
      "accountName": "airtable2",
      "accountLabel": "Airtable",
      "packageName": null,
      "expire": null,
      "metadata": null,
      "teamId": 22,
      "theme": "#18bfff",
      "upgradeable": false,
      "scopesCnt": 0,
      "scoped": true,
      "accountType": "basic",
      "editable": false,
      "uid": null,
      "connectedSystemId": "c5d8e134-d2f8-480d-9838-119a54f65d3e",
      "organizationId": 3
    },
    {
      "id": 15,
      "name": "My Google connection",
      "accountName": "google",
      "accountLabel": "Google",
      "packageName": null,
      "expire": null,
      "metadata": {
        "type": "email",
        "value": "test@mydomain.com"
      },
      "teamId": 22,
      "theme": "#fecd5f",
      "upgradeable": false,
      "scopesCnt": 4,
      "scoped": true,
      "accountType": "oauth",
      "editable": false,
      "uid": 225874569526501080000,
      "connectedSystemId": "4244156b-88cc-43cf-a5e9-e94bd0304745",
      "organizationId": 2343
    }
  ]
}

Create connection

post

Creates a new connection with data passed in the request body. In the response, it returns all details of the created connection.

Authorizations
Query parameters
teamIdintegerRequired

The unique ID of the team whose connections will be retrieved.

Example: 1
Body
accountNamestringOptional

The connection name. The name must be at most 128 characters long and does not need to be unique.

accountTypestringOptional

The connection type corresponding to the connected app. For some connection types, this property may require providing additional properties in the request body, such as clientId and clientSecret, in order to authorize the connection and make it functional.

scopesstring[]Optional

The connection scope determining the module use. The format and number of available scopes vary depending on the accountType parameter.

Other propertiesanyOptional
Responses
200
Successful response
application/json
post
POST /api/v2/connections HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 116

{
  "accountName": "Slack Test",
  "accountType": "slack",
  "clientId": 123456,
  "clientSecret": "secret",
  "scopes": [
    "chat:write"
  ]
}
200

Successful response

{
  "connection": {
    "id": 90,
    "name": "Slack test",
    "accountName": "slack",
    "accountLabel": "Slack",
    "packageName": null,
    "expire": null,
    "metadata": {
      "value": "Make User",
      "type": "string"
    },
    "teamId": 2,
    "theme": "#4a154b",
    "upgradeable": false,
    "scopes": 0,
    "scoped": true,
    "accountType": "oauth",
    "editable": false,
    "uid": 3243125312
  }
}

Update a connection

post

Updates the specified connection with data in the request body. Check which data you need to send to update the connection with the API call GET /connections/{connectionId}/editable-data-schema. The data might be different for each app and connection type.

The new connection data replace the original connection data. Make sure to provide all relevant data. If a field is missing in the request body, Make replaces the field in the new connection with an empty value.

For OAuth connections, you need to log in to Make and confirm the changes with the Reauthorize button. For the rest of the connection types, Make starts using the new connection data immediately.

If the connection cannot be updated then the API call returns the error message "Cannot edit this connection." When this happens, create a new connection instead.

Authorizations
Path parameters
connectionIdintegerRequired

The ID of the connection. You can get connection ID's of all your connections with the the List connections endpoint.

Example: 128
Body

The request body has to contain the parameters listed in the response from the API call GET /connections/{connectionId}/editable-data-schema and the new values associated with them.

Other propertiesanyOptional
Responses
200
Successful response
application/json
post
POST /api/v2/connections/{connectionId}/set-data HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 45

{
  "url": "example.com",
  "apiKey": "your-api-key"
}
200

Successful response

{
  "changed": true
}

Rename a connection

patch

Updates the specified connection's name. The response contains all information about the updated connection.

Authorizations
Path parameters
connectionIdintegerRequired

The ID of the connection. You can get connection ID's of all your connections with the the List connections endpoint.

Example: 128
Query parameters
Body
namestringOptional

The updated connection name. The name must be at most 128 characters long and does not need to be unique.

Responses
200
Successful response
application/json
patch
PATCH /api/v2/connections/{connectionId} HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 19

{
  "name": "New name"
}
200

Successful response

{
  "connection": {
    "id": 93,
    "name": "New Name",
    "accountName": "imap",
    "accountLabel": "Others (IMAP)",
    "packageName": null,
    "expire": null,
    "metadata": {
      "value": "tom@example.com",
      "type": "email"
    },
    "teamId": 4,
    "theme": "#eb5768",
    "upgradeable": false,
    "scopesCnt": 0,
    "scoped": true,
    "accountType": "basic",
    "editable": true,
    "uid": 123456
  }
}

Verify if connection is scoped

post

Verifies if a scope for a given connection is set. This endpoint returns the information if the connection is scoped (true) or not (false).

Authorizations
Path parameters
connectionIdintegerRequired

The ID of the connection. You can get connection ID's of all your connections with the the List connections endpoint.

Example: 128
Body
scopestring[]Optional

The array with IDs of the scopes for a given connection. The scope ID of a specific connection can be retrieved from the Get connection details endpoint.

Responses
200
Successful response
application/json
post
POST /api/v2/connections/{connectionId}/scoped HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 100

{
  "scope": [
    "https://www.googleapis.com/auth/userinfo.email",
    "https://www.googleapis.com/auth/drive"
  ]
}
200

Successful response

{
  "connection": {
    "scoped": false
  }
}