---
title: "GET /experimental/promo-codes/{code}"
method: GET
path: "/experimental/promo-codes/{code}"
tags: ["Credits"]
---

# GET /experimental/promo-codes/{code}

`GET /experimental/promo-codes/{code}`

## Request

- Base URL: `https://api.tessl.io`
- URL: `https://api.tessl.io/experimental/promo-codes/{code}`
- Auth: none declared

Looks up a promo code for the signed-in user: the credits it grants, how many days they last after redemption, the name shown on the grant, its redeem-by time, whether it can still be redeemed, and the org the user's redemption would grant to (their default org, or the org they joined first; null when they have none). It never says who redeemed it. Matching ignores case, and spaces and hyphens are the same. Lookups and redemptions share a per-user rate limit (429). Returns 404 for an unknown code, and 403 for an API key.

## Path parameters

- `code` string, required

## Headers

- `Authorization` string

## Response `200`

Default Response

- object
  - `links` object, required
    - `self` string, uri, required
  - `data` object, required
    - `id` string, required: The normalized code.
    - `type` 'promo-code', required
    - `attributes` object, required
      - `name` string, required: The name shown on the grant.
      - `credits` integer, required: Credits the code grants.
      - `validityDays` integer, required: Days the credits last after redemption.
      - `redeemBy` string, date-time, required: The code cannot be redeemed after this time.
      - `redeemable` boolean, required: Whether the code can still be redeemed: not yet redeemed, and before its redeem-by time.
      - `org` object, nullable, required: The org the signed-in user's redemption grants to (on a redemption, the org that got the credits): their default org, or the org they joined first. Null when they belong to no org.
        - `id` string, uuid, required
        - `name` string, required

## Other responses

- `401`: Unauthorized
- `403`: Default Response
- `404`: Not Found
- `429`: Too Many Requests
- `500`: Internal Server Error

## Changes

- **2026-10-29** `63e7af58b427`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/tessl/apis/tessl-api/changes/experimental/promo-codes/:code/get.md)

---

[API](https://skmtc.dev/tessl/apis/tessl-api.md) - [All operations](https://skmtc.dev/tessl/apis/tessl-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tessl/apis/tessl-api/revisions/e900868e7a12?raw)
