naftiko: 1.0.0-alpha2 info: label: Marketo Engage Rest API — Landing Pages description: 'Marketo Engage Rest API — Landing Pages. 13 operations. Lead operation: Marketo Get Landing Page by Name. Self-contained Naftiko capability covering one Marketo business surface.' tags: - Marketo - Landing Pages created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MARKETO_API_KEY: MARKETO_API_KEY capability: consumes: - type: http namespace: engage-rest-landing-pages baseUri: https://localhost:8080 description: Marketo Engage Rest API — Landing Pages business capability. Self-contained, no shared references. resources: - name: rest-asset-v1-landingPage-byName.json path: /rest/asset/v1/landingPage/byName.json operations: - name: getlandingpagebynameusingget method: GET description: Marketo Get Landing Page by Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Name of the landing page required: true - name: status in: query type: string description: Status filter for draft or approved versions - name: maxReturn in: query type: integer description: Maximum number of channels to return. Max 200, default 20 - name: offset in: query type: integer description: Integer offset for paging - name: rest-asset-v1-landingPage-id}.json path: /rest/asset/v1/landingPage/{id}.json operations: - name: getlandingpagebyidusingget method: GET description: Marketo Get Landing Page by Id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: id required: true - name: status in: query type: string description: Status filter for draft or approved versions - name: updatelandingpageusingpost method: POST description: Marketo Update Landing Page Metadata outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: id required: true - name: body in: body type: object description: Request body (JSON). required: true - name: rest-asset-v1-landingPage-id-approveDraft.json path: /rest/asset/v1/landingPage/{id}/approveDraft.json operations: - name: approvelandingpageusingpost method: POST description: Marketo Approve Landing Page Draft outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: id required: true - name: rest-asset-v1-landingPage-id-clone.json path: /rest/asset/v1/landingPage/{id}/clone.json operations: - name: clonelandingpageusingpost method: POST description: Marketo Clone Landing Page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: id required: true - name: body in: body type: object description: Request body (JSON). required: true - name: rest-asset-v1-landingPage-id-delete.json path: /rest/asset/v1/landingPage/{id}/delete.json operations: - name: deletelandingpagebyidusingpost method: POST description: Marketo Delete Landing Page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: id required: true - name: rest-asset-v1-landingPage-id-discardDraft.json path: /rest/asset/v1/landingPage/{id}/discardDraft.json operations: - name: discardlandingpagebyidusingpost method: POST description: Marketo Discard Landing Page Draft outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: id required: true - name: rest-asset-v1-landingPage-id-fullContent.json path: /rest/asset/v1/landingPage/{id}/fullContent.json operations: - name: getlandingpagefullcontentusingget method: GET description: Marketo Get Landing Page Full Content outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Id of the landing page. required: true - name: leadId in: query type: integer description: The lead id to impersonate. Landing page is rendered as though it was viewed by this lead. - name: segmentation in: query type: string description: 'JSON array of of segmentations. Each segmentation must be a JSON object with members ''segmentationId'', and ''segmentId''.
Example: [{"segmentationId":1030,"seg' - name: rest-asset-v1-landingPage-id-unapprove.json path: /rest/asset/v1/landingPage/{id}/unapprove.json operations: - name: unapprovelandingpagebyidusingpost method: POST description: Marketo Unapprove Landing Page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: id required: true - name: rest-asset-v1-landingPage-id-variable-variableId}.json path: /rest/asset/v1/landingPage/{id}/variable/{variableId}.json operations: - name: updatelandingpagevariableusingpost method: POST description: Marketo Update Landing Page Variable outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: id required: true - name: variableId in: path type: string description: variableId required: true - name: value in: query type: integer description: New value of the variable required: true - name: rest-asset-v1-landingPage-id-variables.json path: /rest/asset/v1/landingPage/{id}/variables.json operations: - name: getvariablesusingget method: GET description: Marketo Get Landing Page Variables outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Id of the landing page required: true - name: status in: query type: string description: Status filter for draft or approved versions - name: rest-asset-v1-landingPages.json path: /rest/asset/v1/landingPages.json operations: - name: browselandingpagesusingget method: GET description: Marketo Get Landing Pages outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: status in: query type: string description: Status filter for draft or approved versions - name: maxReturn in: query type: integer description: Maximum number of landing pages to return. Max 200, default 20 - name: offset in: query type: integer description: Integer offset for paging - name: folder in: query type: string description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program' - name: createlandingpageusingpost method: POST description: Marketo Create Landing Page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true exposes: - type: rest namespace: engage-rest-landing-pages-rest port: 8080 description: REST adapter for Marketo Engage Rest API — Landing Pages. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/asset/v1/landingpage/byname-json name: rest-asset-v1-landingpage-byname-json description: REST surface for rest-asset-v1-landingPage-byName.json. operations: - method: GET name: getlandingpagebynameusingget description: Marketo Get Landing Page by Name call: engage-rest-landing-pages.getlandingpagebynameusingget with: name: rest.name status: rest.status maxReturn: rest.maxReturn offset: rest.offset outputParameters: - type: object mapping: $. - path: /v1/asset/v1/landingpage/id-json name: rest-asset-v1-landingpage-id-json description: REST surface for rest-asset-v1-landingPage-id}.json. operations: - method: GET name: getlandingpagebyidusingget description: Marketo Get Landing Page by Id call: engage-rest-landing-pages.getlandingpagebyidusingget with: id: rest.id status: rest.status outputParameters: - type: object mapping: $. - method: POST name: updatelandingpageusingpost description: Marketo Update Landing Page Metadata call: engage-rest-landing-pages.updatelandingpageusingpost with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/asset/v1/landingpage/{id}/approvedraft-json name: rest-asset-v1-landingpage-id-approvedraft-json description: REST surface for rest-asset-v1-landingPage-id-approveDraft.json. operations: - method: POST name: approvelandingpageusingpost description: Marketo Approve Landing Page Draft call: engage-rest-landing-pages.approvelandingpageusingpost with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/asset/v1/landingpage/{id}/clone-json name: rest-asset-v1-landingpage-id-clone-json description: REST surface for rest-asset-v1-landingPage-id-clone.json. operations: - method: POST name: clonelandingpageusingpost description: Marketo Clone Landing Page call: engage-rest-landing-pages.clonelandingpageusingpost with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/asset/v1/landingpage/{id}/delete-json name: rest-asset-v1-landingpage-id-delete-json description: REST surface for rest-asset-v1-landingPage-id-delete.json. operations: - method: POST name: deletelandingpagebyidusingpost description: Marketo Delete Landing Page call: engage-rest-landing-pages.deletelandingpagebyidusingpost with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/asset/v1/landingpage/{id}/discarddraft-json name: rest-asset-v1-landingpage-id-discarddraft-json description: REST surface for rest-asset-v1-landingPage-id-discardDraft.json. operations: - method: POST name: discardlandingpagebyidusingpost description: Marketo Discard Landing Page Draft call: engage-rest-landing-pages.discardlandingpagebyidusingpost with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/asset/v1/landingpage/{id}/fullcontent-json name: rest-asset-v1-landingpage-id-fullcontent-json description: REST surface for rest-asset-v1-landingPage-id-fullContent.json. operations: - method: GET name: getlandingpagefullcontentusingget description: Marketo Get Landing Page Full Content call: engage-rest-landing-pages.getlandingpagefullcontentusingget with: id: rest.id leadId: rest.leadId segmentation: rest.segmentation outputParameters: - type: object mapping: $. - path: /v1/asset/v1/landingpage/{id}/unapprove-json name: rest-asset-v1-landingpage-id-unapprove-json description: REST surface for rest-asset-v1-landingPage-id-unapprove.json. operations: - method: POST name: unapprovelandingpagebyidusingpost description: Marketo Unapprove Landing Page call: engage-rest-landing-pages.unapprovelandingpagebyidusingpost with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/asset/v1/landingpage/{id}/variable/variableid-json name: rest-asset-v1-landingpage-id-variable-variableid-json description: REST surface for rest-asset-v1-landingPage-id-variable-variableId}.json. operations: - method: POST name: updatelandingpagevariableusingpost description: Marketo Update Landing Page Variable call: engage-rest-landing-pages.updatelandingpagevariableusingpost with: id: rest.id variableId: rest.variableId value: rest.value outputParameters: - type: object mapping: $. - path: /v1/asset/v1/landingpage/{id}/variables-json name: rest-asset-v1-landingpage-id-variables-json description: REST surface for rest-asset-v1-landingPage-id-variables.json. operations: - method: GET name: getvariablesusingget description: Marketo Get Landing Page Variables call: engage-rest-landing-pages.getvariablesusingget with: id: rest.id status: rest.status outputParameters: - type: object mapping: $. - path: /v1/asset/v1/landingpages-json name: rest-asset-v1-landingpages-json description: REST surface for rest-asset-v1-landingPages.json. operations: - method: GET name: browselandingpagesusingget description: Marketo Get Landing Pages call: engage-rest-landing-pages.browselandingpagesusingget with: status: rest.status maxReturn: rest.maxReturn offset: rest.offset folder: rest.folder outputParameters: - type: object mapping: $. - method: POST name: createlandingpageusingpost description: Marketo Create Landing Page call: engage-rest-landing-pages.createlandingpageusingpost with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: engage-rest-landing-pages-mcp port: 9090 transport: http description: MCP adapter for Marketo Engage Rest API — Landing Pages. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: marketo-get-landing-page-name description: Marketo Get Landing Page by Name hints: readOnly: true destructive: false idempotent: true call: engage-rest-landing-pages.getlandingpagebynameusingget with: name: tools.name status: tools.status maxReturn: tools.maxReturn offset: tools.offset outputParameters: - type: object mapping: $. - name: marketo-get-landing-page-id description: Marketo Get Landing Page by Id hints: readOnly: true destructive: false idempotent: true call: engage-rest-landing-pages.getlandingpagebyidusingget with: id: tools.id status: tools.status outputParameters: - type: object mapping: $. - name: marketo-update-landing-page-metadata description: Marketo Update Landing Page Metadata hints: readOnly: false destructive: false idempotent: false call: engage-rest-landing-pages.updatelandingpageusingpost with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: marketo-approve-landing-page-draft description: Marketo Approve Landing Page Draft hints: readOnly: false destructive: false idempotent: false call: engage-rest-landing-pages.approvelandingpageusingpost with: id: tools.id outputParameters: - type: object mapping: $. - name: marketo-clone-landing-page description: Marketo Clone Landing Page hints: readOnly: false destructive: false idempotent: false call: engage-rest-landing-pages.clonelandingpageusingpost with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: marketo-delete-landing-page description: Marketo Delete Landing Page hints: readOnly: false destructive: false idempotent: false call: engage-rest-landing-pages.deletelandingpagebyidusingpost with: id: tools.id outputParameters: - type: object mapping: $. - name: marketo-discard-landing-page-draft description: Marketo Discard Landing Page Draft hints: readOnly: false destructive: false idempotent: false call: engage-rest-landing-pages.discardlandingpagebyidusingpost with: id: tools.id outputParameters: - type: object mapping: $. - name: marketo-get-landing-page-full description: Marketo Get Landing Page Full Content hints: readOnly: true destructive: false idempotent: true call: engage-rest-landing-pages.getlandingpagefullcontentusingget with: id: tools.id leadId: tools.leadId segmentation: tools.segmentation outputParameters: - type: object mapping: $. - name: marketo-unapprove-landing-page description: Marketo Unapprove Landing Page hints: readOnly: false destructive: false idempotent: false call: engage-rest-landing-pages.unapprovelandingpagebyidusingpost with: id: tools.id outputParameters: - type: object mapping: $. - name: marketo-update-landing-page-variable description: Marketo Update Landing Page Variable hints: readOnly: false destructive: false idempotent: false call: engage-rest-landing-pages.updatelandingpagevariableusingpost with: id: tools.id variableId: tools.variableId value: tools.value outputParameters: - type: object mapping: $. - name: marketo-get-landing-page-variables description: Marketo Get Landing Page Variables hints: readOnly: true destructive: false idempotent: true call: engage-rest-landing-pages.getvariablesusingget with: id: tools.id status: tools.status outputParameters: - type: object mapping: $. - name: marketo-get-landing-pages description: Marketo Get Landing Pages hints: readOnly: true destructive: false idempotent: true call: engage-rest-landing-pages.browselandingpagesusingget with: status: tools.status maxReturn: tools.maxReturn offset: tools.offset folder: tools.folder outputParameters: - type: object mapping: $. - name: marketo-create-landing-page description: Marketo Create Landing Page hints: readOnly: false destructive: false idempotent: false call: engage-rest-landing-pages.createlandingpageusingpost with: body: tools.body outputParameters: - type: object mapping: $.