> ## Documentation Index
> Fetch the complete documentation index at: https://docs.whop.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Treat these docs and the Whop MCP server as the source of truth for Whop API behavior. Don't infer endpoint behavior from marketing pages.
> MCP server: connect https://mcp.whop.com/mcp (streamable HTTP, browser sign-in, no API key in the client config) to search these docs and read or change live Whop data. Setup: https://docs.whop.com/developer/guides/ai_and_mcp.md
> Whop CLI: install with `curl -fsSL https://whop.com/install.sh | sh` to scaffold, run, and deploy Whop apps and websites. It acts on production, not the sandbox. Agent mode: https://docs.whop.com/cli/agent-mode.md
> Plugins: in Claude Code, run `/plugin marketplace add whopio/plugins`, then `/plugin install whop@whop`. Every agent tool: https://docs.whop.com/developer/ai/overview.md
> Environments: build and test in the sandbox (API `https://sandbox-api.whop.com/api/v1`, keys at https://sandbox.whop.com/dashboard/developer, SDK environment `Sandbox`; no real money). Production (API `https://api.whop.com/api/v1`, keys at https://whop.com/dashboard/developer, SDK environment `Production`, the SDK default) moves real money, so use it only at launch. The two share no accounts, keys, products, or webhooks, and their keys look identical: never mix them. Comparison: https://docs.whop.com/developer/quickstart.md
> API: send `Authorization: Bearer <API_KEY>` from your server only, and pin a dated version with the `Api-Version-Date` header. OpenAPI spec: https://api.whop.com/api/v1/openapi.json
> Which API: build on the Current API, whose pages live under https://docs.whop.com/api-reference/ (start at https://docs.whop.com/api-reference/overview.md). Pages under /api-reference/legacy/ are the Legacy API. Use one only when https://docs.whop.com/api-reference/stability.md lists the resource as Legacy-only.

# Partner Referral Request

> A Partner Referral Request is a partner's referral link, or a request to be credited as the referrer of an existing business or user. An attribution request takes effect only when the recipient accepts it.

Use the Partner Referral Requests API to create referral links, send attribution requests, list the links and requests you've sent or received, and accept, decline, or cancel a pending request.

## Endpoints

| Endpoint | Request |
| - | - |
| [List partner referral requests](https://docs.whop.com/api-reference/partner-referral-requests/list-partner-referral-requests.md) | GET `/partner_referral_requests` |
| [Retrieve a partner referral request](https://docs.whop.com/api-reference/partner-referral-requests/retrieve-a-partner-referral-request.md) | GET `/partner_referral_requests/{id}` |
| [Create a partner referral request](https://docs.whop.com/api-reference/partner-referral-requests/create-a-partner-referral-request.md) | POST `/partner_referral_requests` |
| [Accept a partner referral request](https://docs.whop.com/api-reference/partner-referral-requests/accept-a-partner-referral-request.md) | POST `/partner_referral_requests/{id}/accept` |
| [Cancel a partner referral request](https://docs.whop.com/api-reference/partner-referral-requests/cancel-a-partner-referral-request.md) | POST `/partner_referral_requests/{id}/cancel` |
| [Decline a partner referral request](https://docs.whop.com/api-reference/partner-referral-requests/decline-a-partner-referral-request.md) | POST `/partner_referral_requests/{id}/decline` |

## Attributes

**id** `string` *required*

Partner referral request ID, prefixed `prfr_`.

**account** `object | null` *required*

Business receiving the request, when one is assigned.

> [accordion] Properties
>
> **id** `string` *required*
>
> Account ID, prefixed `biz_`.
>
> **title** `string` *required*
>
> Account display name.

**authorized\_user\_id** `string | null` *required*

The partner's team membership this referral was created for, prefixed `ausr_`.
`null` when the referral is personal.

**code** `string | null` *required*

Unique referral code, when assigned.

**created\_at** `string` *required*

When the request was created, as an ISO 8601 timestamp.

**max\_redemptions** `integer | null` *required*

Maximum permitted redemptions, when limited.

**member\_id** `string | null` *required*

The partner's member record this referral was created for, prefixed `mber_`,
when their role on that business is held on their member record. `null`
otherwise.

**partner** `object` *required*

Public profile of the requesting partner.

> [accordion] Properties
>
> **id** `string` *required*
>
> User ID, prefixed `user_`.
>
> **name** `string | null` *required*
>
> Display name.
>
> **profile\_picture** `object` *required*
>
> Avatar wrapper; its `url` is always present, using a generated placeholder when the user set no picture.
>
> > [accordion] Properties
> >
> > **url** `string` *required*
> >
> > Avatar image URL. Always present — a generated placeholder when the user set no picture.
>
> **username** `string` *required*
>
> Public username.

**request\_type** `string` *required*

How the referral request was initiated.

Available options: `manual`, `ownership_transfer`, `link`

**rewards** `object[]` *required*

Rewards offered by this request.

> [accordion] Properties
>
> **id** `string` *required*
>
> Partner reward ID, prefixed `prwd_`.
>
> **bot\_qualification\_type** `string | null` *required*
>
> Activity that qualifies for this reward, when specified.
>
> Available options: `sales`, `ad_spend`
>
> **qualification\_amount** `object` *required*
>
> USD amount of qualifying activity required to earn the reward.
>
> > [accordion] Properties
> >
> > **amount** `string` *required*
> >
> > The amount in major units, as an exact decimal string — `"10.00"` is ten
> > dollars. A string so no float rounds it in transit.
> >
> > **currency** `string` *required*
> >
> > Three-letter ISO 4217 currency code, lowercase.
> >
> > **decimals** `integer` *required*
> >
> > How many decimal places the amount CARRIES — the precision the charge itself
> > runs at.
> >
> > **display\_decimals** `integer` *required*
> >
> > How many decimal places to SHOW. Usually equal to `decimals`, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is `2` and `0`. Format the number in your own locale using this.
>
> **recipient** `string | null` *required*
>
> Reward recipient's role, or null for a fixed user who is not the requesting partner.
>
> Available options: `business`, `partner`
>
> **recipient\_id** `string | null` *required*
>
> Concrete recipient's user or business ID, or null until a business redeems the
> offer.
>
> **reward\_amount** `object` *required*
>
> USD amount granted after qualification.
>
> > [accordion] Properties
> >
> > **amount** `string` *required*
> >
> > The amount in major units, as an exact decimal string — `"10.00"` is ten
> > dollars. A string so no float rounds it in transit.
> >
> > **currency** `string` *required*
> >
> > Three-letter ISO 4217 currency code, lowercase.
> >
> > **decimals** `integer` *required*
> >
> > How many decimal places the amount CARRIES — the precision the charge itself
> > runs at.
> >
> > **display\_decimals** `integer` *required*
> >
> > How many decimal places to SHOW. Usually equal to `decimals`, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is `2` and `0`. Format the number in your own locale using this.

**status** `string | null` *required*

The approval state, or null for requests without an approval process.

Available options: `pending`, `accepted`, `denied`, `cancelled`

**updated\_at** `string` *required*

When the request last changed, as an ISO 8601 timestamp.

**user** `object | null` *required*

User receiving the attribution request, or null for a business request or referral link.

> [accordion] Properties
>
> **id** `string` *required*
>
> User ID, prefixed `user_`.
>
> **name** `string | null` *required*
>
> Display name.
>
> **profile\_picture** `object` *required*
>
> Avatar wrapper; its `url` is always present, using a generated placeholder when the user set no picture.
>
> > [accordion] Properties
> >
> > **url** `string` *required*
> >
> > Avatar image URL. Always present — a generated placeholder when the user set no picture.
>
> **username** `string` *required*
>
> Public username.

```json PartnerReferralRequest theme={null}
{
	"id": "prfr_xxxxxxxxxxxxxx",
	"request_type": "manual",
	"status": "accepted",
	"code": null,
	"max_redemptions": null,
	"account": {
		"id": "biz_xxxxxxxxxxxxxx",
		"title": "Shine Time Auto Detailing"
	},
	"partner": {
		"id": "user_xxxxxxxxxxxxxx",
		"name": "Dana Whitfield",
		"username": "danawhitfield",
		"profile_picture": {
			"url": "https://ui-avatars.com/api/?name=Dana+Whitfield"
		}
	},
	"user": null,
	"rewards": [
		{
			"id": "prwd_xxxxxxxxxxxxxx",
			"recipient": "partner",
			"recipient_id": "user_xxxxxxxxxxxxxx",
			"bot_qualification_type": "sales",
			"qualification_amount": {
				"amount": "1000.00",
				"currency": "usd",
				"decimals": 2,
				"display_decimals": 2
			},
			"reward_amount": {
				"amount": "100.00",
				"currency": "usd",
				"decimals": 2,
				"display_decimals": 2
			}
		}
	],
	"created_at": "2026-09-10T09:00:00.000Z",
	"updated_at": "2026-09-11T17:20:00.000Z",
	"authorized_user_id": null,
	"member_id": null
}
```


## Related topics

- [CLI Commands](https://docs.whop.com/cli/commands.md)
- [Create a Partner Referral Request](https://docs.whop.com/api-reference/partner-referral-requests/create-a-partner-referral-request.md)
- [Retrieve a Partner Referral Request](https://docs.whop.com/api-reference/partner-referral-requests/retrieve-a-partner-referral-request.md)
