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
On this page
Export as PDF
  1. API Reference

Scenarios

PreviousRemote proceduresNextScenarios > Logs

Resources

  • Academy
  • Community
  • Help Center

Useful links

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

Follow us

  • LinkedIn
  • X (Twitter)
  • Facebook
  • Instagram

© 2025 make.com

Scenarios allow you to create and run automation tasks. A scenario consists of a series of modules that indicate how data should be transferred and transformed between apps or services. The following endpoints allow you to create, manage and execute scenarios and also inspect and manage scenario inputs.

Get scenario details

get

Retrieves all available properties of a scenario with a given ID. The returned details do not include a scenario blueprint. If you want to get a scenario blueprint, refer to the Get scenario blueprint endpoint.

Authorizations
Path parameters
scenarioIdintegerRequired

The ID of the scenario. You can get the scenarioId with the List scenarios API call.

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

Successful response

{
  "scenario": {
    "id": 925,
    "name": "New scenario",
    "teamId": 215,
    "hookId": null,
    "deviceId": null,
    "deviceScope": null,
    "concept": false,
    "description": "",
    "folderId": null,
    "isinvalid": false,
    "islinked": false,
    "isActive": false,
    "islocked": false,
    "isPaused": false,
    "usedPackages": [
      "json"
    ],
    "lastEdit": "2021-09-22T06:40:56.692Z",
    "scheduling": {
      "type": "indefinitely",
      "interval": 900
    },
    "iswaiting": false,
    "dlqCount": 0,
    "createdByUser": {
      "id": 985,
      "name": "John Doe",
      "email": "j.doe@example.com"
    },
    "updatedByUser": {
      "id": 986,
      "name": "John Foo",
      "email": "j.foo@example.com"
    },
    "nextExec": "2021-09-22T06:41:56.692Z",
    "created": "2021-10-22T06:41:56.692Z"
  }
}

Delete scenario

delete

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

Authorizations
Path parameters
scenarioIdintegerRequired

The ID of the scenario. You can get the scenarioId with the List scenarios API call.

Example: 112
Responses
200
Scenario deleted successfully
application/json
delete
DELETE /api/v2/scenarios/{scenarioId} HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Scenario deleted successfully

{
  "scenario": 1399
}

Get trigger details

get

Retrieves properties of a trigger included in a scenario with a given ID. A trigger is a module that is able to return bundles that were newly added or updated (depending on the settings) since the last run of the scenario. An example of a trigger is a hook.

Authorizations
Path parameters
scenarioIdintegerRequired

The ID of the scenario. You can get the scenarioId with the List scenarios API call.

Example: 112
Responses
200
Successful response
application/json
get
GET /api/v2/scenarios/{scenarioId}/triggers HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Successful response

{
  "id": 9765,
  "name": "WH1",
  "udid": "e7cq6zty4qcnq7fb83kzcdsgqniqtd5c",
  "scope": "hook",
  "queueCount": 0,
  "queueLimit": 100000,
  "typeName": "gateway-webhook",
  "type": "web",
  "flags": {},
  "url": "https://hook.make.com/e7cq6zty4qcnq7fb83kzcdsgqniqtd5c"
}

Check module data

get

Verifies whether the module data is set or not. This endpoint doesn't retrieve the module data.

Authorizations
Path parameters
scenarioIdintegerRequired

The ID of the scenario. You can get the scenarioId with the List scenarios API call.

Example: 112
moduleIdintegerRequired

The unique ID of the scenario module. It is available in the scenario blueprint that can be retrieved from the Get scenario blueprint endpoint.

Example: 1
Responses
200
Successful response
application/json
get
GET /api/v2/scenarios/{scenarioId}/data/{moduleId} HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Successful response

{
  "exists": true
}

Deactivate scenario

post

Deactivates and stops the specified scenario if the scenario is running. The API call response contains the scenario ID and the scenario isActive property set to false.

Authorizations
Path parameters
scenarioIdintegerRequired

The ID of the scenario. You can get the scenarioId with the List scenarios API call.

Example: 112
Responses
200
Successful response
application/json
post
POST /api/v2/scenarios/{scenarioId}/stop HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Successful response

{
  "scenario": {
    "id": 5,
    "isActive": false,
    "islinked": false
  }
}

List buildtime variables

get

Retrieves buildtime variables of a scenario with the given ID. Buildtime variables could be team or user defined, team defined ones are prefixed with a TAC_ and user defined variables are prefixed with a PAC_. TAC_s can be used within the scenario as per its input spec by the entire team, whereas PAC_s can only be used within the scenario by the user who added them.

Authorizations
Path parameters
scenarioIdintegerRequired

The ID of the scenario. You can get the scenarioId with the List scenarios API call.

Example: 112
Responses
200
Successful response
application/json
get
GET /api/v2/scenarios/{scenarioId}/build-variables HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Successful response

{
  "variables": {
    "input": {
      "myPersonalConn1": "PAC_123455551",
      "ourTeamConn1": "TAC_11112222"
    }
  }
}

Delete buildtime variable

delete

Deletes a buildtime variable with a given value for a scenario with a given ID and returns OK in the response.

Authorizations
Path parameters
scenarioIdintegerRequired

The ID of the scenario. You can get the scenarioId with the List scenarios API call.

Example: 112
Query parameters
valuestringOptional

The value of the buildtime variable

Example: PAC_123455551
Responses
200
Buildtime variable deleted successfully
application/json
delete
DELETE /api/v2/scenarios/{scenarioId}/build-variables HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Buildtime variable deleted successfully

{
  "ok": 1
}
  • GETList scenarios
  • POSTCreate scenario
  • GETGet scenario details
  • DELETEDelete scenario
  • PATCHUpdate scenario
  • GETGet trigger details
  • POSTClone scenario
  • GETCheck module data
  • POSTActivate scenario
  • POSTDeactivate scenario
  • POSTRun a scenario
  • GETGet scenario interface
  • PATCHUpdate scenario interface
  • GETGet scenario usage
  • GETList buildtime variables
  • POSTAdd new buildtime variables to scenario metadata
  • PUTUpdate buildtime variables in scenario metadata
  • DELETEDelete buildtime variable

List scenarios

get

Retrieves a collection of all scenarios for a team or an organization with a given ID. Returned scenarios are sorted by proprietary setting in descending order.

Authorizations
Query parameters
teamIdintegerRequired

The unique ID of the team whose scenarios will be retrieved. If this parameter is set, the organizationId parameter must be skipped. For each request either teamId or organizationId must be defined.

Example: 1
organizationIdintegerOptional

The unique ID of the organization whose scenarios will be retrieved. If this parameter is set, the teamId parameter must be skipped. For each request either teamId or organizationId must be defined.

Example: 11
id[]integer[]Optional

The array of IDs of scenarios to retrieve.

Example: [1,2,3]
folderIdintegerOptional

The unique ID of the folder containing scenarios you want to retrieve.

Example: 1
isActivebooleanOptional

Set this parameter to true to get only active scenarios in the response.

Example: true
islinkedbooleanOptionalDeprecated

This parameter is deprecated. Use the isActive parameter to filter for active scenarios instead.

Example: true
conceptbooleanOptional

If set to true, the response contains only scenario concepts.

Example: true
pg[offset]integerOptional

The number of entities you want to skip before getting entities you want.

pg[limit]integerOptional

The maximum number of entities you want to get in the response.

pg[sortBy]string · enumOptional

The value that will be used to sort returned entities by.

Possible values:
pg[sortDir]string · enumOptional

The sorting order. It accepts the ascending and descending direction specifiers.

Possible values:
Responses
200
Retrieved scenarios
application/json
get
GET /api/v2/scenarios HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Retrieved scenarios

{
  "scenarios": [
    {
      "id": 925,
      "name": "New scenario",
      "teamId": 215,
      "hookId": null,
      "deviceId": null,
      "deviceScope": null,
      "concept": false,
      "description": "",
      "folderId": null,
      "isinvalid": false,
      "islinked": false,
      "isActive": false,
      "islocked": false,
      "isPaused": false,
      "usedPackages": [
        "json"
      ],
      "lastEdit": "2021-09-22T06:40:56.692Z",
      "scheduling": {
        "type": "indefinitely",
        "interval": 900
      },
      "iswaiting": false,
      "dlqCount": 0,
      "createdByUser": {
        "id": 985,
        "name": "John Doe",
        "email": "j.doe@example.com"
      },
      "updatedByUser": {
        "id": 986,
        "name": "John Foo",
        "email": "j.foo@example.com"
      },
      "nextExec": "2021-09-22T06:41:56.692Z",
      "created": "2021-10-22T06:41:56.692Z"
    }
  ],
  "pg": {
    "sortBy": "id",
    "sortDir": "desc",
    "offset": 0,
    "limit": 10
  }
}

Create scenario

post

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

Authorizations
Query parameters
confirmedbooleanOptional

If set to true this parameter confirms the scenario creation when the scenario contains the app that is used in the organization for the first time and needs installation. If the parameter is missing or it is set to false an error code is returned and the scenario is not created.

Example: true
Body
blueprintstringRequired

The scenario blueprint. To save resources, the blueprint is sent as a string, not as an object.

teamIdintegerRequired

The unique ID of the team in which the scenario will be created.

schedulingstringRequired

The scenario scheduling details. To save resources, the scheduling details are sent as a string, not as an object.

folderIdintegerOptional

The unique ID of the folder in which you want to store created scenario.

basedonintegerOptional

Defines if the scenario is created based on a template. The value is the template ID.

Responses
200
Scenario created successfully
application/json
post
POST /api/v2/scenarios HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 730

{
  "blueprint": "{ \"name\": \"Empty integration\", \"flow\": [ { \"id\": 2, \"module\": \"json:ParseJSON\", \"version\": 1, \"metadata\": { \"designer\": { \"x\": -46, \"y\": 47, \"messages\": [ { \"category\": \"last\", \"severity\": \"warning\", \"message\": \"A transformer should not be the last module in the route.\" } ] } } } ], \"metadata\": { \"version\": 1, \"scenario\": { \"roundtrips\": 1, \"maxErrors\": 3, \"autoCommit\": true, \"autoCommitTriggerLast\": true, \"sequential\": false, \"confidential\": false, \"dataloss\": false, \"dlq\": false, \"freshVariables\": false }, \"designer\": { \"orphans\": [ ] } } }",
  "teamId": 1,
  "scheduling": "{ \"type\": \"indefinitely\", \"interval\": 900 }",
  "folderId": 1,
  "basedon": 20
}
200

Scenario created successfully

{
  "scenario": {
    "id": 925,
    "name": "New scenario",
    "teamId": 215,
    "hookId": null,
    "deviceId": null,
    "deviceScope": null,
    "concept": false,
    "description": "",
    "folderId": null,
    "isinvalid": false,
    "islinked": false,
    "isActive": false,
    "islocked": false,
    "isPaused": false,
    "usedPackages": [
      "json"
    ],
    "lastEdit": "2021-09-22T06:40:56.692Z",
    "scheduling": {
      "type": "indefinitely",
      "interval": 900
    },
    "iswaiting": false,
    "dlqCount": 0,
    "createdByUser": {
      "id": 985,
      "name": "John Doe",
      "email": "j.doe@example.com"
    },
    "updatedByUser": {
      "id": 986,
      "name": "John Foo",
      "email": "j.foo@example.com"
    },
    "nextExec": "2021-09-22T06:41:56.692Z",
    "created": "2021-10-22T06:41:56.692Z"
  }
}

Update scenario

patch

Updates a scenario with a given ID by passing new values in the request body. Any property that is not provided will be left unchanged. In the response, it returns all details of the updated scenario including properties that were not changed.

Authorizations
Path parameters
scenarioIdintegerRequired

The ID of the scenario. You can get the scenarioId with the List scenarios API call.

Example: 112
Query parameters
confirmedbooleanOptional

If set to true this parameter confirms the scenario update when the scenario contains the app that is used in the organization for the first time and needs installation. If the parameter is missing or it is set to false an error code is returned and the scenario is not updated.

Example: true
Body
blueprintstringOptional

The scenario blueprint. To save resources, the blueprint is sent as a string, not as an object.

schedulingstringOptional

The scenario scheduling details. To save resources, the scheduling details are sent as a string, not as an object.

folderIdintegerOptional

The unique ID of the folder in which you want to store created scenario.

namestringOptional

A new name of the scenario. The name does not need to be unique.

Responses
200
Scenario was updated successfully
application/json
patch
PATCH /api/v2/scenarios/{scenarioId} HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 734

{
  "blueprint": "{ \"name\": \"Empty integration\", \"flow\": [ { \"id\": 2, \"module\": \"json:ParseJSON\", \"version\": 1, \"metadata\": { \"designer\": { \"x\": -46, \"y\": 47, \"messages\": [ { \"category\": \"last\", \"severity\": \"warning\", \"message\": \"A transformer should not be the last module in the route.\" } ] } } } ], \"metadata\": { \"version\": 1, \"scenario\": { \"roundtrips\": 1, \"maxErrors\": 3, \"autoCommit\": true, \"autoCommitTriggerLast\": true, \"sequential\": false, \"confidential\": false, \"dataloss\": false, \"dlq\": false, \"freshVariables\": false }, \"designer\": { \"orphans\": [ ] } } }",
  "scheduling": "{ \"type\": \"indefinitely\", \"interval\": 900 }",
  "folderId": 1,
  "name": "My New Integration"
}
200

Scenario was updated successfully

{
  "scenario": {
    "id": 925,
    "name": "New scenario",
    "teamId": 215,
    "hookId": null,
    "deviceId": null,
    "deviceScope": null,
    "concept": false,
    "description": "",
    "folderId": null,
    "isinvalid": false,
    "islinked": false,
    "isActive": false,
    "islocked": false,
    "isPaused": false,
    "usedPackages": [
      "json"
    ],
    "lastEdit": "2021-09-22T06:40:56.692Z",
    "scheduling": {
      "type": "indefinitely",
      "interval": 900
    },
    "iswaiting": false,
    "dlqCount": 0,
    "createdByUser": {
      "id": 985,
      "name": "John Doe",
      "email": "j.doe@example.com"
    },
    "updatedByUser": {
      "id": 986,
      "name": "John Foo",
      "email": "j.foo@example.com"
    },
    "nextExec": "2021-09-22T06:41:56.692Z",
    "created": "2021-10-22T06:41:56.692Z"
  }
}

Clone scenario

post

Clones the specified scenario. The response contains all information about the scenario clone.

You have to know which app integrations the scenario contains. You can get a list of apps used in the scenario with the API call GET /scenarios/{scenarioId} in the usedPackages array.

If you are cloning the scenario to a different team and the scenario contains an app module, webhook or data store, you have to either:

  • map the entity ID to a different entity with the correct properties. For example, you can map an app module connection to a different connection of the same app with the same scopes, or

  • use the notAnalyze query parameter to turn off the scenario clone blueprint analysis.

When you turn off the scenario blueprint analysis you can map the entity ID to the null value, which omits the entity settings.

The scenario blueprint analysis makes sure that the scenario clone will work without further changes. If you turn off the scenario blueprint analysis, check the configuration of all entities in the scenario clone.

If you are cloning the scenario to a different team and the scenario contains a custom app or a custom function, which is not available for the users in the team, use the confirmed query parameter to confirm cloning of the scenario. Otherwise, you get an error listing the custom function that you have to create in the team.

Refer to the request body parameters description and examples for more information.

Authorizations
Path parameters
scenarioIdintegerRequired

The ID of the scenario. You can get the scenarioId with the List scenarios API call.

Example: 112
Query parameters
organizationIdintegerRequired

The ID of the organization.

Example: 11
confirmedbooleanOptional

If the scenario contains a custom app or a custom function, that is not available in the team, you have to set the confirmed parameter to true to clone the scenario. Otherwise you get an error and the scenario is not cloned.

Example: {"value":true}
notAnalyzebooleanOptional

If you are cloning a scenario to a different team, you have to map the scenario entities (connections, data stores, webhooks, ...) from the original to the clone. If you cannot map all of the scenario entities, set the notAnalyze parameter to true to suppress the scenario blueprint analysis.

Example: {"value":true}
Body
namestringRequired

The name for the scenario clone. The maximum length of the name is 120 characters.

teamIdintegerRequired

The ID of the team to which you want to clone the scenario.

statesbooleanRequired

Set to true to clone also states of the scenario modules, for example last scenario trigger execution. Setting to false resets the state information of the scenario modules in the scenario clone.

Responses
200
Successful response
application/json
post
POST /api/v2/scenarios/{scenarioId}/clone HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 199

{
  "name": "Scenario clone",
  "teamId": 20030,
  "states": true,
  "account": {
    "4400": 5564,
    "5500": 7542
  },
  "key": {
    "4383": 465
  },
  "hook": {
    "11899": 11900
  },
  "device": {
    "432": 116
  },
  "udt": {
    "4130": 5698
  },
  "datastore": {
    "3572": 4587
  }
}
200

Successful response

{
  "id": 925,
  "name": "Scenario clone",
  "teamId": 20030,
  "hookId": 11900,
  "deviceId": 116,
  "deviceScope": null,
  "concept": false,
  "description": "",
  "folderId": null,
  "isinvalid": false,
  "isActive": false,
  "islinked": false,
  "islocked": false,
  "isPaused": false,
  "usedPackages": [
    "gateway",
    "airtable",
    "datastore",
    "google-sheets",
    "util"
  ],
  "lastEdit": "2021-09-22T06:40:56.692Z",
  "scheduling": {
    "type": "indefinitely",
    "interval": 900
  },
  "iswaiting": false,
  "dlqCount": 0,
  "createdByUser": {
    "id": 985,
    "name": "John Doe",
    "email": "j.doe@example.com"
  },
  "updatedByUser": {
    "id": 986,
    "name": "John Foo",
    "email": "j.foo@example.com"
  },
  "nextExec": "2021-09-22T06:41:56.692Z"
}

Run a scenario

post

Runs the specified scenario. The scenario has to be active. If your scenario has required scenario inputs you have to provide the scenario inputs in the request body.

Authorizations
Path parameters
scenarioIdintegerRequired

The ID of the scenario. Get the ID of the scenario with the API call GET /scenarios.

Example: 111
Body
dataobjectOptional

If your scenario has inputs specify the input parameters and values in the data object.

responsivebooleanOptional

If set to true the Make API waits until the scenario finishes. The response contains the scenario status and executionId. If the scenario execution takes longer than 40 seconds, the API call returns the time out error, but the scenario is still executed.

If set to false the API call returns immediately without waiting. The response contains only the executionId.

Default: false
Responses
200
Successful response
application/json
post
POST /api/v2/scenarios/{scenarioId}/run HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 118

{
  "data": {
    "Test input": "Test value",
    "My array": [
      "test 1",
      "test 2"
    ],
    "My collection": {
      "key": "value"
    }
  },
  "responsive": false
}
200

Successful response

{
  "executionId": "9c4874979d974c3ebdef1e8aaa7dc452"
}

Add new buildtime variables to scenario metadata

post

Adds new buildtime team or user defined variable/s. Buildtime variables should be prefixed either with a TAC_ (for team defined variables) or with a PAC_ (for personal user defined variables), followed by the connection value. If a variable already exists, an error will be thrown. If a variable's name is not within scenario input specification, an error will be thrown. If the adding of new variables was successful the reponse would be OK.

Authorizations
Path parameters
scenarioIdintegerRequired

The ID of the scenario. You can get the scenarioId with the List scenarios API call.

Example: 112
Body
Responses
200
Buildtime variables added successfully
application/json
post
POST /api/v2/scenarios/{scenarioId}/build-variables HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 62

{
  "input": [
    {
      "name": "myPersonalConn1",
      "value": "PAC_123455552"
    }
  ]
}
200

Buildtime variables added successfully

{
  "ok": 1
}

Update buildtime variables in scenario metadata

put

Updates team or user defined buildtime variable/s. The endpoint updates and overwrites exsiting records with the newly provided values, meaning any existing buildtime variable which is not provided through the payload will be overwritten. Buildtime variables should be prefixed either with a TAC_ (for team defined variables) or with a PAC_ (for personal user defined variables), followed by the connection value. If a variable doesn't exist, it will be added provided that its name is within the scenario input specification. If the updating of variables was successful the reponse would be OK.

Authorizations
Path parameters
scenarioIdintegerRequired

The ID of the scenario. You can get the scenarioId with the List scenarios API call.

Example: 112
Body
Responses
200
Buildtime variables updated successfully
application/json
put
PUT /api/v2/scenarios/{scenarioId}/build-variables HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 109

{
  "input": [
    {
      "name": "myPersonalConn1",
      "value": "PAC_123455552"
    },
    {
      "name": "ourTeamConn1",
      "value": "TAC_11112222"
    }
  ]
}
200

Buildtime variables updated successfully

{
  "ok": 1
}

Activate scenario

post

Activates the specified scenario. Also runs the scenario if the scenario is scheduled to run at regular intervals. Read more about .

The API call response contains the scenario ID and the scenario isActive property set to true.

Authorizations
Path parameters
scenarioIdintegerRequired

The ID of the scenario. You can get the scenarioId with the List scenarios API call.

Example: 112
Responses
200
Successful response
application/json
post
POST /api/v2/scenarios/{scenarioId}/start HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Successful response

{
  "scenario": {
    "id": 5,
    "isActive": true,
    "islinked": true
  }
}

Get scenario interface

get

Retrieves scenario inputs specification of the specified scenario. Check out the in the Make help center.

The scenario inputs feature requires your account to have the pricing plan Pro or higher.

Authorizations
Path parameters
scenarioIdintegerRequired

The ID of the scenario. Get the list of scenarios with the API call GET /scenarios.

Example: 111
Responses
200
Successful response
application/json
get
GET /api/v2/scenarios/{scenarioId}/interface HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Successful response

{
  "interface": {
    "input": [
      {
        "name": "email",
        "type": "text",
        "default": null,
        "required": false,
        "multiline": false
      }
    ],
    "output": null
  }
}

Get scenario usage

get

Retrieves a list of daily operations and data transfer usage for a specified scenario over the past 30 days.

By default, the endpoint uses the timezone of the user making the API call to define the start and end of each day in the 30-day timeframe.

To use the organization's timezone instead, set the organizationTimezone parameter to true. This ensures that the daily aggregates align with the organization's operational hours. This is especially useful for scenarios where aggregated data needs to align with the organization's operational hours.

For instance, a remote data analyst in India working for a Czech company can set organizationTimezone=true to ensure the usage data reflects the company's timezone, providing more relevant and accurate insights for organizational reporting and analysis.

For more information on timezones in Make, please refer to our .

Authorizations
Path parameters
scenarioIdintegerRequired

The ID of the scenario. You can get the scenarioId with the List scenarios API call.

Example: 112
Query parameters
organizationTimezonebooleanOptional

When set to true, the endpoint will calculate and return usage data based on the organization's timezone instead of the user's local timezone.

Example: true
Responses
200
Successfully retrieved usage data
application/json
get
GET /api/v2/scenarios/{scenarioId}/usage HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Successfully retrieved usage data

{
  "data": [
    {
      "date": "2024-05-30",
      "operations": 9,
      "dataTransfer": 135
    },
    {
      "date": "2024-05-31",
      "operations": 15,
      "dataTransfer": 157
    }
  ]
}

Update scenario interface

patch

Updates specification of the scenario inputs. Check out the in the Make help center.

If you want to enable the scenario inputs you have to set the scenario scheduling to "On demand" first, otherwise you get error 422 (IM016). You can use the API call:

PATCH /scenarios/{scenarioId}?confirmed=true

with the request body:

{"scheduling": "{\"type\":\"on-demand\"}"}

You can disable inputs for the specified scenario by sending a payload with an empty input array.

The response contains the updated scenario inputs specification.

The scenario inputs feature requires your account to have the pricing plan Pro or higher.

Authorizations
Path parameters
scenarioIdintegerRequired

The ID of the scenario. Get the list of scenarios with the API call GET /scenarios.

Example: 111
Body
Responses
200
Successful response
application/json
patch
PATCH /api/v2/scenarios/{scenarioId}/interface HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 546

{
  "interface": {
    "input": [
      {
        "name": "userName",
        "type": "text",
        "default": "John Doe",
        "required": true,
        "multiline": false
      },
      {
        "name": "employeeID",
        "type": "number",
        "default": null,
        "required": false
      },
      {
        "name": "enabledApps_array",
        "spec": {
          "type": "text",
          "default": "Salesforce",
          "required": true,
          "multiline": false
        },
        "type": "array"
      },
      {
        "name": "myTestInput4_collection",
        "spec": [
          {
            "name": "accountName",
            "type": "text",
            "default": "John Doe",
            "required": true,
            "multiline": false
          },
          {
            "name": "accountID",
            "type": "number",
            "default": null,
            "required": true
          }
        ],
        "type": "collection"
      }
    ],
    "output": null
  }
}
200

Successful response

{
  "interface": {
    "input": [
      {
        "name": "userName",
        "type": "text",
        "default": "John Doe",
        "required": true,
        "multiline": false
      },
      {
        "name": "employeeID",
        "type": "number",
        "default": null,
        "required": false
      },
      {
        "name": "enabledApps_array",
        "spec": {
          "type": "text",
          "default": "Salesforce",
          "required": true,
          "multiline": false
        },
        "type": "array"
      },
      {
        "name": "myTestInput4_collection",
        "spec": [
          {
            "name": "accountName",
            "type": "text",
            "default": "John Doe",
            "required": true,
            "multiline": false
          },
          {
            "name": "accountID",
            "type": "number",
            "default": null,
            "required": true
          }
        ],
        "type": "collection"
      }
    ],
    "output": null
  }
}
scenario scheduling
scenario inputs documentation
Read more about Make pricing.
scenario inputs documentation
Read more about Make pricing.
Help Center article