Marketo Template API

The Template API from Marketo — 17 operation(s) for template.

OpenAPI Specification

marketo-template-api-openapi.yml Raw ↑
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'