---
title: "Create custom affiliate tier"
method: POST
path: "/admin/affiliate-tiers"
tags: ["Admin"]
---

# Create custom affiliate tier

`POST /admin/affiliate-tiers`

## Request

- Base URL: `https://api.testnet.rise.trade`
- URL: `https://api.testnet.rise.trade/admin/affiliate-tiers`
- Auth: none required
- TypeScript: <https://skmtc.dev/rise/apis/risex-rest-api/docs/admin/affiliate-tiers/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a one-off custom affiliate tier (internal). Custom tiers have no volume bracket — volume_start/volume_end are always null — and aren't reachable by volume growth; they're assigned to an affiliate directly via UpdateAffiliate.

## Request body

- ApiCreateCustomAffiliateTierRequest: CreateCustomAffiliateTierRequest has no volume_start/volume_end — custom tiers are always assigned directly to an affiliate via UpdateAffiliate, never reached by volume growth, and the affiliate_tiers CHECK constraint forces their volume bracket to null (db/migrations/0072_add_affiliate_tiers.sql).
  - `name` string
  - `rebate_bps` integer
  - `personal_points_boost_bps` integer
  - `referral_points_boost_bps` integer
  - `referred_user_boost_bps` integer

## Response `200`

A successful response.

- ApiCreateCustomAffiliateTierResponse
  - `tier` ApiAffiliateTierMessage
    - `id` integer
    - `name` string
    - `volume_start` string
    - `volume_end` string
    - `rebate_bps` integer
    - `personal_points_boost_bps` integer
    - `referral_points_boost_bps` integer
    - `referred_user_boost_bps` integer
    - `is_custom` boolean

## Other responses

- `default`: An unexpected error response.

## Changes

- **2026-11-03** `98eabcd6a6ad`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/rise/apis/risex-rest-api/changes/admin/affiliate-tiers/post.md)

---

[API](https://skmtc.dev/rise/apis/risex-rest-api.md) - [All operations](https://skmtc.dev/rise/apis/risex-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rise/apis/risex-rest-api/revisions/98eabcd6a6ad?raw)
