Marketo Landing Pages API
The Landing Pages API from Marketo — 11 operation(s) for landing pages.
The Landing Pages API from Marketo — 11 operation(s) for landing pages.
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-landing-pages-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 Landing Pages 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: Landing Pages
description: Landing Page Controller
paths:
/rest/asset/v1/landingPage/byName.json:
get:
tags:
- Landing Pages
summary: Get Landing Page by Name
description: 'Returns the landing page record for the given name. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getLandingPageByNameUsingGET
parameters:
- name: name
in: query
description: Name of the landing page
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
- name: maxReturn
in: query
description: Maximum number of records to return. Max 200, default 20
required: false
schema:
type: integer
format: int32
- name: offset
in: query
description: Integer offset for paging
required: false
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfLandingPageResponse'
/rest/asset/v1/landingPage/{id}.json:
get:
tags:
- Landing Pages
summary: Get Landing Page by Id
description: 'Returns the landing record for the given id. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getLandingPageByIdUsingGET
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/ResponseOfLandingPageResponse'
post:
tags:
- Landing Pages
summary: Update Landing Page Metadata
description: 'Updates the metadata for the targe landing page. Required Permissions: Read-Write Assets'
operationId: updateLandingPageUsingPOST
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/ResponseOfLandingPageResponse'
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UpdateLandingPageRequest'
description: updateLandingPageRequest
required: true
/rest/asset/v1/landingPage/{id}/approveDraft.json:
post:
tags:
- Landing Pages
summary: Approve Landing Page Draft
description: 'Approves the current draft of the landing page. Required Permissions: Approve Assets'
operationId: approveLandingPageUsingPOST
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/landingPage/{id}/clone.json:
post:
tags:
- Landing Pages
summary: Clone Landing Page
description: 'Clones the target landing page. Required Permissions: Read-Write Assets'
operationId: cloneLandingPageUsingPOST
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/ResponseOfLandingPageResponse'
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CloneLandingPageRequest'
description: cloneLandingPageRequest
required: true
/rest/asset/v1/landingPage/{id}/delete.json:
post:
tags:
- Landing Pages
summary: Delete Landing Page
description: 'Deletes the target landing page. Required Permissions: Read-Write Assets'
operationId: deleteLandingPageByIdUsingPOST
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/landingPage/{id}/discardDraft.json:
post:
tags:
- Landing Pages
summary: Discard Landing Page Draft
description: 'Discards the current draft of the landing page. Required Permissions: Read-Write Assets'
operationId: discardLandingPageByIdUsingPOST
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/landingPage/{id}/unapprove.json:
post:
tags:
- Landing Pages
summary: Unapprove Landing Page
description: 'Unapproves the landing page, reverting it to a draft-only state. Required Permissions: Approve Assets'
operationId: unapproveLandingPageByIdUsingPOST
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/ResponseOfLandingPageResponse'
/rest/asset/v1/landingPage/{id}/variable/{variableId}.json:
post:
tags:
- Landing Pages
summary: Update Landing Page Variable
description: 'Updates the value of the given variable. Required Permissions: Read-Write Assets'
operationId: updateLandingPageVariableUsingPOST
parameters:
- name: id
in: path
description: id
required: true
schema:
type: integer
format: int32
- name: variableId
in: path
description: variableId
required: true
schema:
type: string
- name: value
in: query
description: New value of the variable
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfLandingPageVariableResponse'
/rest/asset/v1/landingPage/{id}/variables.json:
get:
tags:
- Landing Pages
summary: Get Landing Page Variables
operationId: getVariablesUsingGET
parameters:
- name: id
in: path
description: Id of the landing page
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/ResponseOfLandingPageVariableResponse'
/rest/asset/v1/landingPages.json:
get:
tags:
- Landing Pages
summary: Get Landing Pages
description: 'Retrieves a list of accessible landing pages from the target instance. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: browseLandingPagesUsingGET
parameters:
- name: status
in: query
description: Status filter for draft or approved versions
required: false
schema:
type: string
enum:
- approved
- draft
- name: maxReturn
in: query
description: Maximum number of landing pages to return. Max 200, default 20
required: false
schema:
type: integer
format: int32
- name: offset
in: query
description: Integer offset for paging
required: false
schema:
type: integer
format: int32
- name: folder
in: query
description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfLandingPageResponse'
post:
tags:
- Landing Pages
summary: Create Landing Page
description: 'Creates a new landing page. Required Permissions: Read-Write Assets'
operationId: createLandingPageUsingPOST
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfLandingPageResponse'
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CreateLandingPageRequest'
description: createLandingPageRequest
required: true
/rest/asset/v1/landingPage/{id}/fullContent.json:
get:
tags:
- Landing Pages
summary: Get Landing Page Full Content
description: 'Returns the serialized HTML version of the landing page. Required Permissions: Read-Only Assets, Read-Write Assets. If leadId is passed in the request: Read-Only Lead, Read-Write Lead.'
operationId: getLandingPageFullContentUsingGET
parameters:
- name: id
in: path
description: Id of the landing page.
required: true
schema:
type: integer
format: int32
- name: leadId
in: query
description: The lead id to impersonate. Landing page is rendered as though it was viewed by this lead.
required: false
schema:
type: integer
format: int32
- name: segmentation
in: query
description: 'JSON array of of segmentations. Each segmentation must be a JSON object with members ''segmentationId'', and ''segmentId''.<br>Example: [{"segmentationId":1030,"segmentId":1103}]'
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfGetLandingPageFullContentResponse'
components:
schemas:
ResponseOfLandingPageResponse:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/Error'
requestId:
type: string
result:
type: array
items:
$ref: '#/components/schemas/LandingPageResponse'
success:
type: boolean
warnings:
type: array
items:
type: string
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
ResponseOfGetLandingPageFullContentResponse:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/Error'
requestId:
type: string
result:
type: array
items:
$ref: '#/components/schemas/GetLandingPageFullContentResponse'
success:
type: boolean
warnings:
type: array
items:
type: string
ResponseOfLandingPageVariableResponse:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/Error'
requestId:
type: string
result:
type: array
items:
$ref: '#/components/schemas/LandingPageVariableResponse'
success:
type: boolean
warnings:
type: array
items:
type: string
LandingPageVariableResponse:
type: object
required:
- id
properties:
id:
type: string
description: Integer id of the variable
type:
type: string
description: Type of the variable
value:
type: object
description: Value of the variable
CloneLandingPageRequest:
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 landing page
template:
type: integer
format: int32
description: Id of the template used
LandingPageResponse:
type: object
required:
- customHeadHTML
- facebookOgTags
- robots
- title
properties:
URL:
type: string
description: Url of the asset in the Marketo UI
computedUrl:
type: string
createdAt:
type: string
format: date-time
description: Datetime the asset was created
customHeadHTML:
type: string
description: Any custom HTML to embed in the <head> tag of the page
description:
type: string
description: Description of the asset
facebookOgTags:
type: string
description: Any OpenGraph meta tags to apply to the page
folder:
description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
$ref: '#/components/schemas/Folder'
formPrefill:
type: boolean
description: Boolean to toggle whether forms embedded in the page will prefill. Default false
id:
type: integer
format: int64
description: Id of the asset
keywords:
type: string
mobileEnabled:
type: boolean
description: Whether the page has mobile viewing enabled. Free-form pages only. Default false
name:
type: string
description: Name of the asset
robots:
type: string
description: Robots directives to apply to the pages meta tags
status:
type: string
description: Status filter for draft or approved versions
template:
type: integer
format: int32
description: Id of the template used
title:
type: string
description: Title element of the landing page
updatedAt:
type: string
format: date-time
description: Datetime the asset was most recently updated
workspace:
type: string
description: Name of the workspace
UpdateLandingPageRequest:
type: object
properties:
customHeadHTML:
type: string
description: Any custom HTML to embed in the <head> tag of the page
description:
type: string
description: Description of the asset
facebookOgTags:
type: string
description: Any OpenGraph meta tags to apply to the page
keywords:
type: string
metaTagsDescription:
type: string
description: Meta description property of the page
mobileEnabled:
type: boolean
description: Whether the page has mobile viewing enabled. Free-form pages only. Default false
name:
type: string
description: Name of the landing page
robots:
type: string
description: Robots directives to apply to the pages meta tags
styleOverRide:
type: string
description: Additional CSS styles to append to the landing page <head>
title:
type: string
description: Title element of the landing page
urlPageName:
type: string
description: URL path of the page. Derived from the name field if unset
CreateLandingPageRequest:
type: object
required:
- folder
- name
- template
properties:
customHeadHTML:
type: string
description: Any custom HTML to embed in the <head> tag of the page
description:
type: string
description: Description of the asset
facebookOgTags:
type: string
description: Any OpenGraph meta tags to apply to the page
folder:
description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
$ref: '#/components/schemas/Folder'
keywords:
type: string
mobileEnabled:
type: boolean
description: Whether the page has mobile viewing enabled. Free-form pages only. Default false
name:
type: string
description: Name of the landing page
prefillForm:
type: boolean
description: Boolean to toggle whether forms embedded in the page will prefill. Default false
robots:
type: string
description: Robots directives to apply to the pages meta tags
template:
type: integer
format: int32
description: Id of the template used
title:
type: string
description: Title element of the landing page
urlPageName:
type: string
description: URL path of the page. Derived from the name field if unset
workspace:
type: string
description: Name of the workspace
IdResponse:
type: object
required:
- id
properties:
id:
type: integer
format: int32
description: Id of the asset
GetLandingPageFullContentResponse:
type: object
required:
- content
- id
- status
properties:
content:
type: string
description: HTML content of the landing page
id:
type: integer
format: int32
description: Unique integer id of the landing page
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