> This page is for version v2023-01-01.
> For other versions, use one of these documentation indexes:
> - v2026-04-01 (default): https://docs.givechariot.com/v2026-04-01/llms.txt

> 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.

# Update Grant

PATCH https://api.givechariot.com/v1/grants/{id}
Content-Type: application/json

Update a grant object with the given ID.
This can be used to update the status or acknowledgement of the grant.

Reference: https://docs.givechariot.com/v2023-01-01/api/grants/update

## Authentication

- OAuth2 — send the obtained token as `Authorization: Bearer <token>`

## Servers

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

## Request

### Path parameters

- `id` (string, required) — The unique id of the grant. The format should be a v4 UUID according to RFC 4122.

### Body (application/json)

This endpoint expects an object.

- `status` (enum, required) — The status of the grant: * Initiated: The grant has been initiated and is ready to be processed * Completed: The grant has been completed
  - Allowed values: `Initiated`, `Completed`
- `acknowledgedAt` (datetime, optional) — The date and time the grant was acknowledged by the nonprofit. This is useful for nonprofits to indicate when they have received and processed the grant. Expressed in RFC 3339 format.

## Response

### 200

OK

- `id` (string, required) — The unique identifier for the object
- `workflowSessionId` (string, required) — ID of the Connect Workflow Session associated with this grant
- `fundId` (string, required) — ID of the donor advised fund
- `amount` (double, required) — The grant amount expressed in units of whole cents
- `trackingId` (string, optional) — The tracking ID for the grant
- `externalGrantId` (string, optional) — ID of the grant associated with the donor advised fund
- `createdAt` (datetime, optional) — Time when this object was created; expressed in RFC 3339 format
- `updatedAt` (datetime, optional) — Time when this object was last updated; expressed in RFC 3339 format
- `status` (string, optional) — The status of the grant
- `feeDetail` (GrantFeeDetail, optional) — The fee detail of the grant
- `metadata` (map from string to string, optional) — A map of arbitrary string keys and values to store information about the object
- `firstName` (string, optional) — The donor's first name
- `lastName` (string, optional) — The donor's last name
- `phone` (string, optional) — The donor's phone number
- `email` (string, optional) — The donor's email
- `note` (string, optional) — An note inputted by the user at submisson
- `statuses` (list of GrantStatus, optional) — The list of grant statuses for this grant
- `paymentChannel` (enum, optional) — The payment channel for the grant. This is useful to know how the grant will be sent. The payment channel will be one of the following: - dafpay_network: Grant will be sent to the DAFPay Network 501(c)(3) nonprofit organization (EIN: 93-1372175). The DAFPay Network will then review and process the grant and send the funds to the intended recipient. - direct: Grant will be sent directly to the intended recipient.
  - Allowed values: `dafpay_network`, `direct`
- `address` (GrantAddress, optional)
- `userFriendlyId` (string, optional, deprecated) — Often referred to as the "Chariot ID", this is the ID that will be included in the payment from the DAF provider.

## 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

### GrantFeeDetail

The fee detail of the grant

- `total` (double, optional) — The total fee amount expressed in units of cents
- `contributions` (list of ContributionFeeDetail, optional) — The list of fee contributions for this grant

### GrantStatus

- `id` (string, required) — The unique identifier for the object
- `createdAt` (datetime, required) — Time when this object was created; expressed in RFC 3339 format
- `status` (enum, required) — The status of the grant. To see a description of each status, see the "Grant Statuses" section of the Chariot documentation.
  - Allowed values: `Initiated`, `Completed`, `Canceled`
- `comment` (string, optional) — The user comment for the update

### GrantAddress

- `line1` (string, optional) — Address line 1 (e.g. street, PO Box, or company name). Maximum length: 255 characters.
- `line2` (string, optional) — Address line 2 (e.g. apartment, suite, unit, or building). Maximum length: 255 characters.
- `city` (string, optional) — City, district, suburb, town, or village.. Maximum length: 255 characters.
- `state` (string, optional) — State, county, province, or region. Maximum length: 255 characters.
- `postalCode` (string, optional) — ZIP or postal code. Maximum length: 255 characters.

### ContributionFeeDetail

- `name` (string, required) — The name of the party charging the fee. This is an informational field. If you need to differentiate between fees charged by different parties, you should use the `feeType` field.
- `amount` (double, required) — The fee contribution amount expressed in units of cents
- `feeType` (enum, optional) — This indicates the source of a fee contribution. * chariot: Chariot's processing fee * daf: The DAF's processing fee * fundraising_application: The fundraising application's processing fee
  - Allowed values: `chariot`, `daf`, `fundraising_application`

## Examples

**Request**

```json
{
  "status": "Completed"
}
```

**Response**

```json
{
  "id": "1e60800e-849b-43d1-870e-57afc8d75473",
  "workflowSessionId": "cfe09e64-6a74-4dab-a565-361185a6f248",
  "fundId": "daf-id",
  "amount": 15000,
  "createdAt": "2021-08-10 15:00:00.000",
  "updatedAt": "2021-08-11 15:34:00.000",
  "status": "Initiated"
}
```