> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.givechariot.com/v2026-04-01/api/grants/simulate-grant-cancellation/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.givechariot.com/_mcp/server. # Sandbox: Cancel a grant POST https://api.givechariot.com/v1/simulations/grants/{id}/cancel Simulates the DAF sponsor canceling the grant. Transitions the grant status to `canceled`. This API is only available in the sandbox environment. Reference: https://docs.givechariot.com/api/grants/simulate-grant-cancellation ## Authentication - `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer `, 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 identifier for the grant. ## Response ### 200 The updated grant - `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 - `donor_account_id` (string, optional) — ID of the [Donor Account](/api/donor-accounts) that this grant was submitted from. Present on grants submitted by donors who authenticated through the DAFpay Donor Account flow. Grants submitted without a linked Donor Account will not have this field set. - `donation_id` (string, optional) — ID of the [Donation](/api/donations) produced by this grant. Populated once the grant has produced a donation. Newly-created grants and grants that have not yet produced a donation do not have this field set. - `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. * awaiting_account_approval: The linked Donor Account is not yet `approved`. The grant advances automatically when the Account is approved. * awaiting_daf_submission: The Account is approved and the grant is ready for the DAF to submit in their system. * initiated: The DAF has submitted the grant. Terminal. * canceled: The DAF has canceled the grant. Terminal. - Allowed values: `awaiting_account_approval`, `awaiting_daf_submission`, `initiated`, `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 **Response** ```json { "id": "cfe09e64-6a74-4dab-a565-361185a6f248", "workflowSessionId": "2d4b2a43-a5b4-4be1-ad1f-f932016ca4a6", "fundId": "daf-id", "amount": 15000, "trackingId": "L9E182VBGP", "donor_account_id": "donor_account_01jpjenf5q6cawy43yxfcrxhct", "donation_id": "donation_01j8rs605a4gctmbm58d87mvsj", "externalGrantId": "897823sdjf8sfjs", "createdAt": "2020-01-31T23:00:00Z", "updatedAt": "2020-01-31T23:59:59Z", "status": "Initiated", "feeDetail": { "total": 1500, "contributions": [ { "name": "Chariot", "amount": 1500, "feeType": "chariot" } ] }, "metadata": {}, "firstName": "Warren", "lastName": "Buffet", "phone": "1237861020", "email": "warrenBuffet@example.com", "note": "Please dedicate in memory of grandma", "statuses": [ { "id": "cfe09e64-6a74-4dab-a565-361185a6f248", "createdAt": "2020-01-31T23:00:00Z", "status": "awaiting_daf_submission", "comment": "The grant has been received by the nonprofit" } ], "paymentChannel": "direct", "address": { "line1": "string", "line2": "string", "city": "string", "state": "string", "postalCode": "string" }, "userFriendlyId": "chariot-1234455" } ```