# Fundor Partner API > Send sign-ups, teams, applications and referrals into Fundor from your own app. Consent is mandatory: leads without full consent evidence are rejected and never saved. > ## 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. - [Consent requirements: read before you build](https://docs.fundor.io/consent.md): Every lead needs the person's own, provable consent to be contacted. Show Fundor's exact wording next to an unchecked box the person checks themselves, and send the full consent evidence. Leads without it are rejected and never saved. - [Fundor Partner API](https://docs.fundor.io/index.md): Build Fundor sign-ups, teams, referrals and applications into your own app. Fundor runs the backend, the call center and the payouts. - [Getting an API key](https://docs.fundor.io/getting-an-api-key.md): API keys are issued by Fundor after the Partner Lead & Consent Agreement is signed. - [Authentication](https://docs.fundor.io/authentication.md): Send your API key as a bearer token on every request. - [Quickstart](https://docs.fundor.io/quickstart.md): Sign up an athlete, get their referral link, and submit a lead with consent. - [Attribution](https://docs.fundor.io/attribution.md): How Fundor records that a user, team, lead or application came from you. - [Account linking](https://docs.fundor.io/account-linking.md): What happens when someone you sign up already has a Fundor account. - [Errors](https://docs.fundor.io/errors.md): Every error has the same shape and a stable code. - [Powered by Fundor](https://docs.fundor.io/brand.md): Show the Powered by Fundor badge on every screen that uses Fundor. - [Partner Lead & Consent Agreement](https://docs.fundor.io/legal/partner-agreement.md): The terms a partner signs before receiving a Fundor Partner API key, version fundor-partner-agreement-2026-11. - [Get consent wording and a consent token](https://docs.fundor.io/api-reference/consent.md): Call this each time you show the referral form. Show `consent.text` **exactly** next to an **unchecked** checkbox, and `commitment.text` next to a second checkbox. Send `consent.token` with the lead. Requires the `leads` scope. - [List services a lead can be submitted for](https://docs.fundor.io/api-reference/services.md): Live services only. Send answers under `services.` in `POST /leads`. The list changes as Fundor adds or pauses services, so read it rather than hard-coding it. - [Create or link a Fundor account](https://docs.fundor.io/api-reference/create-user.md): Creates a Fundor account attributed to you. The person can later sign in at fundor.io with an email code sent to this address (no password). - [Onboard a user as athlete, coach or parent](https://docs.fundor.io/api-reference/onboard-user.md): - **Athlete:** `role: athlete` + `teamCode`. Returns the athlete's `teamMemberId` and hosted referral link. - **Coach, new team:** `role: coach` + `schoolName`, `teamName`, `sport` (+ goals). Returns `teamCode` (share with athletes) and `coachCode` (share only with other coaches). - **Coach, existin… - [Get an athlete's hosted referral link and QR code](https://docs.fundor.io/api-reference/referral-link.md): One link per active team. Customers who open it fill in Fundor's own referral page, so Fundor collects their consent; those leads are still attributed to you through the athlete. Requires the `users` scope. - [Create another team for a coach](https://docs.fundor.io/api-reference/create-team.md): For a coach who is already onboarded (their first team comes from onboarding). Returns the team's `teamCode` and `coachCode`. Requires the `teams` scope. - [Join a team](https://docs.fundor.io/api-reference/join-team.md): Send exactly one of `teamCode` (joins as an athlete) or `coachCode` (joins as a coach). A team code can never make someone a coach. Requires the `teams` scope. - [Preview a team by its team code](https://docs.fundor.io/api-reference/lookup-team.md) - [Submit a lead (referral)](https://docs.fundor.io/api-reference/create-lead.md): Creates the customer and one project per selected service, credited to the athlete, and queues it for Fundor's call center. - [Submit a coach application](https://docs.fundor.io/api-reference/coach-application.md): A coach applies to run a Fundor fundraiser (same as fundor.io/get-started). No account is created; Fundor follows up. Requires the `applications` scope. - [Submit a business application](https://docs.fundor.io/api-reference/business-application.md): A business asks to have its products or services offered on Fundor (same as fundor.io/partners/business). `consent: true` means the applicant agreed to be contacted. Requires the `applications` scope. - [Submit an affiliate application](https://docs.fundor.io/api-reference/affiliate-application.md): A person or business asks to promote Fundor (same as fundor.io/partners/affiliate). `consent: true` is required. Requires the `applications` scope. - [Get consent wording and a consent token](https://docs.fundor.io/api-reference/consent-&-services/get-consent-wording-and-a-consent-token.md): Call this each time you show the referral form. Show `consent.text` **exactly** next to an **unchecked** checkbox, and `commitment.text` next to a second checkbox. Send `consent.token` with the lead. Requires the `leads` scope. - [List services a lead can be submitted for](https://docs.fundor.io/api-reference/consent-&-services/list-services-a-lead-can-be-submitted-for.md): Live services only. Send answers under `services.` in `POST /leads`. The list changes as Fundor adds or pauses services, so read it rather than hard-coding it. - [Create or link a Fundor account](https://docs.fundor.io/api-reference/users/create-or-link-a-fundor-account.md): Creates a Fundor account attributed to you. The person can later sign in at fundor.io with an email code sent to this address (no password). - [Onboard a user as athlete, coach or parent](https://docs.fundor.io/api-reference/users/onboard-a-user-as-athlete-coach-or-parent.md): - **Athlete:** `role: athlete` + `teamCode`. Returns the athlete's `teamMemberId` and hosted referral link. - **Coach, new team:** `role: coach` + `schoolName`, `teamName`, `sport` (+ goals). Returns `teamCode` (share with athletes) and `coachCode` (share only with other coaches). - **Coach, existin… - [Get an athlete's hosted referral link and QR code](https://docs.fundor.io/api-reference/users/get-an-athletes-hosted-referral-link-and-qr-code.md): One link per active team. Customers who open it fill in Fundor's own referral page, so Fundor collects their consent; those leads are still attributed to you through the athlete. Requires the `users` scope. - [Create another team for a coach](https://docs.fundor.io/api-reference/teams/create-another-team-for-a-coach.md): For a coach who is already onboarded (their first team comes from onboarding). Returns the team's `teamCode` and `coachCode`. Requires the `teams` scope. - [Join a team](https://docs.fundor.io/api-reference/teams/join-a-team.md): Send exactly one of `teamCode` (joins as an athlete) or `coachCode` (joins as a coach). A team code can never make someone a coach. Requires the `teams` scope. - [Preview a team by its team code](https://docs.fundor.io/api-reference/teams/preview-a-team-by-its-team-code.md) - [Submit a lead (referral)](https://docs.fundor.io/api-reference/leads/submit-a-lead-referral.md): Creates the customer and one project per selected service, credited to the athlete, and queues it for Fundor's call center. - [Submit a coach application](https://docs.fundor.io/api-reference/applications/submit-a-coach-application.md): A coach applies to run a Fundor fundraiser (same as fundor.io/get-started). No account is created; Fundor follows up. Requires the `applications` scope. - [Submit a business application](https://docs.fundor.io/api-reference/applications/submit-a-business-application.md): A business asks to have its products or services offered on Fundor (same as fundor.io/partners/business). `consent: true` means the applicant agreed to be contacted. Requires the `applications` scope. - [Submit an affiliate application](https://docs.fundor.io/api-reference/applications/submit-an-affiliate-application.md): A person or business asks to promote Fundor (same as fundor.io/partners/affiliate). `consent: true` is required. Requires the `applications` scope. ## OpenAPI Specs - [openapi](/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.