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

Templates

PreviousTeams > User team rolesNextTemplates > Public

The Templates feature allows you to create and use templates as a starting point for your Make scenarios. By default, Make offers hundreds of templates containing the scenarios of most-used apps. The following endpoints allow you to create and manage templates.

Get template details

get

Retrieves details of a template with a given ID.

Authorizations
Path parameters
templateIdintegerRequired

The unique ID of the private template. It can be retrieved from the List templates endpoint.

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

Successful response

{
  "template": {
    "id": 164,
    "name": "Published, approved, waiting for approval"
  }
}

Delete template

delete

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

Authorizations
Path parameters
templateIdintegerRequired

The unique ID of the private template. It can be retrieved from the List templates endpoint.

Example: 164
Query parameters
confirmedbooleanOptional

Confirms the deletion of the private or published template. If the parameter is missing or it is set to false an error code is returned and the resource is not deleted. The public (approved) templates can only be deleted by administrators.

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

Successful response

{
  "template": 164
}

Get template blueprint

get

Retrieves a blueprint of a template with a given ID.

Authorizations
Path parameters
templateIdintegerRequired

The unique ID of the private template. It can be retrieved from the List templates endpoint.

Example: 164
Query parameters
forUsebooleanOptional

If this parameter is set to true, it means the blueprint should be used for creating a scenario from the template.

Example: true
templatePublicIdintegerOptional

The unique ID of the public version of the approved template. It can be retrieved from the List templates endpoint as one of the following IDs: publishedId for all published templates that are waiting for approval or not, or approvedId for approved templates.

Example: 18
Responses
200
Successful response
application/json
get
GET /api/v2/templates/{templateId}/blueprint HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Successful response

{
  "blueprint": {
    "flow": [
      {
        "id": 1,
        "mapper": {
          "url": "https://seznam.cz",
          "method": "get",
          "shareCookies": false
        },
        "module": "http:ActionGetFile",
        "version": 3,
        "metadata": {
          "expect": [
            {
              "name": "url",
              "type": "url",
              "label": "URL",
              "required": true
            },
            {
              "name": "method",
              "type": "hidden",
              "label": "Method"
            },
            {
              "name": "shareCookies",
              "type": "boolean",
              "label": "Share cookies with other HTTP modules",
              "required": true
            }
          ],
          "designer": {
            "x": 0,
            "y": 0
          },
          "parameters": [
            {
              "name": "handleErrors",
              "type": "boolean",
              "label": "Evaluate all states as errors (except for 2xx and 3xx )",
              "required": true
            }
          ]
        },
        "parameters": {
          "handleErrors": false
        }
      }
    ],
    "metadata": {
      "version": 1,
      "designer": {
        "orphans": []
      },
      "scenario": {
        "dlq": false,
        "dataloss": false,
        "maxErrors": 3,
        "autoCommit": true,
        "roundtrips": 1,
        "sequential": false,
        "confidential": false,
        "autoCommitTriggerLast": true
      }
    }
  },
  "controller": {
    "name": "Template name",
    "modules": {},
    "idSequence": 2
  },
  "scheduling": {
    "type": "indefinitely",
    "interval": 1000
  },
  "language": "en"
}

Publish template

post

Publishes a private template with a given ID. In the response, it returns all details of the template.

Authorizations
Path parameters
templateIdintegerRequired

The unique ID of the private template. It can be retrieved from the List templates endpoint.

Example: 164
Query parameters
Body
Responses
200
Successful response
application/json
post
POST /api/v2/templates/{templateId}/publish HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Successful response

{
  "template": {
    "id": 164,
    "name": "Renamed template",
    "teamId": 1,
    "description": null,
    "usedApps": [
      "http"
    ],
    "public": true,
    "published": "2020-12-03T14:11:08.327Z",
    "approved": null,
    "approvedId": null,
    "requestedApproval": false,
    "publishedId": 48,
    "publicUrl": "48-renamed-template",
    "approvedName": null,
    "publishedName": "Renamed template"
  }
}

Request approval

post

Requests approval of the published template with the given IDs of its private and published versions. In the response, it returns all details of the template.

Authorizations
Path parameters
templateIdintegerRequired

The unique ID of the private template. It can be retrieved from the List templates endpoint.

Example: 164
Query parameters
templatePublicIdintegerOptional

The unique ID of the public version of the approved template. It can be retrieved from the List templates endpoint as one of the following IDs: publishedId for all published templates that are waiting for approval or not, or approvedId for approved templates.

Example: 18
Responses
200
Successful response
application/json
post
POST /api/v2/templates/{templateId}/request-approval HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Successful response

{
  "template": {
    "id": 164,
    "name": "Renamed template",
    "teamId": 1,
    "description": null,
    "usedApps": [
      "http"
    ],
    "public": true,
    "published": "2020-12-03T14:11:08.327Z",
    "approved": null,
    "approvedId": null,
    "requestedApproval": true,
    "publishedId": 48,
    "publicUrl": "48-renamed-template",
    "approvedName": null,
    "publishedName": "Renamed template"
  }
}
  • GETList templates
  • POSTCreate template
  • GETGet template details
  • DELETEDelete template
  • PATCHUpdate template
  • GETGet template blueprint
  • POSTPublish template
  • POSTRequest approval

List templates

get

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

Authorizations
Query parameters
teamIdintegerOptional

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

Example: 1
publicbooleanOptional

Indicates if the template is public which means that it was published and approved, and can be accessed by anyone.

Example: true
usedApps[]string[]Optional

The array with the text IDs of the apps used in the templates. This parameter allows you to get only the templates containing specific apps.

Example: ["http"]
pg[sortBy]stringOptional

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

pg[offset]integerOptional

The value of entities you want to skip before getting entities you need.

pg[sortDir]string · enumOptional

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

Possible values:
pg[limit]integerOptional

Sets the maximum number of results per page in the API call response. For example, pg[limit]=100. The default number varies with different API endpoints.

Responses
200
Successful response
application/json
get
GET /api/v2/templates HTTP/1.1
Host: eu1.make.com
Authorization: YOUR_API_KEY
Accept: */*
200

Successful response

{
  "templates": [
    {
      "id": 61,
      "name": "Private",
      "teamId": 1,
      "description": "Template description",
      "usedApps": [
        "http"
      ],
      "public": false,
      "published": null,
      "approved": null,
      "approvedId": null,
      "requestedApproval": false,
      "publishedId": null,
      "publicUrl": null,
      "approvedName": null,
      "publishedName": null
    },
    {
      "id": 65,
      "name": "Published",
      "teamId": 1,
      "description": null,
      "usedApps": [
        "http"
      ],
      "public": true,
      "published": "2020-12-01T14:14:53.807Z",
      "approved": null,
      "approvedId": null,
      "requestedApproval": false,
      "publishedId": 39,
      "publicUrl": "39-published",
      "approvedName": null,
      "publishedName": "Published"
    },
    {
      "id": 56,
      "name": "Published, approved",
      "teamId": 1,
      "description": null,
      "usedApps": [
        "http"
      ],
      "public": true,
      "published": "2020-11-10T14:08:29.084Z",
      "approved": "2020-12-03T09:44:55.685Z",
      "approvedId": 35,
      "requestedApproval": false,
      "publishedId": null,
      "publicUrl": "32-published-approved",
      "approvedName": "Published, approved",
      "publishedName": null
    },
    {
      "id": 64,
      "name": "Published, approved, waiting for approval",
      "teamId": 1,
      "description": null,
      "usedApps": [
        "http"
      ],
      "public": true,
      "published": "2020-12-01T15:18:31.790Z",
      "approved": "2020-12-02T09:44:42.045Z",
      "approvedId": 38,
      "requestedApproval": true,
      "publishedId": 40,
      "publicUrl": "37-published-approved-waiting-for-approval",
      "approvedName": "Published, approved, waiting for approval",
      "publishedName": "Published, approved, waiting for approval"
    },
    {
      "id": 62,
      "name": "Published, waiting for approval",
      "teamId": 1,
      "description": null,
      "usedApps": [
        "http"
      ],
      "public": true,
      "published": "2020-11-23T12:22:36.495Z",
      "approved": null,
      "approvedId": null,
      "requestedApproval": true,
      "publishedId": 36,
      "publicUrl": "36-published-waiting-for-approval",
      "approvedName": null,
      "publishedName": "Published, waiting for approval"
    }
  ],
  "pg": {
    "sortBy": "name",
    "limit": 10,
    "sortDir": "asc",
    "offset": 0
  }
}

Create template

post

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

Authorizations
Query parameters
Body
teamIdintegerOptional

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

languagestringOptional

The language of the template determining in which language template details such as module names will be displayed. This property also impacts the visibility of the created template and cannot be changed later.

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

{
  "teamId": 1,
  "language": "en",
  "blueprint": "{\"flow\":[{\"id\":1,\"module\":\"http:ActionGetFile\",\"version\":3,\"parameters\":{\"handleErrors\":false},\"mapper\":{\"url\":\"https://google.com\",\"method\":\"get\",\"shareCookies\":false},\"metadata\":{\"designer\":{\"x\":0,\"y\":0},\"parameters\":[{\"name\":\"handleErrors\",\"label\":\"Evaluate all states as errors (except for 2xx and 3xx )\",\"type\":\"boolean\",\"required\":true}],\"expect\":[{\"name\":\"url\",\"label\":\"URL\",\"type\":\"url\",\"required\":true},{\"name\":\"method\",\"label\":\"Method\",\"type\":\"hidden\"},{\"name\":\"shareCookies\",\"label\":\"Share cookies with other HTTP modules\",\"type\":\"boolean\",\"required\":true}]}}],\"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}",
  "controller": "{\"modules\":{},\"name\":\"New template\",\"idSequence\":2}"
}
200

Successful response

{
  "template": {
    "id": 67,
    "name": "New template",
    "teamId": 1,
    "description": null,
    "usedApps": [
      "http"
    ],
    "public": false,
    "published": null,
    "approved": null,
    "approvedId": null,
    "requestedApproval": false,
    "publishedId": null,
    "publicUrl": null,
    "approvedName": null,
    "publishedName": null
  }
}

Update template

patch

Updates a template 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 template including properties that were not changed.

Authorizations
Path parameters
templateIdintegerRequired

The unique ID of the private template. It can be retrieved from the List templates endpoint.

Example: 164
Query parameters
templatePublicIdintegerOptional

The unique ID of the public version of the approved template. It can be retrieved from the List templates endpoint as one of the following IDs: publishedId for all published templates that are waiting for approval or not, or approvedId for approved templates.

Example: 18
Body
namestringOptional

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

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

{
  "name": "Renamed template",
  "blueprint": "{\"flow\":[{\"id\":1,\"module\":\"http:ActionGetFile\",\"version\":3,\"parameters\":{\"handleErrors\":false},\"mapper\":{\"url\":\"https://google.com\",\"method\":\"get\",\"shareCookies\":false},\"metadata\":{\"designer\":{\"x\":0,\"y\":0},\"parameters\":[{\"name\":\"handleErrors\",\"label\":\"Evaluate all states as errors (except for 2xx and 3xx )\",\"type\":\"boolean\",\"required\":true}],\"expect\":[{\"name\":\"url\",\"label\":\"URL\",\"type\":\"url\",\"required\":true},{\"name\":\"method\",\"label\":\"Method\",\"type\":\"hidden\"},{\"name\":\"shareCookies\",\"label\":\"Share cookies with other HTTP modules\",\"type\":\"boolean\",\"required\":true}]}}],\"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}",
  "controller": "{\"modules\":{},\"name\":\"New template\",\"idSequence\":2}"
}
200

Successful response

{
  "template": [
    {
      "id": 164,
      "name": "Renamed template",
      "teamId": 1,
      "description": null,
      "usedApps": [
        "http"
      ],
      "public": false,
      "published": null,
      "approved": null,
      "approvedId": null,
      "requestedApproval": false,
      "publishedId": null,
      "publicUrl": null,
      "approvedName": null,
      "publishedName": null
    }
  ]
}