> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.givechariot.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.givechariot.com/_mcp/server.

# Get Donor Account

GET https://api.givechariot.com/v1/donor_accounts/{id}

Retrieve a Donor Account with the given ID.

Reference: https://docs.givechariot.com/api/donor-accounts/get

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Servers

- `https://api.givechariot.com` (Production, default)
- `https://sandboxapi.givechariot.com` (Sandbox)

## Request

### Path parameters

- `id` (string, required) — The unique id of the Donor Account.

## Response

### 200

OK

- `id` (string, required) — The unique identifier for this object.
- `status` (enum, required) — The status of a [Donor Account](/api/donor-accounts). * `pending`: The Donor Account has been created but the DAF has not yet approved or rejected it. * `approved`: The DAF has verified the donor's identity and Grants from this account can be processed. * `rejected`: The DAF has rejected the Donor Account. Grants from this account will not be processed.
  - Allowed values: `pending`, `approved`, `rejected`
- `donor` (DonorAccountDonor, required) — The donor's identity and profile information.
- `created_at` (datetime, required) — Time when this object was created. Expressed in RFC 3339 format.
- `updated_at` (datetime, required) — Time when this object was last updated. Expressed in RFC 3339 format.
- `external_id` (string, optional, nullable) — The DAF's internal identifier for this Donor Account. Can be set on creation or via [Update Donor Account](/api/donor-accounts/update) to link the DAFpay Donor Account to the donor's record in the DAF's own systems.
- `approval` (DonorAccountApproval, optional, nullable) — Details about the approval decision. Present when `status` is `approved`; otherwise `null`.
- `rejection` (DonorAccountRejection, optional, nullable) — Details about the rejection decision. Present when `status` is `rejected`; otherwise `null`.
- `disabled` (boolean, optional, default: false) — Whether this Donor Account is currently disabled. A disabled Donor Account remains `approved` but cannot submit new Grant Requests — call [Enable Donor Account](/api/donor-accounts/enable) to re-enable it. Disabling is only available for accounts in `approved` status.
- `metadata` (map from string to string, optional) — A map of arbitrary string keys and values to store information about the object.

## Errors

### 400 Bad Request Error

The request is invalid or contains invalid parameters

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

### 401 Unauthorized Error

Unauthorized. The request is missing the security (OAuth2 Bearer token) requirements and the server is unable to verify the identify of the caller.

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

### 403 Forbidden Error

Access denied

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

### 404 Not Found Error

Resource Not Found

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

### 500 Internal Server Error

Internal Server Error

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

## Types

### DonorAccountDonor

The donor's identity and profile information.

- `email` (string, required) — The donor's email. This is the donor's verified identifier — DAFpay verifies ownership via an email verification flow before a Donor Account is created.
- `first_name` (string, optional, nullable) — The donor's first name as captured during DAFpay profile setup. May be null for Donor Accounts created via [Create Donor Account](/api/donor-accounts/create) before the donor has authenticated.
- `last_name` (string, optional, nullable) — The donor's last name as captured during DAFpay profile setup. May be null for Donor Accounts created via [Create Donor Account](/api/donor-accounts/create) before the donor has authenticated.
- `phone` (string, optional, nullable) — The donor's phone number as captured during DAFpay profile setup. DAFpay does not currently verify ownership of the phone number. Treat this field as donor-asserted information.

### DonorAccountApproval

Details about the approval decision. Present when `status` is `approved`; otherwise `null`.

- `approved_at` (datetime, optional) — Time when the Donor Account was approved. Expressed in RFC 3339 format.
- `approved_by` (string, optional) — Identifier of the actor that approved this Donor Account. For DAF-initiated approvals, this is the DAF's API key principal. For automatic approvals via token verification, this is `system:authorization_token`.

### DonorAccountRejection

Details about the rejection decision. Present when `status` is `rejected`; otherwise `null`.

- `rejected_at` (datetime, optional) — Time when the Donor Account was rejected. Expressed in RFC 3339 format.
- `rejected_by` (string, optional) — Identifier of the actor that rejected this Donor Account. For DAF-initiated rejections, this is the DAF's API key principal.
- `rejection_reason` (string, optional) — A human-readable reason provided by the DAF when rejecting the Donor Account.

## Examples

**Response**

```json
{
  "id": "donor_account_01jpjenf5q6cawy43yxfcrxhct",
  "status": "pending",
  "donor": {
    "email": "warrenBuffet@example.com",
    "first_name": null,
    "last_name": null,
    "phone": null
  },
  "created_at": "2026-04-01T12:00:00Z",
  "updated_at": "2026-04-01T12:00:00Z",
  "external_id": "ACME-DAF-DONOR-1042",
  "approval": null,
  "rejection": null,
  "disabled": false
}
```