Marketo Template API
The Template API from Marketo — 17 operation(s) for template.
The Template API from Marketo — 17 operation(s) for template.
openapi: 3.0.1
info:
title: Marketo Engage Rest Approve Template API
description: Marketo exposes a REST API which allows for remote execution of many of the systems capabilities. From creating programs to bulk lead import, there are many options which allow fine-grained control of a Marketo instance.
termsOfService: https://www.adobe.com/legal.html
contact:
name: Adobe Developer Relations
url: https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/home
email: developerfeedback@marketo.com
license:
name: API License Agreement
url: https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/api-license
version: '1.0'
servers:
- url: https://localhost:8080/
tags:
- name: Template
paths:
/rest/asset/v1/emailTemplate/byName.json:
get:
tags:
- Template
summary: Marketo 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
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:
- Template
summary: Marketo 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
schema:
type: string
enum:
- approved
- draft
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailTemplateResponse'
post:
tags:
- Template
summary: Marketo 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
requestBody:
description: updateEmailMetaDataRequest
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UpdateEmailTemplateMetaDataRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailTemplateResponse'
x-codegen-request-body-name: updateEmailMetaDataRequest
/rest/asset/v1/emailTemplate/{id}/approveDraft.json:
post:
tags:
- Template
summary: Marketo 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:
- Template
summary: Marketo 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
requestBody:
description: cloneEmailTemplateRequest
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CloneEmailTemplateRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailTemplateResponse'
x-codegen-request-body-name: cloneEmailTemplateRequest
/rest/asset/v1/emailTemplate/{id}/content:
get:
tags:
- Template
summary: Marketo 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
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:
- Template
summary: Marketo 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
requestBody:
description: updateEmailTemplateContentRequest
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/UpdateEmailTemplateContentRequest'
required: false
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfIdResponse'
x-codegen-request-body-name: updateEmailTemplateContentRequest
/rest/asset/v1/emailTemplate/{id}/delete.json:
post:
tags:
- Template
summary: Marketo 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:
- Template
summary: Marketo 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:
- Template
summary: Marketo 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/landingPageTemplate/byName.json:
get:
tags:
- Template
summary: Marketo Get Landing Page Template by Name
description: 'Retrieves the landing page template record for the given name. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getLandingPageTemplateByNameUsingGET
parameters:
- name: name
in: query
description: Name of the landing page template
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfLpTemplateResponse'
/rest/asset/v1/landingPageTemplate/{id}.json:
get:
tags:
- Template
summary: Marketo Get Landing Page Template by Id
description: 'Retrieves the record for the target landing page template. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getLandingPageTemplateByIdUsingGET
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
schema:
type: string
enum:
- approved
- draft
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfLpTemplateResponse'
post:
tags:
- Template
summary: Marketo Update Landing Page Template Metadata
description: 'Updates the metadata for the target landing page template. Required Permissions: Read-Write Assets'
operationId: updateLpTemplateUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
requestBody:
description: updateLpTemplateRequest
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UpdateLpTemplateRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfLpTemplateResponse'
x-codegen-request-body-name: updateLpTemplateRequest
/rest/asset/v1/landingPageTemplate/{id}/approveDraft.json:
post:
tags:
- Template
summary: Marketo Approve Landing Page Template Draft
description: 'Approves the current landing page template draft. This will delete the current approved version of the template if there is one. Required Permissions: Approve Assets'
operationId: approveLandingPageTemplateUsingPOST
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/ResponseOfLpTemplateResponse'
/rest/asset/v1/landingPageTemplate/{id}/clone.json:
post:
tags:
- Template
summary: Marketo Clone Landing Page Template
description: 'Clones the target landing page template. Required Permissions: Read-Write Assets'
operationId: cloneLpTemplateUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
requestBody:
description: cloneLpTemplateRequest
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CloneLpTemplateRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfLpTemplateResponse'
x-codegen-request-body-name: cloneLpTemplateRequest
/rest/asset/v1/landingPageTemplate/{id}/content.json:
get:
tags:
- Template
summary: Marketo Get Landing Page Template Content
description: 'Retrieves the content of the target landing page. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getLandingPageTemplateContentUsingGET
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
schema:
type: string
enum:
- approved
- draft
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfLpTemplateGetContentResponse'
post:
tags:
- Template
summary: Marketo Update Landing Page Template Content
description: 'Updates the content for the target landing page template. This update is destructive for the draft version of the template. Required Permissions: Read-Write Assets'
operationId: updateLandingPageTemplateContentUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
requestBody:
content:
multipart/form-data:
schema:
required:
- content
type: object
properties:
content:
type: string
description: content
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfIdResponse'
/rest/asset/v1/landingPageTemplate/{id}/delete.json:
post:
tags:
- Template
summary: Marketo Delete Landing Page Template
description: 'Deletes the target landing page template. Required Permissions: Read-Write Assets'
operationId: deleteLpTemplateUsingPOST
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/landingPageTemplate/{id}/discardDraft.json:
post:
tags:
- Template
summary: Marketo Discard Landing Page Template Draft
description: 'Discrads the current draft of the landing page template. Required Permissions: Read-Write Assets'
operationId: discardDraftUsingPOST_2
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/landingPageTemplate/{id}/unapprove.json:
post:
tags:
- Template
summary: Marketo Unapprove Landing Page Template
description: 'Unapproves the landing page template and reverts it to a draft-only state. Required Permissions: Approve Assets'
operationId: unapproveLandingPageTemplateUsingPOST
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/ResponseOfLpTemplateResponse'
components:
schemas:
ResponseOfLpTemplateGetContentResponse:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/Error'
requestId:
type: string
result:
type: array
items:
$ref: '#/components/schemas/LpTemplateGetContentResponse'
success:
type: boolean
warnings:
type: array
items:
type: string
Folder:
required:
- id
- type
type: object
properties:
id:
type: integer
description: Id of the folder
format: int32
type:
type: string
description: Type of folder
enum:
- Folder
- Program
description: JSON representation of a folder
UpdateEmailTemplateMetaDataRequest:
type: object
properties:
description:
type: string
description: Description of the asset
name:
type: string
description: Name of the Email Template
CloneLpTemplateRequest:
required:
- folder
- name
type: object
properties:
description:
type: string
description: Description of the landing page template
folder:
$ref: '#/components/schemas/Folder'
name:
type: string
description: Name of the landing page template
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
ResponseOfLpTemplateResponse:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/Error'
requestId:
type: string
result:
type: array
items:
$ref: '#/components/schemas/LpTemplateResponse'
success:
type: boolean
warnings:
type: array
items:
type: string
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
UpdateEmailTemplateContentRequest:
type: object
properties:
content:
type: string
description: Content for the email template. Multipart file.
LpTemplateResponse:
required:
- enableMunchkin
- folder
- status
- templateType
type: object
properties:
createdAt:
type: string
description: Datetime the asset was created
format: date-time
description:
type: string
description: Description of the asset
enableMunchkin:
type: boolean
description: Whether to enable munchkin on the derived pages. Defaults to true
folder:
$ref: '#/components/schemas/Folder'
id:
type: integer
description: Id of the asset
format: int64
name:
type: string
description: Name of the asset
status:
type: string
description: Status filter for draft or approved versions
templateType:
type: string
description: Type of template to create. Defaults to freeForm
enum:
- guided
- freeForm
updatedAt:
type: string
description: Datetime the asset was most recently updated
format: date-time
url:
type: string
description: Url of the asset in the Marketo UI
workspace:
type: string
description: Name of the workspace. Max 255 characters
EmailTemplateResponse:
required:
- folder
- status
type: object
properties:
createdAt:
type: string
description: Datetime the asset was created
format: date-time
description:
type: string
description: Description of the asset
folder:
$ref: '#/components/schemas/Folder'
id:
type: integer
description: Id of the asset
format: int64
name:
type: string
description: Name of the asset
status:
type: string
description: Status filter for draft or approved versions
updatedAt:
type: string
description: Datetime the asset was most recently updated
format: date-time
url:
type: string
description: Url of the asset in the Marketo UI
version:
type: integer
description: Template version type
format: int32
enum:
- 1
- 2
workspace:
type: string
description: Name of the workspace
LpTemplateGetContentResponse:
required:
- content
- enableMunchkin
- id
- status
- templateType
type: object
properties:
content:
type: string
description: HTML content of the landing page template
enableMunchkin:
type: boolean
description: Whether to enable munchkin on the derived pages. Defaults to true
id:
type: integer
description: Unique integer id of the template
format: int32
status:
type: string
description: Status filter for draft or approved versions
enum:
- approved
- draft
templateType:
type: string
description: Type of template to create. Defaults to freeForm
enum:
- guided
- freeForm
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
Error:
required:
- code
- message
type: object
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
EmailTemplateContentResponse:
required:
- content
- id
- status
type: object
properties:
content:
type: string
description: HTML content of the template
id:
type: integer
description: Unique integer id of the email template
format: int32
status:
type: string
description: Status filter for draft or approved versions
enum:
- approved
- draft
IdResponse:
required:
- id
type: object
properties:
id:
type: integer
description: Id of the asset
format: int32
UpdateLpTemplateRequest:
type: object
properties:
description:
type: string
description: Description of the landing page template
enableMunchkin:
type: boolean
description: Whether to enable munchkin on the derived pages. Defaults to true
name:
type: string
description: Name of the landing page template
CloneEmailTemplateRequest:
required:
- folder
- name
type: object
properties:
description:
type: string
description: Description of the asset
folder:
$ref: '#/components/schemas/Folder'
name:
type: string
description: Name of the Email Template
x-original-swagger-version: '2.0'