TemperStack
Intermediate8 min readUpdated Mar 18, 2026

How to leverage the Make API programmatically on Make

Quick Answer

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

  1. Basic understanding of REST APIs
  2. Make account with API access
  3. Knowledge of HTTP requests and JSON
  4. Programming experience in any language
1

Generate API Token in Make

Navigate to your Make dashboard and click on your profile icon in the top right corner. Select API from the dropdown menu. Click Create a token and provide a descriptive name. Copy the generated token immediately as it won't be shown again. Store this token securely as it provides full access to your Make account.
Tip
Create separate tokens for different applications or environments for better security management.
2

Set Up Authentication Headers

In your code, set up the authentication header for API requests. Use the format: 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'
}
Tip
Store your API token in environment variables rather than hardcoding it in your scripts.
3

List and Manage Organizations

Make a GET request to /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/users
Tip
Organization ID is required for most other API operations, so cache this value in your application.
4

Access and Control Scenarios

Use /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=123
Tip
Use the scenario status endpoint to check if a scenario is running before attempting to start or stop it.
5

Manage Scenario Runs and Logs

Monitor scenario executions with /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/789
Tip
Use pagination parameters (limit and offset) when fetching large numbers of runs to avoid timeouts.
6

Work with Data Stores

Access data stores via /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"
}
Tip
Data store operations support bulk actions - you can create, update, or delete multiple records in a single API call.
7

Handle Webhooks and Notifications

Set up webhook endpoints using /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
}
Tip
Always validate webhook signatures to ensure requests are genuinely from Make and not from malicious sources.

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.

Related Guides

More Make Tutorials

Other Tool Tutorials

Ready to get started with Make?

Put this tutorial into practice. Visit Make and follow the steps above.

Visit Make