Make API
Use the Make API via direct curl calls to manage scenarios, organizations, teams, connections, data stores, and webhooks on the Make automation platform.
Official docs:
https://developers.make.com/api-documentation
When to Use
Use this skill when you need to:
- List, create, run, and manage automation scenarios
- Control scenario execution (start, stop, run on demand, replay)
- Manage organizations and teams including users and roles
- Configure connections and webhooks for integrations
- Work with data stores for persistent data across scenarios
Prerequisites
- Log in to your Make account
- Go to your profile icon > Profile > API Access
- Click Add token, enter a name, and select the required scopes
- Copy the generated API token
export MAKE_TOKEN="your-api-token"
API Base URLs
Your base URL depends on your Make zone. Check your Make dashboard URL to determine your zone.
| Zone | Base URL |
|------|----------|
| EU1 | https://eu1.make.com/api/v2 |
| EU2 | https://eu2.make.com/api/v2 |
| US1 | https://us1.make.com/api/v2 |
| US2 | https://us2.make.com/api/v2 |
All examples below use https://eu1.make.com/api/v2. Replace with your zone URL as needed.
How to Use
All examples below assume you have MAKE_TOKEN set. Authentication uses Token scheme in the Authorization header.
1. Get Current User Info
Retrieve information about the authenticated user.
curl -s "https://eu1.make.com/api/v2/users/me" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq .
2. List Organizations
Retrieve all organizations the user belongs to.
curl -s "https://eu1.make.com/api/v2/organizations" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.organizations'
3. List Teams
Get all teams in an organization. Replace ORG_ID with the organization ID.
curl -s "https://eu1.make.com/api/v2/organizations/ORG_ID/teams" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.teams'
4. List Scenarios
Retrieve all scenarios for a team. Replace TEAM_ID with the team ID.
curl -s "https://eu1.make.com/api/v2/scenarios?teamId=TEAM_ID" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.scenarios[] | {id, name, isEnabled, scheduling}'
Paginate with pg[offset] and pg[limit]:
curl -s "https://eu1.make.com/api/v2/scenarios?teamId=TEAM_ID&pg%5Boffset%5D=0&pg%5Blimit%5D=20" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.scenarios[] | {id, name}'
5. Get Scenario Details
Retrieve details of a specific scenario. Replace SCENARIO_ID with the scenario ID.
curl -s "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.scenario'
6. Create a Scenario
Create a new scenario in a team.
Write to /tmp/make_request.json:
{
"teamId": 123,
"name": "My New Scenario",
"blueprint": "{\"name\":\"My New Scenario\",\"flow\":[],\"metadata\":{\"version\":1}}"
}
Then run:
curl -s -X POST "https://eu1.make.com/api/v2/scenarios" --header "Content-Type: application/json" --header "Authorization: Token $(printenv MAKE_TOKEN)" -d @/tmp/make_request.json | jq .
7. Update a Scenario
Update scenario properties (name, scheduling, etc.).
Write to /tmp/make_request.json:
{
"name": "Updated Scenario Name"
}
Then run:
curl -s -X PATCH "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID" --header "Content-Type: application/json" --header "Authorization: Token $(printenv MAKE_TOKEN)" -d @/tmp/make_request.json | jq .
8. Start a Scenario
Activate a scenario so it runs on its schedule.
curl -s -X POST "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/start" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq .
9. Stop a Scenario
Deactivate a running scenario.
curl -s -X POST "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/stop" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq .
10. Run a Scenario On Demand
Execute a scenario immediately. The scenario must be active.
curl -s -X POST "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/run" --header "Content-Type: application/json" --header "Authorization: Token $(printenv MAKE_TOKEN)" -d '{}' | jq .
Run with input data:
Write to /tmp/make_request.json:
{
"data": {
"key1": "value1",
"key2": "value2"
}
}
Then run:
curl -s -X POST "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/run" --header "Content-Type: application/json" --header "Authorization: Token $(printenv MAKE_TOKEN)" -d @/tmp/make_request.json | jq .
11. Clone a Scenario
Duplicate an existing scenario.
Write to /tmp/make_request.json:
{
"name": "Cloned Scenario",
"teamId": 123
}
Then run:
curl -s -X POST "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/clone" --header "Content-Type: application/json" --header "Authorization: Token $(printenv MAKE_TOKEN)" -d @/tmp/make_request.json | jq .
12. Delete a Scenario
Remove a scenario permanently.
curl -s -X DELETE "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq .
13. Get Scenario Usage
Retrieve 30-day usage analytics (operations, data transfer, centicredits).
curl -s "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/usage" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq .
14. Get Scenario Logs
Retrieve execution logs for a scenario.
curl -s "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/logs" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.scenarioLogs[] | {id, status, duration, operations}'
15. List Connections
Retrieve all connections for a team.
curl -s "https://eu1.make.com/api/v2/connections?teamId=TEAM_ID" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.connections[] | {id, name, accountName, accountType}'
16. List Webhooks (Hooks)
Get all webhooks for a team.
curl -s "https://eu1.make.com/api/v2/hooks?teamId=TEAM_ID" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.hooks[] | {id, name, url, enabled}'
17. List Data Stores
Get all data stores for a team.
curl -s "https://eu1.make.com/api/v2/data-stores?teamId=TEAM_ID" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.dataStores[] | {id, name, records, size}'
18. Get Data Store Records
Retrieve records from a data store.
curl -s "https://eu1.make.com/api/v2/data-stores/DATASTORE_ID/data" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.records'
19. Create Data Store Record
Add a record to a data store.
Write to /tmp/make_request.json:
{
"key": "record-key-1",
"data": {
"field1": "value1",
"field2": "value2"
}
}
Then run:
curl -s -X POST "https://eu1.make.com/api/v2/data-stores/DATASTORE_ID/data" --header "Content-Type: application/json" --header "Authorization: Token $(printenv MAKE_TOKEN)" -d @/tmp/make_request.json | jq .
20. List Scenario Folders
Get all scenario folders for a team.
curl -s "https://eu1.make.com/api/v2/scenarios-folders?teamId=TEAM_ID" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.scenariosFolders[] | {id, name}'
Guidelines
- Zone selection: Always use the correct zone base URL matching your Make account. Check your dashboard URL to determine your zone (eu1, eu2, us1, or us2)
- Token scopes: API tokens require specific scopes. Ensure your token has the necessary scopes for the endpoints you use
- Pagination: Use
pg[offset]andpg[limit]query parameters for paginated endpoints. URL-encode brackets as%5Band%5D - Column selection: Use
cols[]parameter to request only specific fields in responses - Team context: Most resources belong to a team. Include
teamIdin queries to scope results - Scenario activation: Scenarios must be active (started) before they can be run on demand
- Blueprint format: When creating scenarios, the blueprint is passed as a JSON string (stringified JSON within JSON)
- Rate limits: Make enforces API rate limits. Implement backoff if you receive HTTP 429 responses