Kaiten

Find a voucher by code

Finds the voucher a code names, matched without case or separators. The code travels in the body, never in a URL. Requires billing to be enabled for the organization.

POST
/vouchers/lookup

Authorization

bearerAuth read:vouchers
AuthorizationBearer <token>

A JWT verified by the proxy in front of this API, or a Kaiten access token (ksh_...) — send either as Authorization: Bearer <token>. The scopes listed on each operation are checked server-side against current stored user assignments or stored service-token permissions, never JWT claims; write:<module> implies read:<module>, and read:* / write:* are wildcards over every module. x-kaiten-scopes lists every scope such a token can carry, including those enforced by a service in front of this API rather than by one of its operations.

In: header

Scope: read:vouchers

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X POST "https://app.kaiten.sh/api/vouchers/lookup" \  -H "Content-Type: application/json" \  -d '{    "code": "SUMMER-2026-LAUNCH"  }'
{
  "applicableAddonIds": [
    "string"
  ],
  "applicableAddonPriceIds": [
    "string"
  ],
  "applicableLicenseIds": [
    "string"
  ],
  "applicableLicensePriceIds": [
    "string"
  ],
  "code": "SUMMER-2026-LAUNCH",
  "codeHint": "UNCH",
  "createdAt": "2019-08-24T14:15:22Z",
  "currency": "EUR",
  "description": "string",
  "duration": "ONE_TIME",
  "durationInPeriods": 0,
  "expiresAt": "2019-08-24T14:15:22Z",
  "flagGrants": [
    {
      "flagSlug": "new-dashboard",
      "variant": "on"
    }
  ],
  "grants": [
    {
      "entitlementSlug": "tokens",
      "modifierType": "SET",
      "modifierValue": "2",
      "value": true
    }
  ],
  "id": "string",
  "maxRedemptions": 0,
  "name": "Summer launch",
  "priceAppliesTo": "LICENSE_BASE",
  "priceDiscountType": "PERCENTAGE",
  "priceDiscountValue": "30",
  "redemptionRules": {
    "annualOnly": true,
    "firstTimeOnly": true,
    "minimumSubscriptionAmount": {
      "currency": "EUR",
      "unitAmountDecimal": "2900"
    }
  },
  "redemptionsCount": 0,
  "restrictedCustomerSlug": "string",
  "startsAt": "2019-08-24T14:15:22Z",
  "status": "DRAFT",
  "updatedAt": "2019-08-24T14:15:22Z",
  "voucherType": "PRICE"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}