Marketo Assets API
The Assets API from Marketo — 133 operation(s) for assets.
The Assets API from Marketo — 133 operation(s) for assets.
openapi: 3.0.1
info:
title: Marketo Engage Rest Approve Assets 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: Assets
paths:
/rest/asset/v1/channel/byName.json:
get:
tags:
- Assets
summary: Marketo Get Channel by Name
description: 'Retrieves channels based on the provided name. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getChannelByNameUsingGET
parameters:
- name: Name
in: query
description: Name of channel to retrieve
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfChannelResponse'
/rest/asset/v1/channels.json:
get:
tags:
- Assets
summary: Marketo Get Channels
description: 'Retrieves all channels. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getAllChannelsUsingGET
parameters:
- name: maxReturn
in: query
description: Maximum number of channels to return. Max 200, default 20
schema:
type: integer
format: int32
- name: offset
in: query
description: Integer offset for paging
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfChannelResponse'
/rest/asset/v1/email/byName.json:
get:
tags:
- Assets
summary: Marketo Get Email by Name
description: 'Returns an email records based on the given name. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getEmailByNameUsingGET
parameters:
- name: name
in: query
description: Name of the email
required: true
schema:
type: string
- name: status
in: query
description: Status filter for draft or approved versions
schema:
type: string
enum:
- approved
- draft
- name: folder
in: query
description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailResponse'
/rest/asset/v1/email/{id}.json:
get:
tags:
- Assets
summary: Marketo Get Email By Id
description: 'Returns an email records by its id. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getEmailByIdUsingGET
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/ResponseOfEmailResponse'
post:
tags:
- Assets
summary: Marketo Update Email Metadata
description: 'Updates the metadata of an email asset. Required Permissions: Read-Write Assets'
operationId: updateEmailUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
requestBody:
description: updateEmailRequest
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UpdateEmailMetaDataRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailResponse'
x-codegen-request-body-name: updateEmailRequest
/rest/asset/v1/email/{id}/approveDraft.json:
post:
tags:
- Assets
summary: Marketo Approve Email Draft
description: 'Approves the current draft of an email. Required Permissions: Approve Assets'
operationId: approveDraftUsingPOST
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/email/{id}/clone.json:
post:
tags:
- Assets
summary: Marketo Clone Email
description: 'Clones the target email. Required Permissions: Read-Write Assets'
operationId: cloneEmailUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
requestBody:
description: cloneEmailRequest
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CloneEmailRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailResponse'
x-codegen-request-body-name: cloneEmailRequest
/rest/asset/v1/email/{id}/content.json:
get:
tags:
- Assets
summary: Marketo Get Email Content
description: 'Returns the content of the designated email. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getEmailContentByIdUsingGET
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/ResponseOfEmailContentResponse'
post:
tags:
- Assets
summary: Marketo Update Email Content
description: 'Updates the content of an email. Required Permissions: Read-Write Assets'
operationId: updateEmailContentUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
requestBody:
description: updateEmailRequest
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UpdateEmailComponentDataRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfIdResponse'
x-codegen-request-body-name: updateEmailRequest
/rest/asset/v1/email/{id}/content/rearrange.json:
post:
tags:
- Assets
summary: Marketo Rearrange Email Modules
description: 'Rearranges the modules in an email. Required Permissions: Read-Write Assets'
operationId: rearrangeModulesUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
requestBody:
description: JSON array of module positions. Each position must be a JSON object with members 'index' and a 'moduleId'
content:
application/x-www-form-urlencoded:
schema:
type: string
required: false
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailModuleResponse'
x-codegen-request-body-name: positions
/rest/asset/v1/email/{id}/content/{htmlId}.json:
post:
tags:
- Assets
summary: Marketo Update Email Content Section
description: 'Updates the content in the given section. Required Permissions: Read-Write Assets'
operationId: updateEmailComponentContentUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
- name: htmlId
in: path
description: htmlId
required: true
schema:
type: string
requestBody:
description: request
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UpdateEmailComponentContentRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfIdResponse'
x-codegen-request-body-name: request
/rest/asset/v1/email/{id}/content/{moduleId}/add.json:
post:
tags:
- Assets
summary: Marketo Add Email Module
description: 'Adds a new module to an email, with the given id. Required Permissions: Read-Write Assets'
operationId: addModuleUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
- name: moduleId
in: path
description: moduleId
required: true
schema:
type: string
- name: name
in: query
description: Name of the module
required: true
schema:
type: string
- name: index
in: query
description: Index of the module. Determines the order of the module in the email.
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailModuleResponse'
/rest/asset/v1/email/{id}/content/{moduleId}/delete.json:
post:
tags:
- Assets
summary: Marketo Delete Module
description: 'Deletes the given module from the email. Required Permissions: Read-Write Assets'
operationId: deleteModuleUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
- name: moduleId
in: path
description: moduleId
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailModuleResponse'
/rest/asset/v1/email/{id}/content/{moduleId}/duplicate.json:
post:
tags:
- Assets
summary: Marketo Duplicate Email Module
description: 'Creates a copy of the designated module in an email. Required Permissions: Read-Write Assets'
operationId: duplicateModuleUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
- name: moduleId
in: path
description: moduleId
required: true
schema:
type: string
- name: name
in: query
description: Name of the new module
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailModuleResponse'
/rest/asset/v1/email/{id}/content/{moduleId}/rename.json:
post:
tags:
- Assets
summary: Marketo Rename Email Module
description: 'Renames a module. Required Permissions: Read-Write Assets'
operationId: renameUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
- name: moduleId
in: path
description: moduleId
required: true
schema:
type: string
- name: name
in: query
description: New module name
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailModuleResponse'
/rest/asset/v1/email/{id}/delete.json:
post:
tags:
- Assets
summary: Marketo Delete Email
description: 'Deletes the target email. Required Permissions: Read-Write Assets'
operationId: deleteEmailUsingPOST
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/email/{id}/discardDraft.json:
post:
tags:
- Assets
summary: Marketo Discard Email Draft
description: 'Discards the current draft of an email. Required Permissions: Read-Write Assets'
operationId: discardDraftUsingPOST
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/email/{id}/dynamicContent/{contentId}.json:
get:
tags:
- Assets
summary: Marketo Get Email Dynamic Content
description: 'Retrieves the dyanmic content record for the given section. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getEmailDynamicContentUsingGET
parameters:
- name: id
in: path
description: Id of email
required: true
schema:
type: integer
format: int32
- name: contentId
in: path
description: Id of email dynamic content section
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/ResponseOfEmailDynamicContentResponse'
post:
tags:
- Assets
summary: Marketo Update Email Dynamic Content Section
description: 'Updates dynamic content in the given section. Required Permissions: Read-Write Assets'
operationId: updateEmailDynamicContentUsingPOST
parameters:
- name: id
in: path
description: Id of email
required: true
schema:
type: integer
format: int32
- name: contentId
in: path
description: Id of email dynamic content section
required: true
schema:
type: string
requestBody:
description: Content properties
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UpdateEmailDynamicContentRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfIdResponse'
x-codegen-request-body-name: request
/rest/asset/v1/email/{id}/sendSample.json:
post:
tags:
- Assets
summary: Marketo Send Sample Email
description: 'Sends a sample email to the given email address. Leads may be impersonated to populate data for tokens and dynamic content. Required Permissions: Read-Write Assets'
operationId: sendSampleEmailUsingPOST
parameters:
- name: id
in: path
description: Id of the email
required: true
schema:
type: integer
format: int32
requestBody:
description: sendSampleEmailRequest
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/SendSampleEmailRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfSendSampleResponse'
x-codegen-request-body-name: sendSampleEmailRequest
/rest/asset/v1/email/{id}/unapprove.json:
post:
tags:
- Assets
summary: Marketo Unapprove Email
description: 'Unapproves the email and reverts it to a draft-only state. Required Permissions: Approve Assets'
operationId: unapproveDraftUsingPOST
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/email/{id}/variable/{name}.json:
post:
tags:
- Assets
summary: Marketo Update Email Variable
description: 'Updates the value of a given variable in an email. Required Permissions: Read-Write Assets'
operationId: updateVariableUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
- name: name
in: path
description: name
required: true
schema:
type: string
requestBody:
description: updateVariableRequest
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UpdateVariableRequest'
required: false
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailVariableResponse'
x-codegen-request-body-name: updateVariableRequest
/rest/asset/v1/email/{id}/variables.json:
get:
tags:
- Assets
summary: Marketo Get Email Variables
description: 'Returns a list of the available variables in an email. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getEmailVariablesUsingGET
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/ResponseOfEmailVariableResponse'
/rest/asset/v1/email/ccFields.json:
get:
tags:
- Assets
summary: Marketo Get Email CC Fields
description: 'Returns the set of fields enabled for Email CC in the target instance. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getEmailCCFieldsUsingGET
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailCCFieldsResponse'
/rest/asset/v1/emailTemplate/byName.json:
get:
tags:
- Assets
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:
- Assets
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:
- Assets
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:
- Assets
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:
- Assets
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:
- Assets
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:
- Assets
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:
- Assets
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:
- Assets
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:
- Assets
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/emailTemplates.json:
get:
tags:
- Assets
summary: Marketo Get Email Templates
description: 'Returns a list of email template records accessible in the target instance. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getEmailTemplatesUsingGET
parameters:
- name: offset
in: query
description: Integer offset for paging
schema:
type: integer
format: int32
- name: maxReturn
in: query
description: Maximum number of channels to return. Max 200, default 20
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:
- Assets
summary: Marketo Create Email Template
description: 'Creates a new email template. Required Permissions: Read-Write Assets'
operationId: createEmailTemplateUsingPOST
requestBody:
description: createEmailTemplateRequest
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/CreateEmailTemplateRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailTemplateResponse'
x-codegen-request-body-name: createEmailTemplateRequest
/rest/asset/v1/emailTemplates/{id}/usedBy.json:
get:
tags:
- Assets
summary: Marketo 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
schema:
type: integer
format: int32
- name: maxReturn
in: query
description: Maximum number of channels to return. Max 200, default 20
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfEmailTemplateUsedByResponse'
/rest/asset/v1/emails.json:
get:
tags:
- Assets
summary: Marketo Get Emails
description: 'Returns a list of emails matching the given filter parameters. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getEmailUsingGET
parameters:
- name: status
in: query
description: Status filter for draft or approved versions
schema:
type: string
enum:
- approved
- draft
- name: folder
in: query
description: JSON representation of parent fol
# --- truncated at 32 KB (262 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/marketo/refs/heads/main/openapi/marketo-assets-api-openapi.yml