create_coupon_code
Generate a unique coupon code for a specific Klaviyo coupon to enable personalized promotions and track marketing campaign effectiveness.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| coupon_id | Yes | ID of the coupon | |
| code | Yes | Coupon code |
Implementation Reference
- src/tools/coupons.js:36-65 (handler)The main handler logic for create_coupon_code tool: builds Klaviyo API payload from params and performs POST to /coupon-codes/ endpoint.async (params) => { try { const payload = { data: { type: "coupon-code", attributes: { code: params.code }, relationships: { coupon: { data: { type: "coupon", id: params.coupon_id } } } } }; const result = await klaviyoClient.post('/coupon-codes/', payload); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error creating coupon code: ${error.message}` }], isError: true }; } },
- src/tools/coupons.js:32-35 (schema)Zod input schema defining required parameters: coupon_id (string) and code (string).{ coupon_id: z.string().describe("ID of the coupon"), code: z.string().describe("Coupon code") },
- src/tools/coupons.js:29-67 (registration)Direct registration of the create_coupon_code tool via server.tool call within registerCouponTools.// Create coupon code server.tool( "create_coupon_code", { coupon_id: z.string().describe("ID of the coupon"), code: z.string().describe("Coupon code") }, async (params) => { try { const payload = { data: { type: "coupon-code", attributes: { code: params.code }, relationships: { coupon: { data: { type: "coupon", id: params.coupon_id } } } } }; const result = await klaviyoClient.post('/coupon-codes/', payload); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error creating coupon code: ${error.message}` }], isError: true }; } }, { description: "Create a new coupon code in Klaviyo" } );
- src/server.js:45-45 (registration)Top-level call to registerCouponTools(server), which registers the coupon tools including create_coupon_code.registerCouponTools(server);