---
title: "Enable Donor Account"
method: POST
path: "/v1/donor_accounts/{id}/enable"
tags: ["Donor Accounts"]
---

# Enable Donor Account

`POST /v1/donor_accounts/{id}/enable`

Re-enable a previously disabled Donor Account. After this call, the Donor Account can submit new Grant Requests again.

This endpoint is idempotent — calling it on an account that is already enabled returns the Donor Account unchanged.

<Warning>
- The Donor Account must be in `approved` status. Calls on a `pending` or `rejected` account return status `409 Conflict`.
</Warning>

## Path parameters

- `id` string, required

## Response `200`

The Donor Account was enabled (or was already enabled).

- DonorAccount — A Donor Account represents a DAFpay donor identity at a DAF. Donor Accounts are the bridge between a donor's verified DAFpay identity (email, profile) and the donor's record at the DAF. An Account must reach `approved` status — via an [Authorization Token](/api/authorization-tokens) — before its Grant Requests can be processed. A Donor Account may optionally have one or more [Giving Pools](/api/giving-pools) associated with it (see [Giving Pool](/api/giving-pools)). The relationship is many-to-one from `GivingPool` to `DonorAccount` — each Giving Pool belongs to exactly one Donor Account. There are two flows for how an Account reaches `approved`: - **Donor-Initiated Verification**: After a donor submits a Grant Request, DAFpay issues a one-time [Authorization Token](/api/authorization-tokens) and emails the `code` to the donor. The donor provides the code to the DAF, who calls [Verify Authorization Token](/api/authorization-tokens/verify) to approve the account. - **DAF-Initiated Setup**: The DAF creates the Donor Account and an Authorization Token in advance (e.g. when a donor opts in via the DAF portal). The donor enters the token's `code` into DAFpay during profile setup, automatically approving the account. See the [Donor Accounts overview](/guides/dafpay/donor-accounts/overview) for a full discussion of these flows.
  - `id` string, required — The unique identifier for this object.
  - `status` 'pending' | 'approved' | 'rejected', 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.
  - `donor` object, required — 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, 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, 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, nullable — The donor's phone number as captured during DAFpay profile setup. <Note> DAFpay does not currently verify ownership of the phone number. Treat this field as donor-asserted information. </Note>
  - `external_id` string, 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` object, nullable — Details about the approval decision. Present when `status` is `approved`; otherwise `null`.
    - `approved_at` string, date-time — Time when the Donor Account was approved. Expressed in RFC 3339 format.
    - `approved_by` string — 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`.
  - `rejection` object, nullable — Details about the rejection decision. Present when `status` is `rejected`; otherwise `null`.
    - `rejected_at` string, date-time — Time when the Donor Account was rejected. Expressed in RFC 3339 format.
    - `rejected_by` string — Identifier of the actor that rejected this Donor Account. For DAF-initiated rejections, this is the DAF's API key principal.
    - `rejection_reason` string — A human-readable reason provided by the DAF when rejecting the Donor Account.
  - `disabled` boolean — 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.
  - `created_at` string, date-time, required — Time when this object was created. Expressed in RFC 3339 format.
  - `updated_at` string, date-time, required — Time when this object was last updated. Expressed in RFC 3339 format.
  - `metadata` object — A map of arbitrary string keys and values to store information about the object.

## Other responses

- `400` — The request is invalid or contains invalid parameters
- `401` — Unauthorized. The request is missing the security (OAuth2 Bearer token) requirements and the server is unable to verify the identify of the caller.
- `403` — Access denied
- `404` — Resource Not Found
- `409` — Resource Conflicts
- `500` — Internal Server Error

---

[API](https://skmtc.net/chariot-giving/apis/chariot-api.md) · [All operations](https://skmtc.net/chariot-giving/apis/chariot-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/chariot-giving/chariot-api/versions/dc28cadc066e/schema)
