openapi: 3.0.1 info: title: Marketo Engage Rest Approve Forms 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: Forms description: Form Controller paths: /rest/asset/v1/form/byName.json: get: tags: - Forms summary: Marketo Get Form by Name description: 'Retrieves a form record by its name. Required Permissions: Read-Only Assets, Read-Write Assets' operationId: getLpFormByNameUsingGET parameters: - name: name in: query description: Name of the form required: true schema: type: string - name: status in: query description: Status filter for draft or approved versions schema: type: string enum: - approved - draft - name: folder in: query description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program' schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ResponseOfLpFormResponse' /rest/asset/v1/form/{formId}/field/{fieldId}/visibility.json: post: tags: - Forms summary: Marketo Add Form Field Visibility Rules description: 'Adds a visibility rule to the target form field. Required Permissions: Read-Write Assets' operationId: addFormFieldVisibilityRuleUsingPOST parameters: - name: formId in: path description: formId required: true schema: type: integer format: int32 - name: fieldId in: path description: fieldId required: true schema: type: string requestBody: description: addFormFieldVisibilityRequest content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AddFormFieldVisibilityRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ResponseOfFormVisibilityRuleResponse' x-codegen-request-body-name: addFormFieldVisibilityRequest /rest/asset/v1/form/{id}.json: get: tags: - Forms summary: Marketo Get Form By Id description: 'Retrieves a form record by its id. Required Permissions: Read-Only Assets, Read-Write Assets' operationId: getLpFormByIdUsingGET 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/ResponseOfLpFormResponse' post: tags: - Forms summary: Marketo Update Form Metadata description: 'Updates the metadata of the target form. Required Permissions: Read-Write Assets' operationId: updateFormsUsingPOST parameters: - name: id in: path description: id required: true schema: type: integer format: int32 requestBody: description: updateFormMetaDataRequest content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UpdateFormMetaDataRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ResponseOfLpFormResponse' x-codegen-request-body-name: updateFormMetaDataRequest /rest/asset/v1/form/{id}/approveDraft.json: post: tags: - Forms summary: Marketo Approve Form Draft description: 'Approves the current draft of the form. This will delete the current approved version of the form. Required Permissions: Approve Assets' operationId: approveFromUsingPOST 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/ResponseOfLpFormResponse' /rest/asset/v1/form/{id}/clone.json: post: tags: - Forms summary: Marketo Clone Form description: 'Clones the target form. Required Permissions: Read-Write Assets' operationId: cloneLpFormsUsingPOST parameters: - name: id in: path description: id required: true schema: type: integer format: int32 requestBody: description: cloneFormRequest content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CloneFormRequest' required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ResponseOfLpFormResponse' x-codegen-request-body-name: cloneFormRequest /rest/asset/v1/form/{id}/delete.json: post: tags: - Forms summary: Marketo Delete Form description: 'Deletes the target form. Forms which are in use by landing pages may not be deleted until they are removed from all landing pages. Required Permissions: Read-Write Assets' operationId: deleteFormByIdUsingPOST 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/form/{id}/discardDraft.json: post: tags: - Forms summary: Marketo Discard Form Draft description: 'Discards the current draft of the form. Required Permissions: Read-Write Assets' operationId: discardFormByIdUsingPOST 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/form/{id}/submitButton.json: post: tags: - Forms summary: Marketo Update Submit Button description: 'Updates the submit button configuration for the target form. Required Permissions: Read-Write Assets' operationId: updateFormSubmitButtonUsingPOST parameters: - name: id in: path description: id required: true schema: type: integer format: int32 requestBody: description: submitButtonRequest content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SubmitButtonRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ResponseOfLpFormResponse' x-codegen-request-body-name: submitButtonRequest /rest/asset/v1/form/{id}/thankYouPage.json: get: tags: - Forms summary: Marketo Get Thank You Page by Form Id description: 'Returns the thank you page configuration for a given form. Required Permissions: Read-Only Assets, Read-Write Assets' operationId: getThankYouPageByIdUsingGET 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/ResponseOfThankYouPageResponse' post: tags: - Forms summary: Marketo Update Thank You Page description: 'Updates the thank you page configuration for a given form. This update is destructive and the resulting draft will not have any memory of the previous configuration. Required Permissions: Read-Only Assets, Read-Write Assets' operationId: updateThankYouPageByIdUsingPOST parameters: - name: id in: path description: id required: true schema: type: integer format: int32 requestBody: description: thankYouPageRequest content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UpdateThankYouPageRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ResponseOfThankYouPageResponse' x-codegen-request-body-name: thankYouPageRequest /rest/asset/v1/forms.json: get: tags: - Forms summary: Marketo Get Forms description: 'Retrieves a list of accessible form records from the target instance. Required Permissions: Read-Only Assets, Read-Write Assets' operationId: browseForms2UsingGET parameters: - name: status in: query description: Status filter for draft or approved versions schema: type: string enum: - approved - draft - name: folder in: query description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program' required: true schema: type: string - name: maxReturn in: query description: Maximum number of channels to return. Max 200, default 20 schema: type: string - name: offset in: query description: Integer offset for paging schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ResponseOfLpFormResponse' post: tags: - Forms summary: Marketo Create Form description: 'Creates a new form. Required Permissions: Read-Write Assets' operationId: createLpFormsUsingPOST requestBody: description: createFormRequest content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CreateLpFormRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ResponseOfLpFormResponse' x-codegen-request-body-name: createFormRequest /rest/asset/v1/form/{id}/usedBy.json: get: tags: - Forms summary: Marketo Get Form Used By description: 'Returns a list of asset records which depend on a given form. Required Permissions: Read-Only Assets, Read-Write Assets' operationId: getFormUsedByUsingGET parameters: - name: id in: path description: Id of the form required: true schema: type: integer format: int32 - name: offset in: query description: Integer offset for paging schema: type: integer format: int32 - name: maxReturn in: query description: Maximum number of assets to return. Max 200, default 20 schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ResponseOfFormUsedByResponse' components: schemas: 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 VisibilityRuleRequest: required: - operator - subjectField - values type: object properties: altLabel: type: string operator: type: string description: Operation to apply to target field. Evaluated against the list of values when applicable. enum: - is - isNot - isEmpty - isNotEmpty - startsWith - notStartsWith - endsWith - notEndsWith - contains - notContains - greaterThan - lessThan - atLeast - atMost - between - notBetween - notInTimeFrame - inPast - notInPast - after - before - inTimeFrame - onOrAfter - onOrBefore pickListValues: type: array description: Alternative label to display when rules are applied. items: $ref: '#/components/schemas/PickListDTO' subjectField: type: string description: Target field id to apply the operation defined by operator to values: type: array description: Comma-separated list of values to match against. Valid for operators 'is', 'isNot', 'startsWith', 'notStartsWith', 'endsWith', 'notEndsWith', 'contains', and 'notContains' items: type: string ThankYouPageRequest: required: - followupType - followupValue - operator - subjectField - values type: object properties: default: type: boolean description: When true, this is the default rule, and will be applied when a user does not qualify for any of the other rules followupType: type: string description: Type of followup. When set to url, will follow to the url set in followupValue. When set to lp, will follow to the Landing page with the id given in followupValue followupValue: type: string description: Where to follow to on submission. Given as a URL or and Integer depending on followupType operator: type: string description: Operator to evaluate aginst the subject field subjectField: type: string description: Field to apply to operator to values: type: array description: Comma-separated list of values to compare to with the operator items: type: string SubmitButtonRequest: type: object properties: buttonPosition: type: integer description: Location in pixels of the button relative to the left of the form format: int32 buttonStyle: type: string description: Style of the button label: type: string description: Label text of the button waitingLabel: type: string description: Waiting text of the button AddFormFieldVisibilityRequest: type: object properties: visibilityRule: $ref: '#/components/schemas/FormFieldVisibilityRequest' CloneFormRequest: required: - folder - name type: object properties: name: type: string description: Name for the cloned form folder: $ref: '#/components/schemas/Folder' description: type: string description: Description of the cloned form FormUsedByResponse: required: - id - name - status - type - updatedAt type: object properties: id: type: integer description: Id of the asset format: int64 name: type: string description: Name of the asset type: type: string description: Type of asset status: type: string description: Status filter for draft or approved versions enum: - approved - draft updatedAt: type: string description: Datetime the asset was most recently updated format: date-time ResponseOfThankYouPageResponse: type: object properties: errors: type: array items: $ref: '#/components/schemas/Error' requestId: type: string result: type: array items: $ref: '#/components/schemas/ThankYouPageResponse' success: type: boolean warnings: type: array items: type: string UpdateThankYouPageRequest: type: object properties: thankyou: type: array description: JSON array of followup rules items: $ref: '#/components/schemas/ThankYouPageRequest' 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 FormVisibilityRuleResponse: type: object properties: formFieldId: type: string ruleType: type: string rules: type: array items: $ref: '#/components/schemas/FormVisibilityRuleDTO' FormThankYouPageDTO: type: object properties: default: type: boolean followupType: type: string followupValue: type: object properties: {} operator: type: string subjectField: type: string values: type: array items: type: string ThankYouPageResponse: type: object properties: id: type: integer format: int32 thankYouList: type: array items: $ref: '#/components/schemas/FormThankYouPageDTO' ResponseOfLpFormResponse: type: object properties: errors: type: array items: $ref: '#/components/schemas/Error' requestId: type: string result: type: array items: $ref: '#/components/schemas/LpFormResponse' success: type: boolean warnings: type: array items: type: string FormFieldVisibilityRequest: required: - ruleType - rules type: object properties: ruleType: type: string description: Type of rule to apply enum: - show - alwaysShow - hide rules: type: array description: JSON Array of rules items: $ref: '#/components/schemas/VisibilityRuleRequest' 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 CreateLpFormRequest: required: - folder type: object properties: description: type: string description: Description of the form folder: $ref: '#/components/schemas/Folder' fontFamily: type: string description: font-family property for the form fontSize: type: string description: font-size property of the form knownVisitor: $ref: '#/components/schemas/FormKnownVisitorDTO' labelPosition: type: string description: Default positioning of labels. language: type: string description: Language of the form locale: type: string description: Locale of the form name: type: string description: Name of the form progressiveProfiling: type: boolean description: Whether progressive profiling is enabled for the form theme: type: string description: CSS theme for the form to use FormKnownVisitorDTO: type: object properties: template: type: string type: type: string PickListDTO: type: object properties: isDefault: type: boolean label: type: string selected: type: boolean value: type: string UpdateFormMetaDataRequest: type: object properties: customCss: type: string description: Custom CSS to apply to the form description: type: string description: Description of the form fontFamily: type: string description: font-family property for the form fontSize: type: string description: font-size property of the form knownVisitor: $ref: '#/components/schemas/FormKnownVisitorDTO' labelPosition: type: string description: Default positioning of labels. language: type: string description: Language of the form locale: type: string description: Locale of the form name: type: string description: Name of the form progressiveProfiling: type: boolean description: Whether progressive profiling is enabled for the form theme: type: string description: CSS theme for the form to use LpFormResponse: required: - buttonLabel - buttonLocation - folder - fontFamily - fontSize - knownVisitor - labelPosition - language - locale - progressiveProfiling - status - thankYouList - theme - waitingLabel type: object properties: buttonLabel: type: string description: Label text of the button buttonLocation: type: integer description: Location in pixels of the button relative to the left of the form format: int32 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' fontFamily: type: string description: font-family property for the form fontSize: type: string description: font-size property of the form id: type: integer description: Id of the asset format: int64 knownVisitor: $ref: '#/components/schemas/FormKnownVisitorDTO' labelPosition: type: string description: Default positioning of labels. language: type: string description: Language of the form locale: type: string description: Locale of the form name: type: string description: Name of the asset progressiveProfiling: type: boolean description: Whether progressive profiling is enabled for the form status: type: string description: Status filter for draft or approved versions enum: - approved - draft thankYouList: type: array description: List of thank you page behaviors for the form items: $ref: '#/components/schemas/FormThankYouPageDTO' theme: type: string description: CSS theme for the form to use 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 waitingLabel: type: string description: Waiting text of the button ResponseOfFormUsedByResponse: type: object properties: errors: type: array items: $ref: '#/components/schemas/Error' requestId: type: string result: type: array items: $ref: '#/components/schemas/FormUsedByResponse' success: type: boolean warnings: type: array items: type: string FormVisibilityRuleDTO: type: object properties: altLabel: type: string operator: type: string picklistFilterValues: type: array items: $ref: '#/components/schemas/PickListDTO' subjectField: type: string values: type: array items: type: string IdResponse: required: - id type: object properties: id: type: integer description: Id of the asset format: int32 ResponseOfFormVisibilityRuleResponse: type: object properties: errors: type: array items: $ref: '#/components/schemas/Error' requestId: type: string result: type: array items: $ref: '#/components/schemas/FormVisibilityRuleResponse' success: type: boolean warnings: type: array items: type: string x-original-swagger-version: '2.0'