---
title: "Become an affiliate (public)"
method: POST
path: "/api/v1/visa/affiliate/register"
tags: ["Affiliate program"]
---

# Become an affiliate (public)

`POST /api/v1/visa/affiliate/register`

## Request

- Base URL: `https://visa.orizn.app`
- URL: `https://visa.orizn.app/api/v1/visa/affiliate/register`
- Auth: none required
- TypeScript: <https://skmtc.dev/orizn/apis/orizn-visa-api/docs/api/v1/visa/affiliate/register/post.ts> (a function with typed inputs; its response is checked against the schema)

Open a partner account. Returns an affiliate_id (format aff_<8 hex>)
you embed in checkout URLs to earn 15% commission. Idempotent on email.

## Request body

- AffiliateRegisterBody
  - `name` string, required
  - `email` string, email, required
  - `website` string: A valid URL, or the literal string `ios-app` for app-store affiliates.
  - `payment_method` 'paypal' | 'iban'
  - `payment_info` string
  - `source` 'web' | 'ios'

## Response `200`

Existing affiliate returned.

- AffiliateRegisterResponse
  - `affiliate_id` string
  - `dashboard_url` string, uri
  - `message` string

## Other responses

- `201`: Affiliate created.
- `400`: Missing or malformed parameter.
- `409`: Unique-constraint race — safe to retry.

---

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