get_coupons
Retrieve coupon data from Klaviyo using filters and pagination to manage marketing promotions and track discount performance.
Input Schema
TableJSON 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';