---
title: "useReferrals"
description: "Create and redeem referral codes"
---
import LearnHooksTip from '/snippets/learn-hooks-tip.mdx';
The `useReferrals` hook provides methods to create and redeem referral codes as part of a referral program.
## Parameters
The ID of your referral program.
Optional [TanStack Query options](https://tanstack.com/query/latest/docs/framework/react/reference/useQuery) to customize caching and refetching behavior.
## Returns
### `data`
The referral code response. The hook starts with `enabled: false`, so call `refetch()` to create/fetch the code.
```tsx
import { useReferrals } from "autumn-js/react";
export default function ReferralCode() {
const { data, refetch, isLoading } = useReferrals({ programId: "refer-a-friend" });
return (
{data &&
Share this code: {data.code}
}
);
}
```
```json
{
"code": "REF123ABC",
"customerId": "cus_123",
"createdAt": 1717000000
}
```
### `redeemCode()`
Redeems a referral code for the current customer.
```tsx
import { useReferrals } from "autumn-js/react";
export default function RedeemForm() {
const { redeemCode } = useReferrals({ programId: "refer-a-friend" });
const handleRedeem = async (code: string) => {
const result = await redeemCode({ code });
console.log("Redeemed! Reward:", result.rewardId);
};
return ;
}
```
**Parameters**
The referral code to redeem.
**Returns**
```json
{
"id": "red_123",
"customerId": "cus_456",
"rewardId": "reward_789"
}
```
### `isLoading`
Boolean indicating whether a referral code is being created/fetched.
### `error`
Any error that occurred.
### `refetch()`
Creates or fetches the referral code for the configured `programId`.