How to leverage the Make API programmatically on Make
The Make API allows you to programmatically manage scenarios, organizations, and data stores. You'll need to authenticate with an API token, then use HTTP requests to interact with Make's endpoints for automation management.
Prerequisites
- Basic understanding of REST APIs
- Make account with API access
- Knowledge of HTTP requests and JSON
- Programming experience in any language
Step-by-Step Instructions
Generate API Token in Make
Set Up Authentication Headers
Authorization: Token YOUR_API_TOKEN. Set the Content-Type header to application/json for POST and PUT requests. The base URL for all API calls is https://us1.make.com/api/v2/ (adjust region as needed).headers = {
'Authorization': 'Token your_api_token_here',
'Content-Type': 'application/json'
}List and Manage Organizations
/organizations to retrieve all organizations you have access to. This returns organization IDs needed for other API calls. To get organization details, use /organizations/{orgId}. You can also list organization members with /organizations/{orgId}/users.GET https://us1.make.com/api/v2/organizations
GET https://us1.make.com/api/v2/organizations/123/usersAccess and Control Scenarios
/scenarios to list all scenarios in your organization. Get specific scenario details with /scenarios/{scenarioId}. Control scenario execution using /scenarios/{scenarioId}/start and /scenarios/{scenarioId}/stop endpoints. Clone scenarios with POST to /scenarios/{scenarioId}/clone.POST /scenarios/456/start
POST /scenarios/456/stop
GET /scenarios?orgId=123Manage Scenario Runs and Logs
/scenarios/{scenarioId}/runs to get execution history. Access detailed logs using /scenarios/{scenarioId}/runs/{runId}. Filter runs by date range using query parameters from and to. Get incomplete runs with /scenarios/{scenarioId}/runs?status=incomplete.GET /scenarios/456/runs?from=2026-01-01&to=2026-01-31
GET /scenarios/456/runs/789Work with Data Stores
/datastores to list all available stores. Get data store records with /datastores/{datastoreId}/data. Add new records using POST to the same endpoint with JSON payload. Update records with PUT to /datastores/{datastoreId}/data/{recordId}. Delete records with DELETE method.POST /datastores/321/data
{
"key": "value",
"timestamp": "2026-03-18"
}Handle Webhooks and Notifications
/hooks to receive real-time notifications about scenario events. Configure webhook URLs with POST to /hooks including url, events, and scenarioId. Verify webhook authenticity using the X-Make-Signature header. List existing webhooks with GET to /hooks.POST /hooks
{
"url": "https://your-app.com/webhook",
"events": ["scenario.started", "scenario.finished"],
"scenarioId": 456
}Common Issues & Troubleshooting
401 Unauthorized error when making API calls
Verify your API token is correct and hasn't expired. Ensure you're using the Authorization: Token format, not Bearer. Check that your Make account has API access enabled.
Rate limiting errors (429 Too Many Requests)
Implement exponential backoff in your requests. The Make API has rate limits of 60 requests per minute. Add delays between requests and respect the Retry-After header in responses.
Scenario operations failing with 403 Forbidden
Ensure you have proper permissions for the organization and scenario. Verify the orgId parameter is correct and you're a member of that organization with sufficient privileges.
Webhook not receiving events
Confirm your webhook URL is publicly accessible and returns a 200 status code. Check that the SSL certificate is valid. Verify the event types are correctly specified in your webhook configuration.