naftiko: 1.0.0-alpha2 info: label: Marketo Engage Rest API — Form Fields description: 'Marketo Engage Rest API — Form Fields. 10 operations. Lead operation: Marketo Get Available Form Fields. Self-contained Naftiko capability covering one Marketo business surface.' tags: - Marketo - Form Fields 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-form-fields baseUri: https://localhost:8080 description: Marketo Engage Rest API — Form Fields business capability. Self-contained, no shared references. resources: - name: rest-asset-v1-form-fields.json path: /rest/asset/v1/form/fields.json operations: - name: getallfieldsusingget method: GET description: Marketo Get Available Form Fields outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: maxReturn in: query type: integer description: Maximum number of fields to return. Max 200, default 20 - name: offset in: query type: integer description: Integer offset for paging - name: rest-asset-v1-form-programMemberFields.json path: /rest/asset/v1/form/programMemberFields.json operations: - name: getallprogrammemberfieldsusingget method: GET description: Marketo Get Available Form Program Member Fields outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: maxReturn in: query type: integer description: Maximum number of fields to return. Max 200, default 20 - name: offset in: query type: integer description: Integer offset for paging - 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-field-fieldId}.json path: /rest/asset/v1/form/{id}/field/{fieldId}.json operations: - name: updateformfieldusingpost method: POST description: Marketo Update Form Field outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: id 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-field-fieldId-delete.json path: /rest/asset/v1/form/{id}/field/{fieldId}/delete.json operations: - name: deleteformfieldusingpost method: POST description: Marketo Delete Form Field outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: id required: true - name: fieldId in: path type: string description: fieldId required: true - name: rest-asset-v1-form-id-fieldSet.json path: /rest/asset/v1/form/{id}/fieldSet.json operations: - name: addfieldsetusingpost method: POST description: Marketo Add Fieldset to 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: true - name: rest-asset-v1-form-id-fieldSet-fieldSetId-field-fieldId-delete.json path: /rest/asset/v1/form/{id}/fieldSet/{fieldSetId}/field/{fieldId}/delete.json operations: - name: deleteformfieldfromfieldsetusingpost method: POST description: Marketo Delete Field from Fieldset outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: id required: true - name: fieldSetId in: path type: string description: fieldSetId required: true - name: fieldId in: path type: string description: fieldId required: true - name: rest-asset-v1-form-id-fields.json path: /rest/asset/v1/form/{id}/fields.json operations: - name: getformfieldbyformvidusingget method: GET description: Marketo Get Fields for Form 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: addfieldtoaformusingpost method: POST description: Marketo Add Field to 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: true - name: rest-asset-v1-form-id-reArrange.json path: /rest/asset/v1/form/{id}/reArrange.json operations: - name: updatefieldpositionsusingpost method: POST description: Marketo Update Field Positions 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 exposes: - type: rest namespace: engage-rest-form-fields-rest port: 8080 description: REST adapter for Marketo Engage Rest API — Form Fields. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/asset/v1/form/fields-json name: rest-asset-v1-form-fields-json description: REST surface for rest-asset-v1-form-fields.json. operations: - method: GET name: getallfieldsusingget description: Marketo Get Available Form Fields call: engage-rest-form-fields.getallfieldsusingget with: maxReturn: rest.maxReturn offset: rest.offset outputParameters: - type: object mapping: $. - path: /v1/asset/v1/form/programmemberfields-json name: rest-asset-v1-form-programmemberfields-json description: REST surface for rest-asset-v1-form-programMemberFields.json. operations: - method: GET name: getallprogrammemberfieldsusingget description: Marketo Get Available Form Program Member Fields call: engage-rest-form-fields.getallprogrammemberfieldsusingget with: maxReturn: rest.maxReturn offset: rest.offset 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-form-fields.addformfieldvisibilityruleusingpost with: formId: rest.formId fieldId: rest.fieldId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/asset/v1/form/{id}/field/fieldid-json name: rest-asset-v1-form-id-field-fieldid-json description: REST surface for rest-asset-v1-form-id-field-fieldId}.json. operations: - method: POST name: updateformfieldusingpost description: Marketo Update Form Field call: engage-rest-form-fields.updateformfieldusingpost with: id: rest.id fieldId: rest.fieldId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/asset/v1/form/{id}/field/{fieldid}/delete-json name: rest-asset-v1-form-id-field-fieldid-delete-json description: REST surface for rest-asset-v1-form-id-field-fieldId-delete.json. operations: - method: POST name: deleteformfieldusingpost description: Marketo Delete Form Field call: engage-rest-form-fields.deleteformfieldusingpost with: id: rest.id fieldId: rest.fieldId outputParameters: - type: object mapping: $. - path: /v1/asset/v1/form/{id}/fieldset-json name: rest-asset-v1-form-id-fieldset-json description: REST surface for rest-asset-v1-form-id-fieldSet.json. operations: - method: POST name: addfieldsetusingpost description: Marketo Add Fieldset to Form call: engage-rest-form-fields.addfieldsetusingpost with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/asset/v1/form/{id}/fieldset/{fieldsetid}/field/{fieldid}/delete-json name: rest-asset-v1-form-id-fieldset-fieldsetid-field-fieldid-delete-json description: REST surface for rest-asset-v1-form-id-fieldSet-fieldSetId-field-fieldId-delete.json. operations: - method: POST name: deleteformfieldfromfieldsetusingpost description: Marketo Delete Field from Fieldset call: engage-rest-form-fields.deleteformfieldfromfieldsetusingpost with: id: rest.id fieldSetId: rest.fieldSetId fieldId: rest.fieldId outputParameters: - type: object mapping: $. - path: /v1/asset/v1/form/{id}/fields-json name: rest-asset-v1-form-id-fields-json description: REST surface for rest-asset-v1-form-id-fields.json. operations: - method: GET name: getformfieldbyformvidusingget description: Marketo Get Fields for Form call: engage-rest-form-fields.getformfieldbyformvidusingget with: id: rest.id status: rest.status outputParameters: - type: object mapping: $. - method: POST name: addfieldtoaformusingpost description: Marketo Add Field to Form call: engage-rest-form-fields.addfieldtoaformusingpost with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/asset/v1/form/{id}/rearrange-json name: rest-asset-v1-form-id-rearrange-json description: REST surface for rest-asset-v1-form-id-reArrange.json. operations: - method: POST name: updatefieldpositionsusingpost description: Marketo Update Field Positions call: engage-rest-form-fields.updatefieldpositionsusingpost with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: engage-rest-form-fields-mcp port: 9090 transport: http description: MCP adapter for Marketo Engage Rest API — Form Fields. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: marketo-get-available-form-fields description: Marketo Get Available Form Fields hints: readOnly: true destructive: false idempotent: true call: engage-rest-form-fields.getallfieldsusingget with: maxReturn: tools.maxReturn offset: tools.offset outputParameters: - type: object mapping: $. - name: marketo-get-available-form-program description: Marketo Get Available Form Program Member Fields hints: readOnly: true destructive: false idempotent: true call: engage-rest-form-fields.getallprogrammemberfieldsusingget with: maxReturn: tools.maxReturn offset: tools.offset 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-form-fields.addformfieldvisibilityruleusingpost with: formId: tools.formId fieldId: tools.fieldId body: tools.body outputParameters: - type: object mapping: $. - name: marketo-update-form-field description: Marketo Update Form Field hints: readOnly: false destructive: false idempotent: false call: engage-rest-form-fields.updateformfieldusingpost with: id: tools.id fieldId: tools.fieldId body: tools.body outputParameters: - type: object mapping: $. - name: marketo-delete-form-field description: Marketo Delete Form Field hints: readOnly: false destructive: false idempotent: false call: engage-rest-form-fields.deleteformfieldusingpost with: id: tools.id fieldId: tools.fieldId outputParameters: - type: object mapping: $. - name: marketo-add-fieldset-form description: Marketo Add Fieldset to Form hints: readOnly: false destructive: false idempotent: false call: engage-rest-form-fields.addfieldsetusingpost with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: marketo-delete-field-fieldset description: Marketo Delete Field from Fieldset hints: readOnly: false destructive: false idempotent: false call: engage-rest-form-fields.deleteformfieldfromfieldsetusingpost with: id: tools.id fieldSetId: tools.fieldSetId fieldId: tools.fieldId outputParameters: - type: object mapping: $. - name: marketo-get-fields-form description: Marketo Get Fields for Form hints: readOnly: true destructive: false idempotent: true call: engage-rest-form-fields.getformfieldbyformvidusingget with: id: tools.id status: tools.status outputParameters: - type: object mapping: $. - name: marketo-add-field-form description: Marketo Add Field to Form hints: readOnly: false destructive: false idempotent: false call: engage-rest-form-fields.addfieldtoaformusingpost with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: marketo-update-field-positions description: Marketo Update Field Positions hints: readOnly: false destructive: false idempotent: false call: engage-rest-form-fields.updatefieldpositionsusingpost with: id: tools.id body: tools.body outputParameters: - type: object mapping: $.