---
title: "POST /api/v1/user/referral-codes"
method: POST
path: "/api/v1/user/referral-codes"
tags: ["User"]
---

# POST /api/v1/user/referral-codes

`POST /api/v1/user/referral-codes`

## Request

- Base URL: `https://api.ekiden.fi`
- URL: `https://api.ekiden.fi/api/v1/user/referral-codes`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/ekidenfi/apis/ekiden-gateway/docs/api/v1/user/referral-codes/post.ts> (a function with typed inputs; its response is checked against the schema)

## Request body

- CreateReferralCodeRequest
  - `code` string, required
  - `label` string, nullable

## Response `200`

Referral code created

- ReferralCodeInfo
  - `binds` integer, required: Number of users who bound through this specific code (`users.bound_via_code_id`).
  - `clicks` integer, required: Number of recorded clicks that resolved to this code (`referral_clicks.code_id`).
  - `code` string, required
  - `code_id` string, required
  - `created_at` integer, required
  - `downline_count` integer, required: Total direct downline of this code's owner (`users.referrer_id`). Owner-level, so it is identical across all of the owner's codes.
  - `is_default` boolean, required
  - `label` string, nullable

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden

## Changes

- **2026-09-10** `fad9eecaba2e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/ekidenfi/apis/ekiden-gateway/changes/api/v1/user/referral-codes/post.md)

---

[API](https://skmtc.dev/ekidenfi/apis/ekiden-gateway.md) - [All operations](https://skmtc.dev/ekidenfi/apis/ekiden-gateway/llms.txt) - [OpenAPI document](https://skmtc.dev/ekidenfi/apis/ekiden-gateway/revisions/fad9eecaba2e?raw)
