canonical: https://jentic.com/apis/donorsync.io/donorsync

# DonorSync API

Jentic publishes the only available OpenAPI specification for DonorSync API, keeping it validated and agent-ready. DonorSync provides a lightweight donation management interface for nonprofits and fundraising platforms to record donor contributions and verify connectivity. The API exposes a credential test endpoint and a donation creation endpoint, both authenticated via HTTP Basic credentials. It is designed to be embedded inside donor management workflows where a contribution event needs to be posted to DonorSync as the system of record.

## For AI agents

Record donations in DonorSync and verify API credentials so an agent can confirm connectivity before posting contribution data.

## Scope

Does not handle card processing, donor email outreach, or grant management - use for posting donation records to DonorSync only.

## Capabilities

- Verify DonorSync API credentials by calling the /me connection test endpoint
- Post a new donation record with donor identity, amount, and designation fields
- Confirm successful donation creation and capture the returned donation identifier
- Drive an external fundraising form to push contributions into DonorSync as they happen
- Detect authentication failures and surface them to the caller before attempting donation writes

## Use cases

### Form-to-CRM Donation Capture

Push donations submitted through a public fundraising form directly into DonorSync as the donor record of truth. Each form submission triggers a POST to `/donation/create` with donor name, amount, and campaign metadata so finance and stewardship teams see contributions in near real time without manual entry. Integration completes in a few hours given the two-endpoint surface and HTTP Basic authentication.

Example prompt: Submit a donation of $100 USD for donor jane@example.com tagged to the 'Spring Campaign' via POST `/donation/create` and return the resulting donation id.

### Credential Health Monitoring

Run a scheduled connectivity check against DonorSync before nightly donation batches to catch revoked or rotated credentials early. The /me endpoint accepts the same HTTP Basic credentials and returns a quick success or failure signal, letting operations teams alert on auth drift before donor data is queued. This adds a 50ms preflight to existing pipelines.

Example prompt: Call POST /me with the configured DonorSync credentials and report whether authentication succeeded before the nightly donation upload runs.

### Recurring Donation Replication

Mirror recurring donation events from a billing system into DonorSync so stewardship teams have a single view of giving history. As each successful charge clears upstream, the agent posts a corresponding donation to `/donation/create` with the donor identifier and amount. The two-call flow keeps the integration simple and avoids holding a write queue in the billing platform.

Example prompt: On each successful Stripe charge for a donor, create a matching DonorSync donation via POST `/donation/create` with the same amount and donor email.

### AI Agent Donation Capture

Through Jentic, an AI agent can take a natural-language instruction such as 'record a $50 donation from John Doe to the literacy program' and resolve it to the DonorSync `/donation/create` call without browsing docs. Jentic handles credential injection and schema validation, so the agent only supplies the structured donation fields. End-to-end setup is under an hour after sign-up.

Example prompt: Use Jentic search for 'record a donation in DonorSync', load the donation create operation, and execute it with donor name, email, amount, and campaign tag.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/me` | Test API connection and credentials |
| POST | `/donation/create` | Create a donation record |

## Key resources

- **Connection Test** — Verifies that the supplied HTTP Basic credentials authenticate against DonorSync.
- **Donation** — Creates a donation record with donor, amount, and campaign metadata.

## Why Jentic

- **Setup:** Wiring the DonorSync API by hand means encoding a username and password into a Basic auth header before you can post a donation record. Through Jentic you install once, import the DonorSync API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** DonorSync takes the donation details in the request body rather than a resource-owning path, so scope by operation: limit the agent to the operations it needs, such as recording a donation, and leave anything else out of its set. You decide which operations are in that set.
- **Credential handling:** Your DonorSync Basic credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'record a donation in DonorSync', and Jentic returns the `/donation/create` operation with its input schema so the agent calls the right endpoint without browsing the DonorSync docs.

## Related APIs

- **Stripe API** — Stripe processes the actual card payment; DonorSync records the donation against the donor.
- **PayPal Invoicing API** — PayPal Invoicing handles the donor-facing invoice; DonorSync stores the resulting donation record.
- **Mailchimp Marketing API** — Mailchimp powers the donor outreach; DonorSync owns the donation history.

## FAQ

### Why is there no official OpenAPI spec for DonorSync API?

DonorSync does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call DonorSync API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the DonorSync API use?

DonorSync uses HTTP Basic authentication. You send your username and password as a base64-encoded Authorization header on every request. When called through Jentic, those credentials are stored encrypted in your Jentic One instance and injected at execution time, so the raw values never enter the agent's context.

### Can I create donations through the DonorSync API?

Yes. POST `/donation/create` accepts the donor identifying fields, the contribution amount, and campaign metadata, and returns a donation identifier on success. This is the primary write operation in the API.

### How do I verify my DonorSync credentials are valid?

Call POST /me with your HTTP Basic credentials. A 2xx response confirms the credentials authenticate, which is useful as a preflight check before pushing donation batches.

### How do I record a donation with DonorSync through Jentic?

Run pip install jentic, search for 'record a donation in DonorSync', load the donation create operation, and execute it with the donor and amount fields. Jentic returns the structured input schema so the agent can build a valid request without reading API docs.

### What are the rate limits for the DonorSync API?

The published spec does not declare explicit rate limits. Build retry-with-backoff into your client and treat any 429 response as the signal to slow down. For high-volume imports, contact DonorSync directly to confirm thresholds.

### Can I limit what my agent is allowed to do with the DonorSync API?

Yes. Because you run Jentic One yourself, you decide which DonorSync operations your agent may call, and your own rules govern the encrypted Basic credentials it uses at execution time. The DonorSync API takes donation details in the request body rather than a resource-owning path, so you scope by operation: grant only what the agent needs, such as POST `/donation/create` to record a contribution, and leave the POST /me connection test or any other operation out of its set. Anything you do not include stays out of the agent's reach.
