openapi: 3.0.1 info: title: Marketo Engage Rest Approve Snippets 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: Snippets description: Snippet Controller paths: /rest/asset/v1/snippet/{id}.json: get: tags: - Snippets summary: Marketo Get Snippet by Id description: 'Retrieves the target snippet record. Required Permissions: Read-Only Assets, Read-Write Assets' operationId: getSnippetByIdUsingGET 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/ResponseOfSnippetResponse' post: tags: - Snippets summary: Marketo Update Snippet Metadata description: 'Updates the metadata of the snippet. Required Permissions: Read-Write Assets' operationId: updateSnippetUsingPOST parameters: - name: id in: path description: id required: true schema: type: integer format: int32 requestBody: description: updateSnippetRequest content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UpdateSnippetRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ResponseOfSnippetResponse' x-codegen-request-body-name: updateSnippetRequest /rest/asset/v1/snippet/{id}/approveDraft.json: post: tags: - Snippets summary: Marketo Approve Snippet Draft description: 'Approves the current draft of the snippet. Required Permissions: Approve Assets' operationId: approveSnippetUsingPOST 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/ResponseOfSnippetResponse' /rest/asset/v1/snippet/{id}/clone.json: post: tags: - Snippets summary: Marketo Clone Snippet description: 'Clones the target snippet. Required Permissions: Read-Write Assets' operationId: cloneSnippetUsingPOST parameters: - name: id in: path description: id required: true schema: type: integer format: int32 requestBody: description: cloneSnippetRequest content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CloneSnippetRequest' required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ResponseOfSnippetResponse' x-codegen-request-body-name: cloneSnippetRequest /rest/asset/v1/snippet/{id}/content.json: get: tags: - Snippets summary: Marketo Get Snippet Content description: 'Retrieves the content of the target snippet. Required Permissions: Read-Only Assets, Read-Write Assets' operationId: getSnippetContentByIdUsingGET 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/ResponseOfSnippetContentResponse' post: tags: - Snippets summary: Marketo Update Snippet Content description: 'Updates the content of the target snippet. Required Permissions: Read-Write Assets' operationId: updateContentUsingPOST_1 parameters: - name: id in: path description: id required: true schema: type: integer format: int32 - name: content in: query description: Content of the snippet required: true schema: type: string - name: type in: query description: Type of snippet content required: true schema: type: string enum: - DynamicContent - HTML - Text responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ResponseOfIdResponse' /rest/asset/v1/snippet/{id}/delete.json: post: tags: - Snippets summary: Marketo Delete Snippet description: 'Deletes the target snippet. The snippet may not be in use by emails or landing pages. Required Permissions: Read-Write Assets' operationId: deleteSnippetUsingPOST 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/snippet/{id}/discardDraft.json: post: tags: - Snippets summary: Marketo Discard Snippet Draft description: 'Discards the current draft of the snippet. Required Permissions: Read-Write Assets' operationId: discardSnippetUsingPOST 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/snippet/{id}/dynamicContent.json: get: tags: - Snippets summary: Marketo Get Dynamic Content description: 'Gets the list of dynamic content sections for the snippet. Required Permissions: Read-Only Assets, Read-Write Assets' operationId: getDynamicContentUsingGET 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/ModelResponse' /rest/asset/v1/snippet/{id}/dynamicContent/{segmentId}.json: post: tags: - Snippets summary: Marketo Update Snippet Dynamic Content description: 'Updates the target dynamic content section. Required Permissions: Read-Write Assets' operationId: updateDynamicContentUsingPOST parameters: - name: id in: path description: id required: true schema: type: integer format: int32 - name: segmentId in: path description: segmentId required: true schema: type: integer format: int32 requestBody: description: request content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UpdateSnippetDynamicContentRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ResponseOfIdResponse' x-codegen-request-body-name: request /rest/asset/v1/snippet/{id}/unapprove.json: post: tags: - Snippets summary: Marketo Unapprove Snippet description: 'Unapproves the current version of the snippet. The snippet may not be in use. The snippet will be reverted to a draft-only state. Required Permissions: Approve Assets' operationId: unapproveSnippetUsingPOST 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/ResponseOfSnippetResponse' /rest/asset/v1/snippets.json: get: tags: - Snippets summary: Marketo Get Snippets description: 'Retrieves a list of accessible snippets from the target instance. Required Permissions: Read-Only Assets, Read-Write Assets' operationId: getSnippetUsingGET parameters: - name: status in: query description: Status filter for draft or approved versions schema: type: string enum: - approved - draft - 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/ResponseOfSnippetResponse' post: tags: - Snippets summary: Marketo Create Snippet description: 'Creates a new snippet. Required Permissions: Read-Write Assets' operationId: createSnippetUsingPOST requestBody: description: createSnippetRequest content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CreateSnippetRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ResponseOfSnippetResponse' x-codegen-request-body-name: createSnippetRequest components: schemas: UpdateSnippetDynamicContentRequest: type: object properties: type: type: string description: Type of dynamic content section enum: - Typeofcontent.Either'HTML'or'Text' value: type: string description: Value of the dynamic content section 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 SnippetResponse: 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/SnippetFolder' 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 workspace: type: string description: Name of the workspace CloneSnippetRequest: required: - folder - name type: object properties: name: type: string description: Name for the cloned snippet folder: $ref: '#/components/schemas/Folder' description: type: string description: Description of the cloned snippet SnippetFolder: required: - folderName - type - value type: object properties: value: type: integer description: Id of the folder format: int32 type: type: string description: Type of folder enum: - Folder - Program folderName: type: string description: Name of folder description: JSON representation of a folder CreateSnippetRequest: required: - folder - name type: object properties: description: type: string description: Description of the snippet folder: $ref: '#/components/schemas/Folder' name: type: string description: Name of the snippet ResponseOfSnippetContentResponse: type: object properties: errors: type: array items: $ref: '#/components/schemas/Error' requestId: type: string result: type: array items: $ref: '#/components/schemas/SnippetContentResponse' success: type: boolean warnings: type: array items: type: string ResponseOfSnippetResponse: type: object properties: errors: type: array items: $ref: '#/components/schemas/Error' requestId: type: string result: type: array items: $ref: '#/components/schemas/SnippetResponse' success: type: boolean warnings: type: array items: type: string SnippetContentResponse: required: - type type: object properties: content: type: string description: Content of the snippet type: type: string description: Type of snippet content 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 IdResponse: required: - id type: object properties: id: type: integer description: Id of the asset format: int32 UpdateSnippetRequest: type: object properties: description: type: string description: Description of the snippet isArchive: type: string description: Archival status of the snippet name: type: string description: Name of the snippet Error: required: - code - message type: object properties: code: type: string description: Error code of the error. See full list of error codes here message: type: string description: Message describing the cause of the error ModelResponse: type: object x-original-swagger-version: '2.0'