{ "openapi": "3.0.2", "info": { "title": "Klaviyo API", "version": "2026-04-15", "description": "The Klaviyo REST API. Please visit https://developers.klaviyo.com for more details.", "contact": { "name": "Klaviyo Developer Experience Team", "email": "developers@klaviyo.com", "url": "https://developers.klaviyo.com" }, "termsOfService": "https://www.klaviyo.com/legal/api-terms", "license": { "name": "License", "url": "https://www.klaviyo.com/legal" } }, "servers": [ { "url": "https://a.klaviyo.com", "description": "Production" } ], "security": [ { "Klaviyo-API-Key": [] } ], "paths": { "/client/reviews": { "post": { "operationId": "create_client_review", "summary": "Create Client Review", "description": "Create a review with the given ID. This endpoint is for client-side environments only.

*Rate limits*:
Burst: `10/s`
Steady: `150/m`\n\n[OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/create_client_review.json)", "parameters": [ { "name": "company_id", "in": "query", "description": "Your Public API Key / Site ID. See [this article](https://help.klaviyo.com/hc/en-us/articles/115005062267) for more details.", "required": true, "schema": { "description": "Your Public API Key / Site ID. See [this article](https://help.klaviyo.com/hc/en-us/articles/115005062267) for more details.", "type": "string", "example": "PUBLIC_API_KEY" } }, { "name": "revision", "in": "header", "description": "API endpoint revision (format: YYYY-MM-DD[.suffix])", "required": true, "schema": { "type": "string", "default": "2026-04-15" } } ], "requestBody": { "required": true, "content": { "application/vnd.api+json": { "schema": { "$ref": "#/components/schemas/ReviewCreateDTO" } } } }, "responses": { "202": { "description": "Success" }, "4XX": { "$ref": "#/components/responses/ClientError" }, "5XX": { "$ref": "#/components/responses/ServerError" } }, "security": [], "tags": [ "Client" ], "x-klaviyo-pre-release": "None", "x-klaviyo-ratelimit": { "burst": "10/s", "steady": "150/m" }, "x-klaviyo-scopes": [] } } }, "components": { "responses": { "ClientError": { "description": "Client Error", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "object", "required": [ "id", "code", "title", "detail" ], "properties": { "id": { "type": "string" }, "code": { "type": "string" }, "title": { "type": "string" }, "detail": { "type": "string" }, "source": { "type": "object", "properties": { "pointer": { "type": "string" }, "parameter": { "type": "string" } } } } } } }, "required": [ "errors" ] } } } }, "ServerError": { "description": "Server Error", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "object", "required": [ "id", "code", "title", "detail" ], "properties": { "id": { "type": "string" }, "code": { "type": "string" }, "title": { "type": "string" }, "detail": { "type": "string" }, "source": { "type": "object", "properties": { "pointer": { "type": "string" }, "parameter": { "type": "string" } } } } } } }, "required": [ "errors" ] } } } } }, "schemas": { "CustomQuestionDTO": { "type": "object", "properties": { "id": { "description": "The ID of the custom question", "type": "string", "example": "9ff0d32e-0edb-4513-a6a5-12814a6cb755" }, "answers": { "description": "The answers to the custom question", "type": "array", "items": { "type": "string" }, "example": [ "M", "L" ] } }, "required": [ "id", "answers" ] }, "OrderEnum": { "type": "string", "enum": [ "order" ] }, "ReviewCreateDTO": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ReviewCreateDTOResourceObject" } }, "required": [ "data" ] }, "ReviewCreateDTOResourceObject": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ReviewEnum" }, "attributes": { "type": "object", "properties": { "review_type": { "description": "The type of this review -- either a review or a question", "type": "string", "example": "review", "enum": [ "question", "rating", "review", "store" ] }, "email": { "description": "The email of the author of this review", "type": "string", "example": "random.123@gmail.com" }, "author": { "description": "The author of this review", "type": "string", "example": "John Doe" }, "content": { "description": "The content of this review", "example": "This was an absolutely amazing t-shirt. I loved the color and the fit.", "type": "string" }, "incentive_type": { "description": "The incentive type for the review", "type": "string", "enum": [ "coupon_or_discount", "employee_review", "free_product", "loyalty_points", "other", "paid_promotion", "sweepstakes_entry" ], "nullable": true }, "product": { "description": "The product associated with this review", "$ref": "#/components/schemas/ReviewProductExternalId", "nullable": true }, "rating": { "description": "The rating of this review on a scale from 1-5. If the review type is \"question\", this field will be null.", "type": "integer", "example": 2, "enum": [ 1, 2, 3, 4, 5 ], "nullable": true }, "title": { "description": "The title of this review", "type": "string", "example": "Great product!", "nullable": true }, "custom_questions": { "description": "Custom question and answers for the review", "type": "array", "items": { "$ref": "#/components/schemas/CustomQuestionDTO" }, "example": [ { "id": "9ff0d32e-0edb-4513-a6a5-12814a6cb755", "answers": [ "M", "L" ] } ], "nullable": true }, "images": { "description": "The list of images submitted with this review (represented as a list of urls or base-64 encoded data-uri). If there are no images, this field will be an empty list.", "type": "array", "items": { "type": "string" }, "example": [ "https://example.com/image1.jpg", "https://example.com/image2.jpg" ], "nullable": true } }, "required": [ "review_type", "email", "author", "content" ] }, "relationships": { "type": "object", "properties": { "order": { "type": "object", "properties": { "data": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/OrderEnum" }, "id": { "description": "The Order ID related to the review", "type": "string", "example": "42439497119686" } }, "required": [ "type", "id" ] } } } } } }, "required": [ "type", "attributes" ] }, "ReviewEnum": { "type": "string", "enum": [ "review" ] }, "ReviewProductExternalId": { "type": "object", "properties": { "external_id": { "description": "The external ID of the product", "type": "string", "example": "7549950034135" }, "integration_key": { "description": "The integration key of the product in lowercase", "type": "string", "example": "shopify", "enum": [ "shopify", "woocommerce" ] } }, "required": [ "external_id", "integration_key" ] } }, "securitySchemes": { "Klaviyo-API-Key": { "type": "apiKey", "in": "header", "name": "Authorization", "description": "Private key authentication for /api/ endpoints is performed by setting the `Authorization` header to `Klaviyo-API-Key your-private-api-key`
For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#authentication", "x-default": "Klaviyo-API-Key your-private-api-key" } } }, "tags": [ { "name": "Client", "description": "client" } ] }