Marketo Email Templates API
The Email Templates API from Marketo — 10 operation(s) for email templates.
The Email Templates API from Marketo — 10 operation(s) for email templates.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/marketo-email-templates-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: Marketo Engage Rest API
version: '1.0'
title: Marketo Engage Rest Email Templates API
termsOfService: https://www.adobe.com/legal.html
contact:
name: Adobe Developer Relations
url: https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/home
email: ''
license:
name: API License Agreement
url: https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/api-license
servers:
- url: https://localhost:8080/
tags:
- name: Email Templates
description: Email Template Controller
paths:
/rest/asset/v1/emailTemplate/byName.json:
get:
tags:
- Email Templates
summary: Get Email Template by Name
description: 'Retrieves and email template record by the given name. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getTemplateByNameUsingGET
parameters:
- name: name
in: query
description: name
required: true
schema:
type: string
- name: status
in: query
description: Status filter for draft or approved versions
required: false
schema:
type: string
enum:
- approved
- draft
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailTemplateResponse'
/rest/asset/v1/emailTemplate/{id}.json:
get:
tags:
- Email Templates
summary: Get Email Template by Id
description: 'Returns an email template record by its id. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getTemplateByIdUsingGET
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
- name: status
in: query
description: Status filter for draft or approved versions
required: false
schema:
type: string
enum:
- approved
- draft
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailTemplateResponse'
post:
tags:
- Email Templates
summary: Update Email Template Metadata
description: 'Updates the metadata for the designated email template. Required Permissions: Read-Write Assets'
operationId: updateEmailTemplateUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailTemplateResponse'
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UpdateEmailTemplateMetaDataRequest'
description: updateEmailMetaDataRequest
required: true
/rest/asset/v1/emailTemplate/{id}/approveDraft.json:
post:
tags:
- Email Templates
summary: Approve Email Template Draft
description: 'Approves the current draft of the email template. Required Permissions: Approve Assets'
operationId: approveDraftUsingPOST_1
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailTemplateResponse'
/rest/asset/v1/emailTemplate/{id}/clone.json:
post:
tags:
- Email Templates
summary: Clone Email Template
description: 'Clones the designated email template. Required Permissions: Read-Write Assets'
operationId: cloneTemplateUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailTemplateResponse'
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CloneEmailTemplateRequest'
description: cloneEmailTemplateRequest
required: true
/rest/asset/v1/emailTemplate/{id}/content:
get:
tags:
- Email Templates
summary: Get Email Template Content by Id
description: 'Returns the content for a given email template. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getTemplateContentByIdUsingGET
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
- name: status
in: query
description: Status filter for draft or approved versions
required: false
schema:
type: string
enum:
- approved
- draft
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailTemplateContentResponse'
/rest/asset/v1/emailTemplate/{id}/content.json:
post:
tags:
- Email Templates
summary: Update Email Template Content
description: 'Updates the content of the given email template. Required Permissions: Read-Write Assets'
operationId: updateEmailTemplateContentUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfIdResponse'
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/UpdateEmailTemplateContentRequest'
description: updateEmailTemplateContentRequest
/rest/asset/v1/emailTemplate/{id}/delete.json:
post:
tags:
- Email Templates
summary: Delete Email Template
description: 'Deletes the designated email template. Required Permissions: Read-Write Assets'
operationId: deleteTemplateUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfIdResponse'
/rest/asset/v1/emailTemplate/{id}/discardDraft.json:
post:
tags:
- Email Templates
summary: Discard Email Template Draft
description: 'Discards the current draft of the email template. Required Permissions: Read-Write Assets'
operationId: discardDraftUsingPOST_1
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfIdResponse'
/rest/asset/v1/emailTemplate/{id}/unapprove.json:
post:
tags:
- Email Templates
summary: Unapprove Email Template Draft
description: 'Unapproves the current approved version of the Email Template. Required Permissions: Approve Assets'
operationId: unapproveDraftUsingPOST_1
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailTemplateResponse'
/rest/asset/v1/emailTemplates.json:
get:
tags:
- Email Templates
summary: Get Email Templates
description: 'Returns a list of email template records accessible in the target instance. Required Permissions: Read-Only Assets, Read-Write Assets.
Note: Email templates created with the new email designer may appear in this API''s response, but some of the fields may be null or incomplete. For complete and reliable details of these assets, use the Email Templates (New) APIs; refer to the <a href="https://developer.adobe.com/marketo-apis/api/asset#operation/filterContentUsingGET_emailtemplate">List Email Templates</a> endpoint.'
operationId: getEmailTemplatesUsingGET
parameters:
- name: offset
in: query
description: Integer offset for paging
required: false
schema:
type: integer
format: int32
- name: maxReturn
in: query
description: Maximum number of records to return. Max 200, default 20
required: false
schema:
type: integer
format: int32
- in: query
name: status
description: Status filter for draft or approved versions
required: false
schema:
type: string
enum:
- approved
- draft
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailTemplateResponse'
post:
tags:
- Email Templates
summary: Create Email Template
description: 'Creates a new email template. Required Permissions: Read-Write Assets'
operationId: createEmailTemplateUsingPOST
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailTemplateResponse'
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/CreateEmailTemplateRequest'
description: createEmailTemplateRequest
required: true
/rest/asset/v1/emailTemplates/{id}/usedBy.json:
get:
tags:
- Email Templates
summary: Get Email Template Used By
description: 'Returns a list of email records which depend on a given email template. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getEmailTemplateUsedByUsingGET
parameters:
- name: id
in: path
description: Id of the email template
required: true
schema:
type: integer
format: int32
- name: offset
in: query
description: Integer offset for paging
required: false
schema:
type: integer
format: int32
- name: maxReturn
in: query
description: Maximum number of records to return. Max 200, default 20
required: false
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailTemplateUsedByResponse'
components:
schemas:
Error:
type: object
required:
- code
- message
properties:
code:
type: string
description: Error code of the error. See full list of error codes <a href="https://developers.marketo.com/rest-api/error-codes/">here</a>
message:
type: string
description: Message describing the cause of the error
Folder:
type: object
required:
- id
- type
properties:
id:
type: integer
format: int32
description: Id of the folder
type:
type: string
description: Type of folder
enum:
- Folder
- Program
description: JSON representation of a folder
CreateEmailTemplateRequest:
type: object
required:
- name
- folder
- content
properties:
name:
type: string
description: Name of the Email Template. Must be unique under the parent folder.
folder:
description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
$ref: '#/components/schemas/Folder'
description:
type: string
description: Description of the email template
content:
type: string
description: HTML content for template. Multipart file.
UpdateEmailTemplateContentRequest:
type: object
properties:
content:
type: string
description: Content for the email template. Multipart file.
UpdateEmailTemplateMetaDataRequest:
type: object
properties:
description:
type: string
description: Description of the asset
name:
type: string
description: Name of the Email Template
ResponseOfEmailTemplateUsedByResponse:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/Error'
requestId:
type: string
result:
type: array
items:
$ref: '#/components/schemas/EmailTemplateUsedByResponse'
success:
type: boolean
warnings:
type: array
items:
type: string
ResponseOfEmailTemplateResponse:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/Error'
requestId:
type: string
result:
type: array
items:
$ref: '#/components/schemas/EmailTemplateResponse'
success:
type: boolean
warnings:
type: array
items:
type: string
EmailTemplateUsedByResponse:
type: object
required:
- id
- name
- type
- status
- updatedAt
properties:
id:
type: integer
format: int64
description: Id of the asset
name:
type: string
description: Name of the asset
type:
type: string
description: Type of asset
status:
type: string
description: Status filter for draft or approved versions
enum:
- approved
- draft
updatedAt:
type: string
format: date-time
description: Datetime the asset was most recently updated
EmailTemplateResponse:
type: object
required:
- folder
- status
properties:
createdAt:
type: string
format: date-time
description: Datetime the asset was created
description:
type: string
description: Description of the asset
folder:
description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
$ref: '#/components/schemas/Folder'
id:
type: integer
format: int64
description: Id of the asset
name:
type: string
description: Name of the asset
status:
type: string
description: Status filter for draft or approved versions
updatedAt:
type: string
format: date-time
description: Datetime the asset was most recently updated
url:
type: string
description: Url of the asset in the Marketo UI
version:
type: integer
format: int32
description: Template version type
enum:
- 1
- 2
workspace:
type: string
description: Name of the workspace
CloneEmailTemplateRequest:
type: object
required:
- folder
- name
properties:
description:
type: string
description: Description of the asset
folder:
description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
$ref: '#/components/schemas/Folder'
name:
type: string
description: Name of the Email Template
EmailTemplateContentResponse:
type: object
required:
- content
- id
- status
properties:
content:
type: string
description: HTML content of the template
id:
type: integer
format: int32
description: Unique integer id of the email template
status:
type: string
description: Status filter for draft or approved versions
enum:
- approved
- draft
IdResponse:
type: object
required:
- id
properties:
id:
type: integer
format: int32
description: Id of the asset
ResponseOfEmailTemplateContentResponse:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/Error'
requestId:
type: string
result:
type: array
items:
$ref: '#/components/schemas/EmailTemplateContentResponse'
success:
type: boolean
warnings:
type: array
items:
type: string
ResponseOfIdResponse:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/Error'
requestId:
type: string
result:
type: array
items:
$ref: '#/components/schemas/IdResponse'
success:
type: boolean
warnings:
type: array
items:
type: string