naftiko: 1.0.0-alpha2 info: label: Klaviyo API — Forms description: 'Klaviyo API — Forms. 9 operations. Lead operation: Get Form Version. Self-contained Naftiko capability covering one Klaviyo business surface.' tags: - Klaviyo - Forms created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: KLAVIYO_API_KEY: KLAVIYO_API_KEY capability: consumes: - type: http namespace: klaviyo-forms baseUri: https://a.klaviyo.com description: Klaviyo API — Forms business capability. Self-contained, no shared references. resources: - name: api-form-versions-id path: /api/form-versions/{id} operations: - name: getformversion method: GET description: Get Form Version outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the form version required: true - name: fields[form-version] in: query type: array description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets - name: revision in: header type: string description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true - name: api-form-versions-id-form path: /api/form-versions/{id}/form operations: - name: getformforformversion method: GET description: Get Form for Form Version outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the form version required: true - name: fields[form] in: query type: array description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets - name: revision in: header type: string description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true - name: api-form-versions-id-relationships-form path: /api/form-versions/{id}/relationships/form operations: - name: getformidforformversion method: GET description: Get Form ID for Form Version outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the form version required: true - name: revision in: header type: string description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true - name: api-forms path: /api/forms operations: - name: getforms method: GET description: Get Forms outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: fields[form] in: query type: array description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets - name: filter in: query type: string description: 'For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering
Allowed field(s)/operator(s):
`id`: `any`' - name: page[cursor] in: query type: string description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination - name: page[size] in: query type: integer description: 'Default: 20. Min: 1. Max: 100.' - name: sort in: query type: string description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting - name: revision in: header type: string description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true - name: createform method: POST description: Create Form outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: revision in: header type: string description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-forms-id path: /api/forms/{id} operations: - name: getform method: GET description: Get Form outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the form required: true - name: fields[form] in: query type: array description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets - name: revision in: header type: string description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true - name: deleteform method: DELETE description: Delete Form outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the form required: true - name: revision in: header type: string description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true - name: api-forms-id-form-versions path: /api/forms/{id}/form-versions operations: - name: getversionsforform method: GET description: Get Versions for Form outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the form required: true - name: fields[form-version] in: query type: array description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets - name: filter in: query type: string description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering
Allowed field(s)/operator(s):
`form_type` - name: page[cursor] in: query type: string description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination - name: page[size] in: query type: integer description: 'Default: 20. Min: 1. Max: 100.' - name: sort in: query type: string description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting - name: revision in: header type: string description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true - name: api-forms-id-relationships-form-versions path: /api/forms/{id}/relationships/form-versions operations: - name: getversionidsforform method: GET description: Get Version IDs for Form outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the form required: true - name: filter in: query type: string description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering
Allowed field(s)/operator(s):
`form_type` - name: page[cursor] in: query type: string description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination - name: page[size] in: query type: integer description: 'Default: 20. Min: 1. Max: 100.' - name: sort in: query type: string description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting - name: revision in: header type: string description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true authentication: type: apikey key: Authorization value: '{{env.KLAVIYO_API_KEY}}' placement: header exposes: - type: rest namespace: klaviyo-forms-rest port: 8080 description: REST adapter for Klaviyo API — Forms. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/form-versions/{id} name: api-form-versions-id description: REST surface for api-form-versions-id. operations: - method: GET name: getformversion description: Get Form Version call: klaviyo-forms.getformversion with: id: rest.id fields[form-version]: rest.fields[form-version] revision: rest.revision outputParameters: - type: object mapping: $. - path: /v1/api/form-versions/{id}/form name: api-form-versions-id-form description: REST surface for api-form-versions-id-form. operations: - method: GET name: getformforformversion description: Get Form for Form Version call: klaviyo-forms.getformforformversion with: id: rest.id fields[form]: rest.fields[form] revision: rest.revision outputParameters: - type: object mapping: $. - path: /v1/api/form-versions/{id}/relationships/form name: api-form-versions-id-relationships-form description: REST surface for api-form-versions-id-relationships-form. operations: - method: GET name: getformidforformversion description: Get Form ID for Form Version call: klaviyo-forms.getformidforformversion with: id: rest.id revision: rest.revision outputParameters: - type: object mapping: $. - path: /v1/api/forms name: api-forms description: REST surface for api-forms. operations: - method: GET name: getforms description: Get Forms call: klaviyo-forms.getforms with: fields[form]: rest.fields[form] filter: rest.filter page[cursor]: rest.page[cursor] page[size]: rest.page[size] sort: rest.sort revision: rest.revision outputParameters: - type: object mapping: $. - method: POST name: createform description: Create Form call: klaviyo-forms.createform with: revision: rest.revision body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/forms/{id} name: api-forms-id description: REST surface for api-forms-id. operations: - method: GET name: getform description: Get Form call: klaviyo-forms.getform with: id: rest.id fields[form]: rest.fields[form] revision: rest.revision outputParameters: - type: object mapping: $. - method: DELETE name: deleteform description: Delete Form call: klaviyo-forms.deleteform with: id: rest.id revision: rest.revision outputParameters: - type: object mapping: $. - path: /v1/api/forms/{id}/form-versions name: api-forms-id-form-versions description: REST surface for api-forms-id-form-versions. operations: - method: GET name: getversionsforform description: Get Versions for Form call: klaviyo-forms.getversionsforform with: id: rest.id fields[form-version]: rest.fields[form-version] filter: rest.filter page[cursor]: rest.page[cursor] page[size]: rest.page[size] sort: rest.sort revision: rest.revision outputParameters: - type: object mapping: $. - path: /v1/api/forms/{id}/relationships/form-versions name: api-forms-id-relationships-form-versions description: REST surface for api-forms-id-relationships-form-versions. operations: - method: GET name: getversionidsforform description: Get Version IDs for Form call: klaviyo-forms.getversionidsforform with: id: rest.id filter: rest.filter page[cursor]: rest.page[cursor] page[size]: rest.page[size] sort: rest.sort revision: rest.revision outputParameters: - type: object mapping: $. - type: mcp namespace: klaviyo-forms-mcp port: 9090 transport: http description: MCP adapter for Klaviyo API — Forms. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-form-version description: Get Form Version hints: readOnly: true destructive: false idempotent: true call: klaviyo-forms.getformversion with: id: tools.id fields[form-version]: tools.fields[form-version] revision: tools.revision outputParameters: - type: object mapping: $. - name: get-form-form-version description: Get Form for Form Version hints: readOnly: true destructive: false idempotent: true call: klaviyo-forms.getformforformversion with: id: tools.id fields[form]: tools.fields[form] revision: tools.revision outputParameters: - type: object mapping: $. - name: get-form-id-form-version description: Get Form ID for Form Version hints: readOnly: true destructive: false idempotent: true call: klaviyo-forms.getformidforformversion with: id: tools.id revision: tools.revision outputParameters: - type: object mapping: $. - name: get-forms description: Get Forms hints: readOnly: true destructive: false idempotent: true call: klaviyo-forms.getforms with: fields[form]: tools.fields[form] filter: tools.filter page[cursor]: tools.page[cursor] page[size]: tools.page[size] sort: tools.sort revision: tools.revision outputParameters: - type: object mapping: $. - name: create-form description: Create Form hints: readOnly: false destructive: false idempotent: false call: klaviyo-forms.createform with: revision: tools.revision body: tools.body outputParameters: - type: object mapping: $. - name: get-form description: Get Form hints: readOnly: true destructive: false idempotent: true call: klaviyo-forms.getform with: id: tools.id fields[form]: tools.fields[form] revision: tools.revision outputParameters: - type: object mapping: $. - name: delete-form description: Delete Form hints: readOnly: false destructive: true idempotent: true call: klaviyo-forms.deleteform with: id: tools.id revision: tools.revision outputParameters: - type: object mapping: $. - name: get-versions-form description: Get Versions for Form hints: readOnly: true destructive: false idempotent: true call: klaviyo-forms.getversionsforform with: id: tools.id fields[form-version]: tools.fields[form-version] filter: tools.filter page[cursor]: tools.page[cursor] page[size]: tools.page[size] sort: tools.sort revision: tools.revision outputParameters: - type: object mapping: $. - name: get-version-ids-form description: Get Version IDs for Form hints: readOnly: true destructive: false idempotent: true call: klaviyo-forms.getversionidsforform with: id: tools.id filter: tools.filter page[cursor]: tools.page[cursor] page[size]: tools.page[size] sort: tools.sort revision: tools.revision outputParameters: - type: object mapping: $.