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

# Create nonprofit

POST https://api.givechariot.com/v1/nonprofits
Content-Type: application/json

Create a nonprofit organization.

This is useful for integration partners to use after a nonprofit consents to use the Chariot payment option on their donation forms.

If a nonprofit does not already exist for the EIN, this will return a `201 Created` status.
If a nonprofit already exists for the given EIN on the system, this will return a `200 OK` status.

Handling errors:

* If the nonprofit does not exist within Chariot's database, a `404 Not Found` status is returned.
* If the nonprofit exists but does not pass Chariot's compliance checks, a `412 Precondition Failed` status is returned with a reason.

Reference: https://docs.givechariot.com/v2023-01-01/api/nonprofits/create

## Authentication

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

## Servers

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

## Request

### Body (application/json)

This endpoint expects an object.

- `user` (V1NonprofitsPostRequestBodyContentApplicationJsonSchemaUser, required)
- `ein` (string, required) — The US federal employer identification number (Tax ID); unique on the system
- `preferredName` (string, optional) — The preferred name of the nonprofit organization. This is the name that shows up on the nonprofit's dashboard and Connect modal. This is useful for nonprofits that are known by a different name to donors and don't use their IRS registered name publicly.
- `picture` (string, optional) — The URI of the nonprofit's logo
- `website` (string, optional) — The URL of the nonprofit's website

## Response

### 200

OK

- `id` (string, required) — The unique identifier for the object.
- `name` (string, required) — The IRS registered name of the nonprofit organization
- `ein` (string, required) — The US federal employer identification number (Tax ID); unique on the system. This value should be exactly 9 digits and should not contain any special characters such as dashes.
- `preferredName` (string, optional) — The preferred name of the nonprofit organization. This is the name that shows up on the nonprofit's dashboard and Connect modal. This is useful for nonprofits that are known by a different name to donors and don't use their IRS registered name publicly.
- `suborganizations` (list of Suborganization, optional) — The list of suborganizations associated with this nonprofit. Suborganizations are useful for nonprofits that have multiple chapters or locations.
- `address` (Address, optional)
- `picture` (string, optional) — The URI of the nonprofit's logo
- `website` (string, optional) — The URL of the nonprofit's website
- `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.
- `isDafPayNetwork` (boolean, optional) — A flag to indicate if the nonprofit will receive grants through the DAFPay Network. Grants processing through the DAFPay Network 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 nonprofit. Grants processed outside the DAFPay Network will be sent directly to the nonprofit.
- `inGoodStanding` (boolean, optional) — A flag to indicate if the nonprofit is in good standing with the IRS. If the nonprofit is a tax-exempt 501(c)(3) Public Charity in good standing with the IRS, this field should be true. This status can change over time and is kept up-to-date by Chariot. Regardless of the value of this field, Connects can still be created for the nonprofit, however the nonprofit will not be able to receive grants through Chariot if this field is false. If you believe the value of this field is incorrect for a Nonprofit, please contact the Chariot team.
- `claimed` (boolean, optional) — A flag to indicate if the nonprofit has been claimed by a user. A nonprofit is claimed if a user signs up for a Chariot account with this nonprofit and is verified by the Chariot team.

### 201

Created

- `id` (string, required) — The unique identifier for the object.
- `name` (string, required) — The IRS registered name of the nonprofit organization
- `ein` (string, required) — The US federal employer identification number (Tax ID); unique on the system. This value should be exactly 9 digits and should not contain any special characters such as dashes.
- `preferredName` (string, optional) — The preferred name of the nonprofit organization. This is the name that shows up on the nonprofit's dashboard and Connect modal. This is useful for nonprofits that are known by a different name to donors and don't use their IRS registered name publicly.
- `suborganizations` (list of Suborganization, optional) — The list of suborganizations associated with this nonprofit. Suborganizations are useful for nonprofits that have multiple chapters or locations.
- `address` (Address, optional)
- `picture` (string, optional) — The URI of the nonprofit's logo
- `website` (string, optional) — The URL of the nonprofit's website
- `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.
- `isDafPayNetwork` (boolean, optional) — A flag to indicate if the nonprofit will receive grants through the DAFPay Network. Grants processing through the DAFPay Network 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 nonprofit. Grants processed outside the DAFPay Network will be sent directly to the nonprofit.
- `inGoodStanding` (boolean, optional) — A flag to indicate if the nonprofit is in good standing with the IRS. If the nonprofit is a tax-exempt 501(c)(3) Public Charity in good standing with the IRS, this field should be true. This status can change over time and is kept up-to-date by Chariot. Regardless of the value of this field, Connects can still be created for the nonprofit, however the nonprofit will not be able to receive grants through Chariot if this field is false. If you believe the value of this field is incorrect for a Nonprofit, please contact the Chariot team.
- `claimed` (boolean, optional) — A flag to indicate if the nonprofit has been claimed by a user. A nonprofit is claimed if a user signs up for a Chariot account with this nonprofit and is verified by the Chariot team.

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

### 412 Precondition Failed Error

Precondition Failed

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

### V1NonprofitsPostRequestBodyContentApplicationJsonSchemaUser

- `email` (string, required) — The email address for the nonprofit account contact
- `phone` (string, optional) — The phone number for the nonprofit account contact
- `firstName` (string, optional) — The first name of the nonprofit account contact
- `lastName` (string, optional) — The last name of the nonprofit account contact

### Suborganization

A suborganization represents an organization that is under the umbrella of a parent EIN. This is common for nonprofits that have multiple chapters or locations or operate as a fiscal sponsor.

- `id` (string, required) — The unique identifier for the object.
- `name` (string, required) — The registered name of the suborganization
- `preferredName` (string, optional) — The preferred name of the suborganization. This is the name that shows up on the nonprofit's dashboard and Connect modal. This is useful for nonprofits that are known by a different name to donors and don't use their IRS registered name publicly.
- `address` (Address, optional)
- `picture` (string, optional) — The URI of the nonprofit's logo
- `website` (string, optional) — The URL of the nonprofit's website
- `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.

### Address

- `city` (string, required) — City, district, suburb, town, or village.
- `country` (string, required) — Two-letter country code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
- `line1` (string, required) — Address line 1 (e.g. street, PO Box, or company name)
- `postalCode` (string, required) — ZIP or postal code
- `state` (string, required) — State, county, province, or region
- `line2` (string, optional) — Address line 2 (e.g. apartment, suite, unit, or building)

## Examples

### Example 1

**Request**

```json
{
  "user": {
    "email": "contact@leadingforchildren.org"
  },
  "ein": "043567500"
}
```

**Response**

```json
{
  "id": "a12b3c4d-5678-90ef-gh12-3456ijklmnop",
  "name": "Leading for Children",
  "ein": "043567500",
  "preferredName": "LfC",
  "suborganizations": [
    {
      "id": "b98c7d6e-5432-10fe-ba98-7654mnopqrstu",
      "name": "Leading for Children - West Chapter",
      "preferredName": "LfC West",
      "address": {
        "city": "San Francisco",
        "country": "US",
        "line1": "1234 Market St",
        "postalCode": "94103",
        "state": "CA",
        "line2": "Suite 500"
      },
      "picture": "https://cdn.givechariot.com/logos/lfc-west.png",
      "website": "https://west.leadingforchildren.org",
      "createdAt": "2021-06-15T12:00:00Z",
      "updatedAt": "2024-04-10T09:30:00Z"
    }
  ],
  "address": {
    "city": "New York",
    "country": "US",
    "line1": "789 Charity Ave",
    "postalCode": "10001",
    "state": "NY",
    "line2": "Floor 3"
  },
  "picture": "https://cdn.givechariot.com/logos/leadingforchildren.png",
  "website": "https://www.leadingforchildren.org",
  "createdAt": "2020-01-31T23:00:00Z",
  "updatedAt": "2024-05-20T15:45:00Z",
  "isDafPayNetwork": false,
  "inGoodStanding": true,
  "claimed": true
}
```

### Example 2

**Request**

```json
{
  "user": {
    "email": "contact@leadingforchildren.org"
  },
  "ein": "043567500"
}
```

**Response**

```json
{
  "id": "a12b3c4d-5678-90ef-gh12-3456ijklmnop",
  "name": "Leading for Children",
  "ein": "043567500",
  "preferredName": "LfC",
  "suborganizations": [
    {
      "id": "b98c7d6e-5432-10fe-ba98-7654mnopqrstu",
      "name": "Leading for Children - West Chapter",
      "preferredName": "LfC West",
      "address": {
        "city": "San Francisco",
        "country": "US",
        "line1": "1234 Market St",
        "postalCode": "94103",
        "state": "CA",
        "line2": "Suite 500"
      },
      "picture": "https://cdn.givechariot.com/logos/lfc-west.png",
      "website": "https://west.leadingforchildren.org",
      "createdAt": "2021-06-15T12:00:00Z",
      "updatedAt": "2024-04-10T09:30:00Z"
    }
  ],
  "address": {
    "city": "New York",
    "country": "US",
    "line1": "789 Charity Ave",
    "postalCode": "10001",
    "state": "NY",
    "line2": "Floor 3"
  },
  "picture": "https://cdn.givechariot.com/logos/leadingforchildren.png",
  "website": "https://www.leadingforchildren.org",
  "createdAt": "2020-01-31T23:00:00Z",
  "updatedAt": "2024-05-20T15:45:00Z",
  "isDafPayNetwork": false,
  "inGoodStanding": true,
  "claimed": true
}
```