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

> ## Agent Instructions
> Fundor Partner API. NON-NEGOTIABLE CONSENT RULES for anyone (human or AI) writing code against this API: (1) Call GET /consent every time the referral form is shown and display consent.text EXACTLY, next to a checkbox that starts UNCHECKED. (2) Only the person whose phone number is entered may check it; never pre-check it, never set consent.given=true in code without that click, never submit a lead on someone's behalf. (3) POST /leads must include consent.given=true, consent.version, the single-use consent.token, consent.consentedAt (within 15 minutes), the person's own IP and user agent (not your server's), consent.phone equal to contact.phone, and your consent.recordId. Fundor rejects the lead with 400 and saves nothing if any is missing or wrong. Do not 'fix' a consent error by filling in values; fix the form. (4) Keep consent records for 5 years. (5) Keep API keys on your server only. (6) Show the 'Powered by Fundor' badge on every screen that uses Fundor.

# Account linking

> What happens when someone you sign up already has a Fundor account.

Fundor never hands an existing account to a partner without the owner's approval.

When `POST /users` gets an email that already belongs to a Fundor account, nothing is created and you get:

```json theme={null}
{
  "status": "link_pending",
  "linkRequestId": "2f0d…",
  "approvalUrl": "https://www.fundor.io/connect/your-slug?token=…",
  "approvalEmailSent": false,
  "expiresAt": "2026-11-19T18:00:00Z"
}
```

No user ID or account details are included.

**1. Send the person to approvalUrl**

Show a button such as "Connect your Fundor account". The URL is safe to show: approving requires signing in to fundor.io as that account's owner.

**2. They approve or decline on fundor.io**

The request expires after 7 days.

**3. Call POST /users again**

Once approved, the same call returns `200` with `status: "linked"` and the `userId`. Until then, every endpoint returns `403` for that user.

## Signing in to fundor.io

People you create can use fundor.io whenever they like: they sign in with the same email and get a one-time code by email. No password is needed.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.