Outcome
A tech-platform partner can provision users, create partner-managed funds, record settled donations, submit grants after custodian settlement, and report missing organizations—all without a donor OAuth login flow.When
Use this track instead of the standard OAuth journey when you integrate as an Endaoment tech-platform partner with API key credentials.Auth
Most server-to-server partner endpoints requirex-api-key. Acting-user context depends on the step — see Partner auth options.
POST /v1/funds/partner is an exception: it also accepts a registered OAuth user Bearer token or partner OIDC bearer without x-api-key. For this partner journey, use x-api-key throughout.
See Integration Patterns and the Partner Endpoints API reference.
Journey
Retrieve a partner fund: Get fund by ID.
Step 1: Provision user
Inputs:partnerUserIdentifier (your stable partner-side user id — 16–64 printable ASCII characters), user profile fields, and required address.
response.id as the Endaoment user UUID for later x-endaoment-user-id use.
Step 2: Create partner fund
The acting user must already have saved identity from Step 1. Pick an auth path from Partner auth options. Example using API key + impersonation header:name, partnerAccountIdentifier (16–64 printable ASCII characters). See Create fund for the full schema.
Persist: Fund id.
Step 3: Record settled donation
Call after the donation has already settled on your platform. Provide acting-user context viax-endaoment-user-id or body partnerUserIdentifier (when partner inflow routes are enabled).
Step 4: Submit partner grant
Server-to-server grant intake after inbound custodian transfer has settled. No donor Bearer token or acting-user header required.Step 5: Report missing org
When a donor wants a nonprofit you cannot find on Endaoment, report it with your API key:POST /v1/missing-org-reports
201returns a reportid. Store it. A second report for the same EIN is a separate report.409means the nonprofit is already on Endaoment. UseexistingOrgIdfrom the response instead of waiting.
id. This call needs no API key:
GET /v1/missing-org-reports/{id}
status is submitted while Endaoment reviews it. approved comes with resolvedOrgId, the nonprofit to grant to. rejected comes with rejectionReason, which you can show the donor.
POST /v1/missing-org-reports/tech-platform is deprecated. It takes the same body and gives the same answers, so move to POST /v1/missing-org-reports when you next touch this code.
API reference: Submit missing org report · Get missing org report status
Common mistakes
- Using donor OAuth flows for partner-only operations
- Omitting required
addresson user provisioning - Using partner identifiers shorter than 16 characters
- Creating a partner fund before the acting user has provisioned PII
- Assuming
x-endaoment-user-idis always required on settled pledges (bodypartnerUserIdentifieris an alternative) - Correcting a settled donation by re-sending it with the same
idempotencyKeyand a fixed amount (settled pledges cannot be amended, see Conflicts on write routes) - Submitting partner grants before custodian settlement completes