naftiko: 1.0.0-alpha2 info: label: Klaviyo API — Client description: 'Klaviyo API — Client. 11 operations. Lead operation: Create Client Back In Stock Subscription. Self-contained Naftiko capability covering one Klaviyo business surface.' tags: - Klaviyo - Client created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: KLAVIYO_API_KEY: KLAVIYO_API_KEY capability: consumes: - type: http namespace: klaviyo-client baseUri: https://a.klaviyo.com description: Klaviyo API — Client business capability. Self-contained, no shared references. resources: - name: client-back-in-stock-subscriptions path: /client/back-in-stock-subscriptions operations: - name: createclientbackinstocksubscription method: POST description: Create Client Back In Stock Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: company_id in: query type: string description: Your Public API Key / Site ID. See [this article](https://help.klaviyo.com/hc/en-us/articles/115005062267) for more details. required: true - 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: client-event-bulk-create path: /client/event-bulk-create operations: - name: bulkcreateclientevents method: POST description: Bulk Create Client Events outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: company_id in: query type: string description: Your Public API Key / Site ID. See [this article](https://help.klaviyo.com/hc/en-us/articles/115005062267) for more details. required: true - 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: client-events path: /client/events operations: - name: createclientevent method: POST description: Create Client Event outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: company_id in: query type: string description: Your Public API Key / Site ID. See [this article](https://help.klaviyo.com/hc/en-us/articles/115005062267) for more details. required: true - 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: client-geofences path: /client/geofences operations: - name: getclientgeofences method: GET description: Get Client Geofences outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: company_id in: query type: string description: Your Public API Key / Site ID. See [this article](https://help.klaviyo.com/hc/en-us/articles/115005062267) for more details. required: true - name: fields[geofence] in: query type: array description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets - 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: X-Klaviyo-API-Filters in: header type: string description: 'Supported filters:' - name: revision in: header type: string description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true - name: client-profiles path: /client/profiles operations: - name: createclientprofile method: POST description: Create or Update Client Profile outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: company_id in: query type: string description: Your Public API Key / Site ID. See [this article](https://help.klaviyo.com/hc/en-us/articles/115005062267) for more details. required: true - 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: client-push-token-unregister path: /client/push-token-unregister operations: - name: unregisterclientpushtoken method: POST description: Unregister Client Push Token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: company_id in: query type: string description: Your Public API Key / Site ID. See [this article](https://help.klaviyo.com/hc/en-us/articles/115005062267) for more details. required: true - 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: client-push-tokens path: /client/push-tokens operations: - name: createclientpushtoken method: POST description: Create or Update Client Push Token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: company_id in: query type: string description: Your Public API Key / Site ID. See [this article](https://help.klaviyo.com/hc/en-us/articles/115005062267) for more details. required: true - 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: client-review-values-reports path: /client/review-values-reports operations: - name: getclientreviewvaluesreports method: GET description: Get Client Review Values Reports outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: company_id in: query type: string description: Your Public API Key / Site ID. See [this article](https://help.klaviyo.com/hc/en-us/articles/115005062267) for more details. required: true - name: fields[review-values-report] 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):
`product_ex - name: group_by in: query type: string description: group by value for this report required: true - 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: statistics in: query type: string description: list of statistics to calculate for this report required: true - name: timeframe in: query type: string description: timeframe window for value report required: true - name: revision in: header type: string description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true - name: client-reviews path: /client/reviews operations: - name: getclientreviews method: GET description: Get Client Reviews outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: company_id in: query type: string description: Your Public API Key / Site ID. See [this article](https://help.klaviyo.com/hc/en-us/articles/115005062267) for more details. required: true - name: fields[review] 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):
`status`: `' - 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: createclientreview method: POST description: Create Client Review outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: company_id in: query type: string description: Your Public API Key / Site ID. See [this article](https://help.klaviyo.com/hc/en-us/articles/115005062267) for more details. required: true - 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: client-subscriptions path: /client/subscriptions operations: - name: createclientsubscription method: POST description: Create Client Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: company_id in: query type: string description: Your Public API Key / Site ID. See [this article](https://help.klaviyo.com/hc/en-us/articles/115005062267) for more details. required: true - 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 authentication: type: apikey key: Authorization value: '{{env.KLAVIYO_API_KEY}}' placement: header exposes: - type: rest namespace: klaviyo-client-rest port: 8080 description: REST adapter for Klaviyo API — Client. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/client/back-in-stock-subscriptions name: client-back-in-stock-subscriptions description: REST surface for client-back-in-stock-subscriptions. operations: - method: POST name: createclientbackinstocksubscription description: Create Client Back In Stock Subscription call: klaviyo-client.createclientbackinstocksubscription with: company_id: rest.company_id revision: rest.revision body: rest.body outputParameters: - type: object mapping: $. - path: /v1/client/event-bulk-create name: client-event-bulk-create description: REST surface for client-event-bulk-create. operations: - method: POST name: bulkcreateclientevents description: Bulk Create Client Events call: klaviyo-client.bulkcreateclientevents with: company_id: rest.company_id revision: rest.revision body: rest.body outputParameters: - type: object mapping: $. - path: /v1/client/events name: client-events description: REST surface for client-events. operations: - method: POST name: createclientevent description: Create Client Event call: klaviyo-client.createclientevent with: company_id: rest.company_id revision: rest.revision body: rest.body outputParameters: - type: object mapping: $. - path: /v1/client/geofences name: client-geofences description: REST surface for client-geofences. operations: - method: GET name: getclientgeofences description: Get Client Geofences call: klaviyo-client.getclientgeofences with: company_id: rest.company_id fields[geofence]: rest.fields[geofence] page[cursor]: rest.page[cursor] page[size]: rest.page[size] X-Klaviyo-API-Filters: rest.X-Klaviyo-API-Filters revision: rest.revision outputParameters: - type: object mapping: $. - path: /v1/client/profiles name: client-profiles description: REST surface for client-profiles. operations: - method: POST name: createclientprofile description: Create or Update Client Profile call: klaviyo-client.createclientprofile with: company_id: rest.company_id revision: rest.revision body: rest.body outputParameters: - type: object mapping: $. - path: /v1/client/push-token-unregister name: client-push-token-unregister description: REST surface for client-push-token-unregister. operations: - method: POST name: unregisterclientpushtoken description: Unregister Client Push Token call: klaviyo-client.unregisterclientpushtoken with: company_id: rest.company_id revision: rest.revision body: rest.body outputParameters: - type: object mapping: $. - path: /v1/client/push-tokens name: client-push-tokens description: REST surface for client-push-tokens. operations: - method: POST name: createclientpushtoken description: Create or Update Client Push Token call: klaviyo-client.createclientpushtoken with: company_id: rest.company_id revision: rest.revision body: rest.body outputParameters: - type: object mapping: $. - path: /v1/client/review-values-reports name: client-review-values-reports description: REST surface for client-review-values-reports. operations: - method: GET name: getclientreviewvaluesreports description: Get Client Review Values Reports call: klaviyo-client.getclientreviewvaluesreports with: company_id: rest.company_id fields[review-values-report]: rest.fields[review-values-report] filter: rest.filter group_by: rest.group_by page[cursor]: rest.page[cursor] page[size]: rest.page[size] statistics: rest.statistics timeframe: rest.timeframe revision: rest.revision outputParameters: - type: object mapping: $. - path: /v1/client/reviews name: client-reviews description: REST surface for client-reviews. operations: - method: GET name: getclientreviews description: Get Client Reviews call: klaviyo-client.getclientreviews with: company_id: rest.company_id fields[review]: rest.fields[review] 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: createclientreview description: Create Client Review call: klaviyo-client.createclientreview with: company_id: rest.company_id revision: rest.revision body: rest.body outputParameters: - type: object mapping: $. - path: /v1/client/subscriptions name: client-subscriptions description: REST surface for client-subscriptions. operations: - method: POST name: createclientsubscription description: Create Client Subscription call: klaviyo-client.createclientsubscription with: company_id: rest.company_id revision: rest.revision body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: klaviyo-client-mcp port: 9090 transport: http description: MCP adapter for Klaviyo API — Client. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-client-back-stock-subscription description: Create Client Back In Stock Subscription hints: readOnly: false destructive: false idempotent: false call: klaviyo-client.createclientbackinstocksubscription with: company_id: tools.company_id revision: tools.revision body: tools.body outputParameters: - type: object mapping: $. - name: bulk-create-client-events description: Bulk Create Client Events hints: readOnly: false destructive: false idempotent: false call: klaviyo-client.bulkcreateclientevents with: company_id: tools.company_id revision: tools.revision body: tools.body outputParameters: - type: object mapping: $. - name: create-client-event description: Create Client Event hints: readOnly: false destructive: false idempotent: false call: klaviyo-client.createclientevent with: company_id: tools.company_id revision: tools.revision body: tools.body outputParameters: - type: object mapping: $. - name: get-client-geofences description: Get Client Geofences hints: readOnly: true destructive: false idempotent: true call: klaviyo-client.getclientgeofences with: company_id: tools.company_id fields[geofence]: tools.fields[geofence] page[cursor]: tools.page[cursor] page[size]: tools.page[size] X-Klaviyo-API-Filters: tools.X-Klaviyo-API-Filters revision: tools.revision outputParameters: - type: object mapping: $. - name: create-update-client-profile description: Create or Update Client Profile hints: readOnly: false destructive: false idempotent: false call: klaviyo-client.createclientprofile with: company_id: tools.company_id revision: tools.revision body: tools.body outputParameters: - type: object mapping: $. - name: unregister-client-push-token description: Unregister Client Push Token hints: readOnly: false destructive: false idempotent: false call: klaviyo-client.unregisterclientpushtoken with: company_id: tools.company_id revision: tools.revision body: tools.body outputParameters: - type: object mapping: $. - name: create-update-client-push-token description: Create or Update Client Push Token hints: readOnly: false destructive: false idempotent: false call: klaviyo-client.createclientpushtoken with: company_id: tools.company_id revision: tools.revision body: tools.body outputParameters: - type: object mapping: $. - name: get-client-review-values-reports description: Get Client Review Values Reports hints: readOnly: true destructive: false idempotent: true call: klaviyo-client.getclientreviewvaluesreports with: company_id: tools.company_id fields[review-values-report]: tools.fields[review-values-report] filter: tools.filter group_by: tools.group_by page[cursor]: tools.page[cursor] page[size]: tools.page[size] statistics: tools.statistics timeframe: tools.timeframe revision: tools.revision outputParameters: - type: object mapping: $. - name: get-client-reviews description: Get Client Reviews hints: readOnly: true destructive: false idempotent: true call: klaviyo-client.getclientreviews with: company_id: tools.company_id fields[review]: tools.fields[review] 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-client-review description: Create Client Review hints: readOnly: false destructive: false idempotent: false call: klaviyo-client.createclientreview with: company_id: tools.company_id revision: tools.revision body: tools.body outputParameters: - type: object mapping: $. - name: create-client-subscription description: Create Client Subscription hints: readOnly: false destructive: false idempotent: false call: klaviyo-client.createclientsubscription with: company_id: tools.company_id revision: tools.revision body: tools.body outputParameters: - type: object mapping: $.