Chariot Programs API
The Programs API from Chariot — 2 operation(s) for programs.
The Programs API from Chariot — 2 operation(s) for programs.
openapi: 3.0.0
info:
title: Chariot FDX Accounts Programs API
version: '6.0'
description: Financial Data Exchange (FDX) v6 compatible API for read-only access to Chariot bank account data. Implements the FDX v6 standard for account information, transactions, and statements.
contact:
name: Chariot Development Team
url: https://givechariot.com/contact
email: developers@givechariot.com
servers:
- url: https://api.givechariot.com/fdx/v6
description: Production
- url: https://devapi.givechariot.com/fdx/v6
description: Staging
security:
- oauth2: []
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:
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.
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.
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.
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.
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:
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.
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'
headers:
X-Request-Id:
description: The unique identifier for the request
schema:
type: string
securitySchemes:
oauth2:
type: oauth2
description: OAuth 2.0 Bearer token. A client may hold both scopes, but each FDX authorization must contain exactly one — they are mutually exclusive per authorization. An authorization containing both will be rejected. See the Authentication page for token exchange details.
flows:
authorizationCode:
authorizationUrl: https://dashboard.givechariot.com/oauth/authorize
tokenUrl: https://api.givechariot.com/auth/oauth/token
scopes:
read:bank_accounts: Read access to bank account data
sync:connected_accounts: Sync access to connected account data