Chariot Programs API

The Programs API from Chariot — 2 operation(s) for programs.

Operations 2

GET /v1/programs List Programs #
GET /v1/programs/{id} Get Program #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/chariot-programs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

chariot-programs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Chariot Programs API
  version: v1
  description: The Chariot REST API. Please see https://docs.givechariot.com/api for more details.
  contact:
    name: Chariot Development Team
    url: https://givechariot.com/contact
    email: developers@givechariot.com
  termsOfService: https://givechariot.com/legal-nonprofit
servers:
- url: https://sandboxapi.givechariot.com
  description: Sandbox
- url: https://api.givechariot.com
  description: Production
tags:
- name: Programs
paths:
  /v1/programs:
    get:
      summary: List Programs
      description: Returns a list of all programs for your Chariot account.
      operationId: list-programs
      tags:
      - Programs
      security:
      - bearerAuth: []
      parameters:
      - name: limit
        in: query
        description: Number of results per page. The default (and maximum) is 100 objects.
        required: false
        schema:
          type: integer
          format: int32
      - name: cursor
        in: query
        description: Cursor token for pagination. Use the next_page_token from the previous response to retrieve the next page of results.
        required: false
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/ListProgramsResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /v1/programs/{id}:
    get:
      summary: Get Program
      description: Retrieves the program with the given ID.
      operationId: get-program
      tags:
      - Programs
      security:
      - bearerAuth: []
      parameters:
      - name: id
        in: path
        description: The unique identifier for the program
        schema:
          type: string
        required: true
        example: program_01j8rs605a4gctmbm58d87mvsj
      responses:
        '200':
          description: OK
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Program'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  responses:
    BadRequestError:
      description: The request is invalid or contains invalid parameters
      headers:
        X-Request-Id:
          $ref: '#/components/headers/X-Request-Id'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
          examples:
            BadRequest:
              value:
                type: about:blank
                title: API Error
                status: 400
                detail: The request is invalid or contains invalid parameters.
    AuthenticationError:
      description: Unauthorized. The request is missing the security (OAuth2 Bearer token) requirements and the server is unable to verify the identify of the caller.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/X-Request-Id'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
          examples:
            Unauthorized:
              value:
                type: about:blank
                title: API Error
                status: 401
                detail: Authentication credentials were missing or invalid.
    ForbiddenError:
      description: Access denied
      headers:
        X-Request-Id:
          $ref: '#/components/headers/X-Request-Id'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
          examples:
            Forbidden:
              value:
                type: about:blank
                title: API Error
                status: 403
                detail: You do not have permission to access this resource.
    InternalServerError:
      description: Internal Server Error
      headers:
        X-Request-Id:
          $ref: '#/components/headers/X-Request-Id'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
          examples:
            InternalServerError:
              value:
                type: about:blank
                title: API Error
                status: 500
                detail: The server encountered an error processing your request.
    ListProgramsResponse:
      description: The response for Programs.list
      headers:
        X-Request-Id:
          $ref: '#/components/headers/X-Request-Id'
      content:
        application/json:
          schema:
            type: object
            properties:
              results:
                type: array
                items:
                  $ref: '#/components/schemas/Program'
              next_page_token:
                type: string
                description: "A cursor token to use to retrieve the next page of results by making another API call\n to the same endpoint with the same parameters (only changing the pageToken). If\n specified, then more results exist on the server that were not returned, otherwise\n no more results exist on the server."
    NotFoundError:
      description: Resource Not Found
      headers:
        X-Request-Id:
          $ref: '#/components/headers/X-Request-Id'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
          examples:
            NotFound:
              value:
                type: about:blank
                title: API Error
                status: 404
                detail: The requested resource was not found.
  schemas:
    Program:
      type: object
      description: 'Programs encapsulate functional operations and allow for segregation of funds & activity on top of a Financial Account.

        By default, most organizations will have a Gift Processing program for managing inbound donation revenue.

        If you are disbursing funds to other nonprofits, we will work together to create a Grantmaking program for you.

        If there are other use cases where you need to segregate funds or activity, we will work together to create additional Programs for you.'
      required:
      - id
      - name
      - grant_disbursement_status
      - gift_processing_status
      - created_at
      - updated_at
      properties:
        id:
          type: string
          description: The unique identifier for the program
          example: program_01j8rs605a4gctmbm58d87mvsj
        name:
          type: string
          description: The name of the program
          example: Gift Processing
        description:
          type: string
          description: A description of the program
          example: This program is used to unify and standardize donation processing across all Donor-Advised Fund grants.
        grant_disbursement_status:
          type: string
          enum:
          - enabled
          - disabled
          description: The status of the program's ability to disburse grant payments to other eligible nonprofit recipients.
          example: enabled
          readOnly: true
        gift_processing_status:
          type: string
          enum:
          - enabled
          - disabled
          description: The status of the program's ability to connect payment sources to process donations and grants to your organization.
          example: enabled
          readOnly: true
        created_at:
          type: string
          format: date-time
          description: The date and time the program was created
          example: '2020-01-31T23:00:00Z'
        updated_at:
          type: string
          format: date-time
          description: The date and time the program was last updated
          example: '2020-01-31T23:00:00Z'
    ProblemDetails:
      type: object
      description: RFC 7807 problem-details error (media type application/problem+json). The `status` field is an integer HTTP status code.
      required:
      - type
      - title
      - status
      - detail
      properties:
        type:
          type: string
          description: A URI reference identifying the problem type.
          example: about:blank
        title:
          type: string
          description: A short, human-readable summary of the problem type.
          example: API Error
        status:
          type: integer
          description: The HTTP status code for this error.
          example: 400
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence.
          example: The request is invalid or contains invalid parameters.
      example:
        type: about:blank
        title: API Error
        status: 400
        detail: The request is invalid or contains invalid parameters.
  headers:
    X-Request-Id:
      description: The unique identifier for the request
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer