Marketo · Capability
Marketo Engage Rest API — Forms
Marketo Engage Rest API — Forms. 14 operations. Lead operation: Marketo Get Form by Name. Self-contained Naftiko capability covering one Marketo business surface.
What You Can Do
GET
Getlpformbynameusingget
— Marketo Get Form by Name
/v1/asset/v1/form/byname-json
POST
Addformfieldvisibilityruleusingpost
— Marketo Add Form Field Visibility Rules
/v1/asset/v1/form/{formid}/field/{fieldid}/visibility-json
GET
Getlpformbyidusingget
— Marketo Get Form By Id
/v1/asset/v1/form/id-json
POST
Updateformsusingpost
— Marketo Update Form Metadata
/v1/asset/v1/form/id-json
POST
Approvefromusingpost
— Marketo Approve Form Draft
/v1/asset/v1/form/{id}/approvedraft-json
POST
Clonelpformsusingpost
— Marketo Clone Form
/v1/asset/v1/form/{id}/clone-json
POST
Deleteformbyidusingpost
— Marketo Delete Form
/v1/asset/v1/form/{id}/delete-json
POST
Discardformbyidusingpost
— Marketo Discard Form Draft
/v1/asset/v1/form/{id}/discarddraft-json
POST
Updateformsubmitbuttonusingpost
— Marketo Update Submit Button
/v1/asset/v1/form/{id}/submitbutton-json
GET
Getthankyoupagebyidusingget
— Marketo Get Thank You Page by Form Id
/v1/asset/v1/form/{id}/thankyoupage-json
POST
Updatethankyoupagebyidusingpost
— Marketo Update Thank You Page
/v1/asset/v1/form/{id}/thankyoupage-json
GET
Getformusedbyusingget
— Marketo Get Form Used By
/v1/asset/v1/form/{id}/usedby-json
GET
Browseforms2usingget
— Marketo Get Forms
/v1/asset/v1/forms-json
POST
Createlpformsusingpost
— Marketo Create Form
/v1/asset/v1/forms-json
MCP Tools
marketo-get-form-name
Marketo Get Form by Name
read-only
idempotent
marketo-add-form-field-visibility
Marketo Add Form Field Visibility Rules
marketo-get-form-id
Marketo Get Form By Id
read-only
idempotent
marketo-update-form-metadata
Marketo Update Form Metadata
marketo-approve-form-draft
Marketo Approve Form Draft
marketo-clone-form
Marketo Clone Form
marketo-delete-form
Marketo Delete Form
marketo-discard-form-draft
Marketo Discard Form Draft
marketo-update-submit-button
Marketo Update Submit Button
marketo-get-thank-you-page
Marketo Get Thank You Page by Form Id
read-only
idempotent
marketo-update-thank-you-page
Marketo Update Thank You Page
marketo-get-form-used
Marketo Get Form Used By
read-only
idempotent
marketo-get-forms
Marketo Get Forms
read-only
idempotent
marketo-create-form
Marketo Create Form
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Marketo Engage Rest API — Forms
description: 'Marketo Engage Rest API — Forms. 14 operations. Lead operation: Marketo Get Form by Name. Self-contained Naftiko
capability covering one Marketo business surface.'
tags:
- Marketo
- Forms
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-forms
baseUri: https://localhost:8080
description: Marketo Engage Rest API — Forms business capability. Self-contained, no shared references.
resources:
- name: rest-asset-v1-form-byName.json
path: /rest/asset/v1/form/byName.json
operations:
- name: getlpformbynameusingget
method: GET
description: Marketo Get Form by Name
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: query
type: string
description: Name of the form
required: true
- name: status
in: query
type: string
description: Status filter for draft or approved versions
- name: folder
in: query
type: string
description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
- name: rest-asset-v1-form-formId-field-fieldId-visibility.json
path: /rest/asset/v1/form/{formId}/field/{fieldId}/visibility.json
operations:
- name: addformfieldvisibilityruleusingpost
method: POST
description: Marketo Add Form Field Visibility Rules
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: formId
in: path
type: integer
description: formId
required: true
- name: fieldId
in: path
type: string
description: fieldId
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: rest-asset-v1-form-id}.json
path: /rest/asset/v1/form/{id}.json
operations:
- name: getlpformbyidusingget
method: GET
description: Marketo Get Form 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: updateformsusingpost
method: POST
description: Marketo Update Form 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-form-id-approveDraft.json
path: /rest/asset/v1/form/{id}/approveDraft.json
operations:
- name: approvefromusingpost
method: POST
description: Marketo Approve Form Draft
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: id
required: true
- name: rest-asset-v1-form-id-clone.json
path: /rest/asset/v1/form/{id}/clone.json
operations:
- name: clonelpformsusingpost
method: POST
description: Marketo Clone Form
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: false
- name: rest-asset-v1-form-id-delete.json
path: /rest/asset/v1/form/{id}/delete.json
operations:
- name: deleteformbyidusingpost
method: POST
description: Marketo Delete Form
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: id
required: true
- name: rest-asset-v1-form-id-discardDraft.json
path: /rest/asset/v1/form/{id}/discardDraft.json
operations:
- name: discardformbyidusingpost
method: POST
description: Marketo Discard Form Draft
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: id
required: true
- name: rest-asset-v1-form-id-submitButton.json
path: /rest/asset/v1/form/{id}/submitButton.json
operations:
- name: updateformsubmitbuttonusingpost
method: POST
description: Marketo Update Submit Button
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-form-id-thankYouPage.json
path: /rest/asset/v1/form/{id}/thankYouPage.json
operations:
- name: getthankyoupagebyidusingget
method: GET
description: Marketo Get Thank You Page by Form 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: updatethankyoupagebyidusingpost
method: POST
description: Marketo Update Thank You 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-form-id-usedBy.json
path: /rest/asset/v1/form/{id}/usedBy.json
operations:
- name: getformusedbyusingget
method: GET
description: Marketo Get Form Used By
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: Id of the form
required: true
- name: offset
in: query
type: integer
description: Integer offset for paging
- name: maxReturn
in: query
type: integer
description: Maximum number of assets to return. Max 200, default 20
- name: rest-asset-v1-forms.json
path: /rest/asset/v1/forms.json
operations:
- name: browseforms2usingget
method: GET
description: Marketo Get Forms
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: status
in: query
type: string
description: Status filter for draft or approved versions
- name: folder
in: query
type: string
description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
required: true
- name: maxReturn
in: query
type: string
description: Maximum number of channels to return. Max 200, default 20
- name: offset
in: query
type: string
description: Integer offset for paging
- name: createlpformsusingpost
method: POST
description: Marketo Create Form
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-forms-rest
port: 8080
description: REST adapter for Marketo Engage Rest API — Forms. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/asset/v1/form/byname-json
name: rest-asset-v1-form-byname-json
description: REST surface for rest-asset-v1-form-byName.json.
operations:
- method: GET
name: getlpformbynameusingget
description: Marketo Get Form by Name
call: engage-rest-forms.getlpformbynameusingget
with:
name: rest.name
status: rest.status
folder: rest.folder
outputParameters:
- type: object
mapping: $.
- path: /v1/asset/v1/form/{formid}/field/{fieldid}/visibility-json
name: rest-asset-v1-form-formid-field-fieldid-visibility-json
description: REST surface for rest-asset-v1-form-formId-field-fieldId-visibility.json.
operations:
- method: POST
name: addformfieldvisibilityruleusingpost
description: Marketo Add Form Field Visibility Rules
call: engage-rest-forms.addformfieldvisibilityruleusingpost
with:
formId: rest.formId
fieldId: rest.fieldId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/asset/v1/form/id-json
name: rest-asset-v1-form-id-json
description: REST surface for rest-asset-v1-form-id}.json.
operations:
- method: GET
name: getlpformbyidusingget
description: Marketo Get Form By Id
call: engage-rest-forms.getlpformbyidusingget
with:
id: rest.id
status: rest.status
outputParameters:
- type: object
mapping: $.
- method: POST
name: updateformsusingpost
description: Marketo Update Form Metadata
call: engage-rest-forms.updateformsusingpost
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/asset/v1/form/{id}/approvedraft-json
name: rest-asset-v1-form-id-approvedraft-json
description: REST surface for rest-asset-v1-form-id-approveDraft.json.
operations:
- method: POST
name: approvefromusingpost
description: Marketo Approve Form Draft
call: engage-rest-forms.approvefromusingpost
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/asset/v1/form/{id}/clone-json
name: rest-asset-v1-form-id-clone-json
description: REST surface for rest-asset-v1-form-id-clone.json.
operations:
- method: POST
name: clonelpformsusingpost
description: Marketo Clone Form
call: engage-rest-forms.clonelpformsusingpost
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/asset/v1/form/{id}/delete-json
name: rest-asset-v1-form-id-delete-json
description: REST surface for rest-asset-v1-form-id-delete.json.
operations:
- method: POST
name: deleteformbyidusingpost
description: Marketo Delete Form
call: engage-rest-forms.deleteformbyidusingpost
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/asset/v1/form/{id}/discarddraft-json
name: rest-asset-v1-form-id-discarddraft-json
description: REST surface for rest-asset-v1-form-id-discardDraft.json.
operations:
- method: POST
name: discardformbyidusingpost
description: Marketo Discard Form Draft
call: engage-rest-forms.discardformbyidusingpost
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/asset/v1/form/{id}/submitbutton-json
name: rest-asset-v1-form-id-submitbutton-json
description: REST surface for rest-asset-v1-form-id-submitButton.json.
operations:
- method: POST
name: updateformsubmitbuttonusingpost
description: Marketo Update Submit Button
call: engage-rest-forms.updateformsubmitbuttonusingpost
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/asset/v1/form/{id}/thankyoupage-json
name: rest-asset-v1-form-id-thankyoupage-json
description: REST surface for rest-asset-v1-form-id-thankYouPage.json.
operations:
- method: GET
name: getthankyoupagebyidusingget
description: Marketo Get Thank You Page by Form Id
call: engage-rest-forms.getthankyoupagebyidusingget
with:
id: rest.id
status: rest.status
outputParameters:
- type: object
mapping: $.
- method: POST
name: updatethankyoupagebyidusingpost
description: Marketo Update Thank You Page
call: engage-rest-forms.updatethankyoupagebyidusingpost
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/asset/v1/form/{id}/usedby-json
name: rest-asset-v1-form-id-usedby-json
description: REST surface for rest-asset-v1-form-id-usedBy.json.
operations:
- method: GET
name: getformusedbyusingget
description: Marketo Get Form Used By
call: engage-rest-forms.getformusedbyusingget
with:
id: rest.id
offset: rest.offset
maxReturn: rest.maxReturn
outputParameters:
- type: object
mapping: $.
- path: /v1/asset/v1/forms-json
name: rest-asset-v1-forms-json
description: REST surface for rest-asset-v1-forms.json.
operations:
- method: GET
name: browseforms2usingget
description: Marketo Get Forms
call: engage-rest-forms.browseforms2usingget
with:
status: rest.status
folder: rest.folder
maxReturn: rest.maxReturn
offset: rest.offset
outputParameters:
- type: object
mapping: $.
- method: POST
name: createlpformsusingpost
description: Marketo Create Form
call: engage-rest-forms.createlpformsusingpost
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: engage-rest-forms-mcp
port: 9090
transport: http
description: MCP adapter for Marketo Engage Rest API — Forms. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: marketo-get-form-name
description: Marketo Get Form by Name
hints:
readOnly: true
destructive: false
idempotent: true
call: engage-rest-forms.getlpformbynameusingget
with:
name: tools.name
status: tools.status
folder: tools.folder
outputParameters:
- type: object
mapping: $.
- name: marketo-add-form-field-visibility
description: Marketo Add Form Field Visibility Rules
hints:
readOnly: false
destructive: false
idempotent: false
call: engage-rest-forms.addformfieldvisibilityruleusingpost
with:
formId: tools.formId
fieldId: tools.fieldId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: marketo-get-form-id
description: Marketo Get Form By Id
hints:
readOnly: true
destructive: false
idempotent: true
call: engage-rest-forms.getlpformbyidusingget
with:
id: tools.id
status: tools.status
outputParameters:
- type: object
mapping: $.
- name: marketo-update-form-metadata
description: Marketo Update Form Metadata
hints:
readOnly: false
destructive: false
idempotent: false
call: engage-rest-forms.updateformsusingpost
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: marketo-approve-form-draft
description: Marketo Approve Form Draft
hints:
readOnly: false
destructive: false
idempotent: false
call: engage-rest-forms.approvefromusingpost
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: marketo-clone-form
description: Marketo Clone Form
hints:
readOnly: false
destructive: false
idempotent: false
call: engage-rest-forms.clonelpformsusingpost
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: marketo-delete-form
description: Marketo Delete Form
hints:
readOnly: false
destructive: false
idempotent: false
call: engage-rest-forms.deleteformbyidusingpost
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: marketo-discard-form-draft
description: Marketo Discard Form Draft
hints:
readOnly: false
destructive: false
idempotent: false
call: engage-rest-forms.discardformbyidusingpost
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: marketo-update-submit-button
description: Marketo Update Submit Button
hints:
readOnly: false
destructive: false
idempotent: false
call: engage-rest-forms.updateformsubmitbuttonusingpost
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: marketo-get-thank-you-page
description: Marketo Get Thank You Page by Form Id
hints:
readOnly: true
destructive: false
idempotent: true
call: engage-rest-forms.getthankyoupagebyidusingget
with:
id: tools.id
status: tools.status
outputParameters:
- type: object
mapping: $.
- name: marketo-update-thank-you-page
description: Marketo Update Thank You Page
hints:
readOnly: false
destructive: false
idempotent: false
call: engage-rest-forms.updatethankyoupagebyidusingpost
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: marketo-get-form-used
description: Marketo Get Form Used By
hints:
readOnly: true
destructive: false
idempotent: true
call: engage-rest-forms.getformusedbyusingget
with:
id: tools.id
offset: tools.offset
maxReturn: tools.maxReturn
outputParameters:
- type: object
mapping: $.
- name: marketo-get-forms
description: Marketo Get Forms
hints:
readOnly: true
destructive: false
idempotent: true
call: engage-rest-forms.browseforms2usingget
with:
status: tools.status
folder: tools.folder
maxReturn: tools.maxReturn
offset: tools.offset
outputParameters:
- type: object
mapping: $.
- name: marketo-create-form
description: Marketo Create Form
hints:
readOnly: false
destructive: false
idempotent: false
call: engage-rest-forms.createlpformsusingpost
with:
body: tools.body
outputParameters:
- type: object
mapping: $.