> This page is for version v2026-10-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 a Source

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

Updates a custom source. Canonical sources are read-only; a PATCH on
one returns `403 Forbidden`.

Reference: https://docs.givechariot.com/v2026-10-01/api/sources/update-source

## 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 identifier for the source.

### Body (application/json)

This endpoint expects an object.

- `name` (string, optional) — The human-readable name of the source.
- `logo` (string, optional, nullable) — URL of the source's logo, if one is available.

## Response

### 200

The updated source.

- `id` (string, required) — The unique identifier for the source.
- `name` (string, required) — The human-readable name of the source.
- `scope` (enum, required) — Who owns this source. - `canonical` — maintained by Chariot and shared across every organization. Read-only. - `custom` — created by an organization for its own use, and mutable by that organization.
  - Allowed values: `canonical`, `custom`
- `created_at` (datetime, required) — When this source was added to the directory.
- `updated_at` (datetime, required) — When this source was last modified.
- `logo` (string, optional, nullable) — URL of the source's logo, if one is available.

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

## Examples

**Request**

```json
{
  "name": "Community Foundation of the Bay Area"
}
```

**Response**

```json
{
  "id": "source_01m12tn300eh20gdqscje7s5jw",
  "name": "Fidelity Charitable",
  "scope": "canonical",
  "created_at": "2026-09-28T12:34:56Z",
  "updated_at": "2026-09-28T12:34:56Z",
  "logo": "https://cdn.givechariot.com/payers/fidelity_charitable.png"
}
```