get_coupons
Retrieve coupon data from Klaviyo using filters and pagination to manage marketing promotions and track discount performance.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "get_coupons"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter query for coupons | |
| page_size | No | Number of coupons per page (1-100) | |
| page_cursor | No | Cursor for pagination |
Implementation Reference
- src/tools/coupons.js:13-25 (handler)Handler function for the 'get_coupons' tool. Fetches coupons from the Klaviyo API using the klaviyoClient, formats the response as JSON text, and handles errors.
async (params) => { try { const coupons = await klaviyoClient.get('/coupons/', params); return { content: [{ type: "text", text: JSON.stringify(coupons, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error retrieving coupons: ${error.message}` }], isError: true }; } }, - src/tools/coupons.js:8-12 (schema)Zod input schema defining optional parameters for the 'get_coupons' tool: filter (string), page_size (number 1-100), page_cursor (string).
{ filter: z.string().optional().describe("Filter query for coupons"), page_size: z.number().min(1).max(100).optional().describe("Number of coupons per page (1-100)"), page_cursor: z.string().optional().describe("Cursor for pagination") }, - src/tools/coupons.js:6-27 (registration)Direct registration of the 'get_coupons' tool using server.tool(), including schema, handler, and description.
server.tool( "get_coupons", { filter: z.string().optional().describe("Filter query for coupons"), page_size: z.number().min(1).max(100).optional().describe("Number of coupons per page (1-100)"), page_cursor: z.string().optional().describe("Cursor for pagination") }, async (params) => { try { const coupons = await klaviyoClient.get('/coupons/', params); return { content: [{ type: "text", text: JSON.stringify(coupons, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error retrieving coupons: ${error.message}` }], isError: true }; } }, { description: "Get coupons from Klaviyo" } ); - src/server.js:45-45 (registration)Top-level call to registerCouponTools(server), which in turn registers the 'get_coupons' tool among others.
registerCouponTools(server); - src/server.js:16-16 (registration)Import of registerCouponTools function used to register coupon tools including 'get_coupons'.
import { registerCouponTools } from './tools/coupons.js';