---
title: "Create nonprofit"
method: POST
path: "/v1/nonprofits"
tags: ["Nonprofits"]
---

# Create nonprofit

`POST /v1/nonprofits`

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.

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

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

## Request body

- object
  - `user` object, required
    - `email` string, required — The email address for the nonprofit account contact
    - `phone` string — The phone number for the nonprofit account contact
    - `firstName` string — The first name of the nonprofit account contact
    - `lastName` string — The last name of the nonprofit account contact
  - `ein` string, required — The US federal employer identification number (Tax ID); unique on the system
  - `preferredName` string — 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 — The URI of the nonprofit's logo
  - `website` string — The URL of the nonprofit's website

## Response `200`

OK

- Nonprofit — A Nonprofit represents a registered 501(c)(3) charitable organization in good standing with the IRS.
  - `id` string, required — The unique identifier for the object.
  - `name` string, required — The IRS registered name of the nonprofit organization
  - `preferredName` string — 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.
  - `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.
  - `suborganizations` Suborganization[] — The list of suborganizations associated with this nonprofit. Suborganizations are useful for nonprofits that have multiple chapters or locations.
    - `id` string, required — The unique identifier for the object.
    - `name` string, required — The registered name of the suborganization
    - `preferredName` string — 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
      - `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)
      - `line2` string — Address line 2 (e.g. apartment, suite, unit, or building)
      - `postalCode` string, required — ZIP or postal code
      - `state` string, required — State, county, province, or region
    - `picture` string — The URI of the nonprofit's logo
    - `website` string — The URL of the nonprofit's website
    - `createdAt` string, date-time — Time when this object was created. Expressed in RFC 3339 format.
    - `updatedAt` string, date-time — Time when this object was last updated. Expressed in RFC 3339 format.
  - `address` 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)
    - `line2` string — Address line 2 (e.g. apartment, suite, unit, or building)
    - `postalCode` string, required — ZIP or postal code
    - `state` string, required — State, county, province, or region
  - `picture` string — The URI of the nonprofit's logo
  - `website` string — The URL of the nonprofit's website
  - `createdAt` string, date-time — Time when this object was created. Expressed in RFC 3339 format.
  - `updatedAt` string, date-time — Time when this object was last updated. Expressed in RFC 3339 format.
  - `isDafPayNetwork` boolean — 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 — 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 — 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.

## Other responses

- `201` — Created
- `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
- `412` — Precondition Failed
- `500` — Internal Server Error

---

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