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

# Overview

> How to integrate with Endaoment — OAuth and partner paths at a glance.

There are two integration tracks, depending on how your product connects to Endaoment. Start with [Integration Patterns](./integration-patterns) for auth, proxying, idempotency, and amount conventions — it'll save you some back-and-forth later.

## Before you begin

Request OAuth credentials from us via [Discord support](https://discord.com/channels/734855436276334746/890622199390699580). You'll start in **dev** or **staging**; production credentials come after you've validated your integration — see [Going to Production](./going-to-prod).

## Environments

| Environment    | Auth URL                             | API URL                             |
| -------------- | ------------------------------------ | ----------------------------------- |
| **Dev**        | `https://auth.dev.endaoment.org`     | `https://api.dev.endaoment.org`     |
| **Staging**    | `https://auth.staging.endaoment.org` | `https://api.staging.endaoment.org` |
| **Production** | `https://auth.endaoment.org`         | `https://api.endaoment.org`         |

## Standard OAuth journey

For apps where donors sign in with OAuth + PKCE and your backend proxies API calls on their behalf.

| Step | Outcome                  | Key endpoint                      | Guide                                  |
| ---- | ------------------------ | --------------------------------- | -------------------------------------- |
| 1    | User has an access token | `/auth` → `/token`                | [Authenticate](./login-user)           |
| 2    | Donor has a fund         | `POST /v1/funds/partner`          | [Open a Fund](./create-daf)            |
| 3    | Donation pledge created  | `POST /v1/donation-pledges/wire`  | [Fund a DAF](./donate-to-daf)          |
| 4    | Nonprofit selected       | `GET /v2/orgs/search`             | [Find a Nonprofit](./search-for-org)   |
| 5    | Grant submitted          | `POST /v1/transfers/async-grants` | [Recommend a Grant](./grant-from-daf)  |
| 6    | Production-ready         | —                                 | [Going to Production](./going-to-prod) |

Registered OAuth clients must use `POST /v1/funds/partner` — not `POST /v1/funds`. See [Open a Fund](./create-daf) for routing details.

## Partner API journey

For tech-platform partners calling our server-to-server APIs with an API key. No donor OAuth login required on your side.

| Step | Outcome                   | Key endpoint                                   |
| ---- | ------------------------- | ---------------------------------------------- |
| 1    | Partner user provisioned  | `POST /v1/auth/partner/users`                  |
| 2    | Partner fund created      | `POST /v1/funds/partner`                       |
| 3    | Settled donation recorded | `POST /v1/donation-pledges/partner/*-settled`  |
| 4    | Grant submitted           | `POST /v1/transfers/partner/grant-submissions` |
| 5    | Missing org reported      | `POST /v1/missing-org-reports/tech-platform`   |

Full walkthrough: [Partner Journey](./partner-journey). API reference: [Partner Endpoints](/developers/api/partner-endpoints/provision-user).

## Reference implementation

The [GitHub quickstart sample](https://github.com/endaoment/endaoment-integration-docs/tree/main/quickstart/) is a working frontend + backend app with OAuth PKCE — handy if you like learning by example, but not required to integrate.
