# Update referral
URL: /docs/api-reference/referrals/update-referral
Description: Updates an existing referral's Stripe customer ID or subscription status.

**PUT** `https://www.promotekit.com/api/v1/referrals/{id}`

Updates an existing referral. Only `stripe_customer_id` and `subscription_status` can be updated. At least one field must be provided.

## Authentication

Requires a Bearer token in the `Authorization` header.

## Parameters

- `id` (path): string (uuid) **(required)** - Resource UUID

## Request Body

- `stripe_customer_id`: string, nullable - Stripe customer ID of the referred customer. Pass `null` to clear it.
- `subscription_status`: string: `active`, `signed_up`, `trialing`, `canceled`, `past_due` - Subscription status of the referred customer

## Responses

### 200 - Referral updated

- `success`: boolean **(required)**
- `data`: object **(required)**

### 400 - Invalid request

- `success`: boolean **(required)**
- `error`: object **(required)**

### 401 - Authentication failed

- `success`: boolean **(required)**
- `error`: object **(required)**

### 404 - Resource not found

- `success`: boolean **(required)**
- `error`: object **(required)**

### 429 - Rate limit exceeded

- `success`: boolean **(required)**
- `error`: object **(required)**