Download OpenAPI specification:
A Bonterra API Gateway that routes requests to internal Bonterra APIs
Retrieve a list of all users
| page | integer Default: 1 Page number for pagination |
| limit | integer Default: 10 Number of items per page |
Array of objects (ConnectUser) | |
object |
{- "data": [
- {
- "id": "string",
- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "phoneNumber": "string",
- "isActive": true,
- "isConfirmed": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "lastLoginAt": "2019-08-24T14:15:22Z",
- "role": "ADMIN",
- "metadata": { },
- "status": "active",
- "organizations": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "status": "active",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { },
- "blocked": false,
- "blockedReason": "string",
- "blockedDate": "2019-08-24T14:15:22Z",
- "blockedUserId": "b8281c8b-1895-4f79-9212-2d53e21ed38b"
}
]
}
], - "pagination": {
- "total": 0,
- "page": 0,
- "limit": 0
}
}Create a new user in the system
| email required | string <email> User's email address |
| firstName required | string User's first name |
| lastName required | string User's last name |
| phoneNumber | string User's phone number |
| role | string Enum: "ADMIN" "USER" User's role in the system |
object Additional user metadata | |
| password | string <password> >= 8 characters User's password |
| status | string Default: "pending" Enum: "active" "inactive" "pending" Initial status of the user |
| organizationIds | Array of strings <uuid> [ items <uuid > ] List of organization IDs the user should belong to |
| id required | string Unique identifier for the user |
| email required | string <email> User's email address |
| firstName required | string User's first name |
| lastName required | string User's last name |
| phoneNumber | string User's phone number |
| isActive | boolean Whether the user account is active |
| isConfirmed | boolean Whether the user account is confirmed |
| createdAt | string <date-time> When the user was created |
| updatedAt | string <date-time> When the user was last updated |
| lastLoginAt | string <date-time> When the user last logged in |
| role | string Enum: "ADMIN" "USER" User's role in the system |
object Additional user metadata | |
| status | string Enum: "active" "inactive" "pending" Current status of the user |
Array of objects (ConnectOrganization) List of organizations the user belongs to |
{- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "phoneNumber": "string",
- "role": "ADMIN",
- "metadata": { },
- "password": "pa$$word",
- "status": "active",
- "organizationIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "id": "string",
- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "phoneNumber": "string",
- "isActive": true,
- "isConfirmed": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "lastLoginAt": "2019-08-24T14:15:22Z",
- "role": "ADMIN",
- "metadata": { },
- "status": "active",
- "organizations": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "status": "active",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { },
- "blocked": false,
- "blockedReason": "string",
- "blockedDate": "2019-08-24T14:15:22Z",
- "blockedUserId": "b8281c8b-1895-4f79-9212-2d53e21ed38b"
}
]
}Retrieves a specific user by their ID
| userId required | string ID of the user to retrieve |
| id required | string Unique identifier for the user |
| email required | string <email> User's email address |
| firstName required | string User's first name |
| lastName required | string User's last name |
| phoneNumber | string User's phone number |
| isActive | boolean Whether the user account is active |
| isConfirmed | boolean Whether the user account is confirmed |
| createdAt | string <date-time> When the user was created |
| updatedAt | string <date-time> When the user was last updated |
| lastLoginAt | string <date-time> When the user last logged in |
| role | string Enum: "ADMIN" "USER" User's role in the system |
object Additional user metadata | |
| status | string Enum: "active" "inactive" "pending" Current status of the user |
Array of objects (ConnectOrganization) List of organizations the user belongs to |
{- "id": "string",
- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "phoneNumber": "string",
- "isActive": true,
- "isConfirmed": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "lastLoginAt": "2019-08-24T14:15:22Z",
- "role": "ADMIN",
- "metadata": { },
- "status": "active",
- "organizations": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "status": "active",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { },
- "blocked": false,
- "blockedReason": "string",
- "blockedDate": "2019-08-24T14:15:22Z",
- "blockedUserId": "b8281c8b-1895-4f79-9212-2d53e21ed38b"
}
]
}Updates an existing user
| userId required | string ID of the user to update |
| id required | string Unique identifier for the user |
| email required | string <email> User's email address |
| firstName required | string User's first name |
| lastName required | string User's last name |
| phoneNumber | string User's phone number |
| isActive | boolean Whether the user account is active |
| isConfirmed | boolean Whether the user account is confirmed |
| createdAt | string <date-time> When the user was created |
| updatedAt | string <date-time> When the user was last updated |
| lastLoginAt | string <date-time> When the user last logged in |
| role | string Enum: "ADMIN" "USER" User's role in the system |
object Additional user metadata | |
| status | string Enum: "active" "inactive" "pending" Current status of the user |
Array of objects (ConnectOrganization) List of organizations the user belongs to |
| id required | string Unique identifier for the user |
| email required | string <email> User's email address |
| firstName required | string User's first name |
| lastName required | string User's last name |
| phoneNumber | string User's phone number |
| isActive | boolean Whether the user account is active |
| isConfirmed | boolean Whether the user account is confirmed |
| createdAt | string <date-time> When the user was created |
| updatedAt | string <date-time> When the user was last updated |
| lastLoginAt | string <date-time> When the user last logged in |
| role | string Enum: "ADMIN" "USER" User's role in the system |
object Additional user metadata | |
| status | string Enum: "active" "inactive" "pending" Current status of the user |
Array of objects (ConnectOrganization) List of organizations the user belongs to |
{- "id": "string",
- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "phoneNumber": "string",
- "isActive": true,
- "isConfirmed": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "lastLoginAt": "2019-08-24T14:15:22Z",
- "role": "ADMIN",
- "metadata": { },
- "status": "active",
- "organizations": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "status": "active",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { },
- "blocked": false,
- "blockedReason": "string",
- "blockedDate": "2019-08-24T14:15:22Z",
- "blockedUserId": "b8281c8b-1895-4f79-9212-2d53e21ed38b"
}
]
}{- "id": "string",
- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "phoneNumber": "string",
- "isActive": true,
- "isConfirmed": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "lastLoginAt": "2019-08-24T14:15:22Z",
- "role": "ADMIN",
- "metadata": { },
- "status": "active",
- "organizations": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "status": "active",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { },
- "blocked": false,
- "blockedReason": "string",
- "blockedDate": "2019-08-24T14:15:22Z",
- "blockedUserId": "b8281c8b-1895-4f79-9212-2d53e21ed38b"
}
]
}Retrieves all organizations associated with a user
| userId required | string ID of the user |
| id required | string Unique identifier for the organization |
| name required | string Name of the organization |
| description | string Description of the organization |
| website | string <uri> Organization's website URL |
string <email> Organization's primary email address | |
| phoneNumber | string Organization's primary phone number |
object | |
| taxId | string Organization's tax ID/EIN |
| status | string Enum: "active" "inactive" "pending" Current status of the organization |
| createdAt | string <date-time> When the organization was created |
| updatedAt | string <date-time> When the organization was last updated |
object Additional organization metadata | |
| blocked | boolean Default: false Whether the organization is blocked |
| blockedReason | string or null Reason for blocking the organization |
| blockedDate | string or null <date-time> When the organization was blocked |
| blockedUserId | string or null <uuid> ID of the user who blocked the organization |
[- {
- "id": "string",
- "name": "string",
- "description": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "status": "active",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { },
- "blocked": false,
- "blockedReason": "string",
- "blockedDate": "2019-08-24T14:15:22Z",
- "blockedUserId": "b8281c8b-1895-4f79-9212-2d53e21ed38b"
}
]Retrieves details about a specific organization for a user
| userId required | string ID of the user |
| orgId required | string ID of the organization |
| id required | string Unique identifier for the organization |
| name required | string Name of the organization |
| description | string Description of the organization |
| website | string <uri> Organization's website URL |
string <email> Organization's primary email address | |
| phoneNumber | string Organization's primary phone number |
object | |
| taxId | string Organization's tax ID/EIN |
| status | string Enum: "active" "inactive" "pending" Current status of the organization |
| createdAt | string <date-time> When the organization was created |
| updatedAt | string <date-time> When the organization was last updated |
object Additional organization metadata | |
| blocked | boolean Default: false Whether the organization is blocked |
| blockedReason | string or null Reason for blocking the organization |
| blockedDate | string or null <date-time> When the organization was blocked |
| blockedUserId | string or null <uuid> ID of the user who blocked the organization |
{- "id": "string",
- "name": "string",
- "description": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "status": "active",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { },
- "blocked": false,
- "blockedReason": "string",
- "blockedDate": "2019-08-24T14:15:22Z",
- "blockedUserId": "b8281c8b-1895-4f79-9212-2d53e21ed38b"
}Retrieves all grants associated with a user
| userId required | string ID of the user |
| id required | string Unique identifier for the grant |
| name required | string Name of the grant |
| description | string Description of the grant |
| organizationId required | string ID of the organization that owns the grant |
| amount | number Grant amount |
| currency | string Currency of the grant amount |
| startDate | string <date> Start date of the grant |
| endDate | string <date> End date of the grant |
| status | string Enum: "draft" "open" "closed" "awarded" "completed" Current status of the grant |
| type | string Enum: "general" "project" "research" "emergency" Type of grant |
| requirements | Array of strings List of requirements for the grant |
| eligibility | Array of strings List of eligibility criteria |
| createdAt | string <date-time> When the grant was created |
| updatedAt | string <date-time> When the grant was last updated |
object Additional grant metadata |
[- {
- "id": "string",
- "name": "string",
- "description": "string",
- "organizationId": "string",
- "amount": 0,
- "currency": "string",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "status": "draft",
- "type": "general",
- "requirements": [
- "string"
], - "eligibility": [
- "string"
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}
]Retrieves details about a specific grant for a user
| userId required | string ID of the user |
| grantId required | string ID of the grant |
| id required | string Unique identifier for the grant |
| name required | string Name of the grant |
| description | string Description of the grant |
| organizationId required | string ID of the organization that owns the grant |
| amount | number Grant amount |
| currency | string Currency of the grant amount |
| startDate | string <date> Start date of the grant |
| endDate | string <date> End date of the grant |
| status | string Enum: "draft" "open" "closed" "awarded" "completed" Current status of the grant |
| type | string Enum: "general" "project" "research" "emergency" Type of grant |
| requirements | Array of strings List of requirements for the grant |
| eligibility | Array of strings List of eligibility criteria |
| createdAt | string <date-time> When the grant was created |
| updatedAt | string <date-time> When the grant was last updated |
object Additional grant metadata |
{- "id": "string",
- "name": "string",
- "description": "string",
- "organizationId": "string",
- "amount": 0,
- "currency": "string",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "status": "draft",
- "type": "general",
- "requirements": [
- "string"
], - "eligibility": [
- "string"
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}Creates a new proposal for a user
| userId required | string ID of the user |
| id required | string Unique identifier for the proposal |
| name required | string Name of the proposal |
| description | string Description of the proposal |
| grantId required | string ID of the grant this proposal is for |
| organizationId required | string ID of the organization submitting the proposal |
| requestedAmount | number Amount requested in the proposal |
| currency | string Currency of the requested amount |
| status | string Enum: "draft" "submitted" "under_review" "approved" "rejected" Current status of the proposal |
| submissionDate | string <date-time> When the proposal was submitted |
| reviewDate | string <date-time> When the proposal was last reviewed |
| reviewNotes | string Notes from the review process |
Array of objects | |
| createdAt | string <date-time> When the proposal was created |
| updatedAt | string <date-time> When the proposal was last updated |
object Additional proposal metadata |
| id required | string Unique identifier for the proposal |
| name required | string Name of the proposal |
| description | string Description of the proposal |
| grantId required | string ID of the grant this proposal is for |
| organizationId required | string ID of the organization submitting the proposal |
| requestedAmount | number Amount requested in the proposal |
| currency | string Currency of the requested amount |
| status | string Enum: "draft" "submitted" "under_review" "approved" "rejected" Current status of the proposal |
| submissionDate | string <date-time> When the proposal was submitted |
| reviewDate | string <date-time> When the proposal was last reviewed |
| reviewNotes | string Notes from the review process |
Array of objects | |
| createdAt | string <date-time> When the proposal was created |
| updatedAt | string <date-time> When the proposal was last updated |
object Additional proposal metadata |
{- "id": "string",
- "name": "string",
- "description": "string",
- "grantId": "string",
- "organizationId": "string",
- "requestedAmount": 0,
- "currency": "string",
- "status": "draft",
- "submissionDate": "2019-08-24T14:15:22Z",
- "reviewDate": "2019-08-24T14:15:22Z",
- "reviewNotes": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}[- {
- "id": "string",
- "name": "string",
- "description": "string",
- "grantId": "string",
- "organizationId": "string",
- "requestedAmount": 0,
- "currency": "string",
- "status": "draft",
- "submissionDate": "2019-08-24T14:15:22Z",
- "reviewDate": "2019-08-24T14:15:22Z",
- "reviewNotes": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}
]Retrieves details about a specific proposal for a user
| userId required | string ID of the user |
| proposalId required | string ID of the proposal |
| id required | string Unique identifier for the proposal |
| name required | string Name of the proposal |
| description | string Description of the proposal |
| grantId required | string ID of the grant this proposal is for |
| organizationId required | string ID of the organization submitting the proposal |
| requestedAmount | number Amount requested in the proposal |
| currency | string Currency of the requested amount |
| status | string Enum: "draft" "submitted" "under_review" "approved" "rejected" Current status of the proposal |
| submissionDate | string <date-time> When the proposal was submitted |
| reviewDate | string <date-time> When the proposal was last reviewed |
| reviewNotes | string Notes from the review process |
Array of objects | |
| createdAt | string <date-time> When the proposal was created |
| updatedAt | string <date-time> When the proposal was last updated |
object Additional proposal metadata |
{- "id": "string",
- "name": "string",
- "description": "string",
- "grantId": "string",
- "organizationId": "string",
- "requestedAmount": 0,
- "currency": "string",
- "status": "draft",
- "submissionDate": "2019-08-24T14:15:22Z",
- "reviewDate": "2019-08-24T14:15:22Z",
- "reviewNotes": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}Confirms multiple user accounts
| userIds required | Array of strings Array of user IDs to confirm |
| confirmed | Array of strings Array of successfully confirmed user IDs |
| failed | Array of strings Array of user IDs that failed to confirm |
{- "userIds": [
- "string"
]
}{- "confirmed": [
- "string"
], - "failed": [
- "string"
]
}Generates authentication tokens for multiple users
| userId required | string ID of the user |
Array of objects | |
| failed | Array of strings Array of user IDs that failed to generate tokens |
{- "tokens": [
- {
- "userId": "string",
- "token": "string"
}
], - "failed": [
- "string"
]
}Migrates multiple users to a target organization
| userIds required | Array of strings Array of user IDs to migrate |
| targetOrgId required | string ID of the target organization |
| sourceOrgId | string ID of the source organization (optional) |
| migrated | Array of strings Array of successfully migrated user IDs |
| failed | Array of strings Array of user IDs that failed to migrate |
{- "userIds": [
- "string"
], - "targetOrgId": "string",
- "sourceOrgId": "string"
}{- "migrated": [
- "string"
], - "failed": [
- "string"
]
}Returns all viewer users for organizations where the specified user is an owner, with optional search and pagination
| userId required | string <uuid> ID of the user whose viewer users to retrieve |
| searchTerm | string Search term to filter users |
| offset | integer >= 0 Default: 0 Number of results to skip for pagination |
| limit | integer [ 1 .. 100 ] Default: 20 Maximum number of results to return |
| hasPagination | boolean Default: true Whether to use pagination |
required | Array of objects (ConnectViewerUser) Array of viewer users |
| totalCount required | integer >= 0 Total number of items |
| nextOffset | integer or null Offset for the next page (null if no more pages) |
| previousOffset | integer or null Offset for the previous page (null if on first page) |
{- "data": [
- {
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "email": "user@example.com",
- "firstName": "John",
- "lastName": "Doe",
- "phone": "+1-555-123-4567",
- "organizationId": "456e7890-e12c-34f5-b678-987654321000",
- "organizationName": "Example Nonprofit Organization",
- "affiliationType": "viewer",
- "affiliationStatus": "approved"
}
], - "totalCount": 150,
- "nextOffset": 20,
- "previousOffset": null
}Retrieve a list of all organizations
| page | integer Default: 1 Page number for pagination |
| limit | integer Default: 10 Number of items per page |
Array of objects (ConnectOrganization) | |
object |
{- "data": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "status": "active",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { },
- "blocked": false,
- "blockedReason": "string",
- "blockedDate": "2019-08-24T14:15:22Z",
- "blockedUserId": "b8281c8b-1895-4f79-9212-2d53e21ed38b"
}
], - "pagination": {
- "total": 0,
- "page": 0,
- "limit": 0
}
}Retrieve a specific organization by its ID
| orgId required | string <uuid> ID of the organization to retrieve |
| id required | string Unique identifier for the organization |
| name required | string Name of the organization |
| description | string Description of the organization |
| website | string <uri> Organization's website URL |
string <email> Organization's primary email address | |
| phoneNumber | string Organization's primary phone number |
object | |
| taxId | string Organization's tax ID/EIN |
| status | string Enum: "active" "inactive" "pending" Current status of the organization |
| createdAt | string <date-time> When the organization was created |
| updatedAt | string <date-time> When the organization was last updated |
object Additional organization metadata | |
| blocked | boolean Default: false Whether the organization is blocked |
| blockedReason | string or null Reason for blocking the organization |
| blockedDate | string or null <date-time> When the organization was blocked |
| blockedUserId | string or null <uuid> ID of the user who blocked the organization |
{- "id": "string",
- "name": "string",
- "description": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "status": "active",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { },
- "blocked": false,
- "blockedReason": "string",
- "blockedDate": "2019-08-24T14:15:22Z",
- "blockedUserId": "b8281c8b-1895-4f79-9212-2d53e21ed38b"
}Update an existing organization by its ID
| orgId required | string <uuid> ID of the organization to update |
| name required | string |
| status required | string Enum: "ACTIVE" "INACTIVE" |
| description | string |
| id required | string Unique identifier for the organization |
| name required | string Name of the organization |
| description | string Description of the organization |
| website | string <uri> Organization's website URL |
string <email> Organization's primary email address | |
| phoneNumber | string Organization's primary phone number |
object | |
| taxId | string Organization's tax ID/EIN |
| status | string Enum: "active" "inactive" "pending" Current status of the organization |
| createdAt | string <date-time> When the organization was created |
| updatedAt | string <date-time> When the organization was last updated |
object Additional organization metadata | |
| blocked | boolean Default: false Whether the organization is blocked |
| blockedReason | string or null Reason for blocking the organization |
| blockedDate | string or null <date-time> When the organization was blocked |
| blockedUserId | string or null <uuid> ID of the user who blocked the organization |
{- "name": "string",
- "status": "ACTIVE",
- "description": "string"
}{- "id": "string",
- "name": "string",
- "description": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "status": "active",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { },
- "blocked": false,
- "blockedReason": "string",
- "blockedDate": "2019-08-24T14:15:22Z",
- "blockedUserId": "b8281c8b-1895-4f79-9212-2d53e21ed38b"
}Update a specific location of an organization
| orgId required | string <uuid> ID of the organization |
| orgLocationId required | string <uuid> ID of the organization location |
| name required | string |
| address required | string |
| city required | string |
| state required | string |
| zipCode required | string |
| country required | string |
| status required | string Enum: "ACTIVE" "INACTIVE" |
| id required | string Unique identifier for the organization |
| name required | string Name of the organization |
{- "name": "string",
- "address": "string",
- "city": "string",
- "state": "string",
- "zipCode": "string",
- "country": "string",
- "status": "ACTIVE"
}{- "id": "string",
- "name": "string"
}Retrieve all payees associated with an organization
| orgId required | string <uuid> ID of the organization |
| page | integer Default: 1 Page number for pagination |
| limit | integer Default: 10 Number of items per page |
Array of objects (ConnectPayee) | |
object |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "INDIVIDUAL",
- "status": "ACTIVE",
- "email": "user@example.com",
- "phone": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "notes": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "pagination": {
- "total": 0,
- "page": 0,
- "limit": 0
}
}Add a new payee to an organization
| orgId required | string <uuid> ID of the organization |
| name required | string Name of the payee |
| type required | string Enum: "INDIVIDUAL" "ORGANIZATION" Type of the payee |
string <email> Email address of the payee | |
| phone | string Phone number of the payee |
object | |
| taxId | string Tax identification number |
object | |
| notes | string Additional notes about the payee |
| id required | string <uuid> Unique identifier for the payee |
| name required | string Name of the payee |
| type required | string Enum: "INDIVIDUAL" "ORGANIZATION" Type of the payee |
| status required | string Enum: "ACTIVE" "INACTIVE" Current status of the payee |
string <email> Email address of the payee | |
| phone | string Phone number of the payee |
object | |
| taxId | string Tax identification number |
| notes | string Additional notes about the payee |
| createdAt required | string <date-time> Timestamp when the payee was created |
| updatedAt required | string <date-time> Timestamp when the payee was last updated |
{- "name": "string",
- "type": "INDIVIDUAL",
- "email": "user@example.com",
- "phone": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "bankAccount": {
- "accountNumber": "string",
- "routingNumber": "string",
- "accountType": "CHECKING",
- "bankName": "string"
}, - "notes": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "INDIVIDUAL",
- "status": "ACTIVE",
- "email": "user@example.com",
- "phone": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "notes": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Retrieve a specific payee from an organization
| orgId required | string <uuid> ID of the organization |
| payeeId required | string <uuid> ID of the payee |
| id required | string <uuid> Unique identifier for the payee |
| name required | string Name of the payee |
| type required | string Enum: "INDIVIDUAL" "ORGANIZATION" Type of the payee |
| status required | string Enum: "ACTIVE" "INACTIVE" Current status of the payee |
string <email> Email address of the payee | |
| phone | string Phone number of the payee |
object | |
| taxId | string Tax identification number |
| notes | string Additional notes about the payee |
| createdAt required | string <date-time> Timestamp when the payee was created |
| updatedAt required | string <date-time> Timestamp when the payee was last updated |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "INDIVIDUAL",
- "status": "ACTIVE",
- "email": "user@example.com",
- "phone": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "notes": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Update a specific payee in an organization
| orgId required | string <uuid> ID of the organization |
| payeeId required | string <uuid> ID of the payee |
| name | string Name of the payee |
| type | string Enum: "INDIVIDUAL" "ORGANIZATION" Type of the payee |
| status | string Enum: "ACTIVE" "INACTIVE" Current status of the payee |
string <email> Email address of the payee | |
| phone | string Phone number of the payee |
object | |
| taxId | string Tax identification number |
object | |
| notes | string Additional notes about the payee |
| id required | string <uuid> Unique identifier for the payee |
| name required | string Name of the payee |
| type required | string Enum: "INDIVIDUAL" "ORGANIZATION" Type of the payee |
| status required | string Enum: "ACTIVE" "INACTIVE" Current status of the payee |
string <email> Email address of the payee | |
| phone | string Phone number of the payee |
object | |
| taxId | string Tax identification number |
| notes | string Additional notes about the payee |
| createdAt required | string <date-time> Timestamp when the payee was created |
| updatedAt required | string <date-time> Timestamp when the payee was last updated |
{- "name": "string",
- "type": "INDIVIDUAL",
- "status": "ACTIVE",
- "email": "user@example.com",
- "phone": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "bankAccount": {
- "accountNumber": "string",
- "routingNumber": "string",
- "accountType": "CHECKING",
- "bankName": "string"
}, - "notes": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "INDIVIDUAL",
- "status": "ACTIVE",
- "email": "user@example.com",
- "phone": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "notes": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Retrieve all payees associated with an organization with unmasked sensitive data
| orgId required | string <uuid> ID of the organization |
| page | integer Default: 1 Page number for pagination |
| limit | integer Default: 10 Number of items per page |
Array of objects (ConnectUnmaskedPayee) | |
object |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "INDIVIDUAL",
- "status": "ACTIVE",
- "email": "user@example.com",
- "phone": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "bankAccount": {
- "accountNumber": "string",
- "routingNumber": "string",
- "accountType": "CHECKING",
- "bankName": "string"
}, - "notes": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "pagination": {
- "total": 0,
- "page": 0,
- "limit": 0
}
}Upload a verification document (check image) for an organization's payee. Only the organization Owner or a Bonterra Staff user can upload verification documents. Supported file types are PDF, JPEG, PNG, and HEIC.
| orgId required | string <uuid> ID of the organization |
| file | string <binary> The verification document file (PDF, JPEG, PNG, or HEIC) |
| s3Key | string The S3 key of the uploaded document |
{- "s3Key": "string"
}Retrieve all organization payees that are in pending status awaiting admin review
| offset | integer >= 0 Default: 0 Number of items to skip for pagination |
| limit | integer [ 1 .. 100 ] Default: 20 Number of items per page |
Array of objects (ConnectPayee) | |
object (ConnectPagination) |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "INDIVIDUAL",
- "status": "ACTIVE",
- "email": "user@example.com",
- "phone": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "notes": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "pagination": {
- "page": 1,
- "pageSize": 20,
- "totalPages": 5,
- "totalItems": 100
}
}Retrieve all taxonomies associated with an organization
| orgId required | string <uuid> ID of the organization |
| page | integer Default: 1 Page number for pagination |
| limit | integer Default: 10 Number of items per page |
Array of objects (ConnectTaxonomy) | |
object |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "parentId": "70850378-7d3c-4f45-91b7-942d4dfbbd43",
- "metadata": { }
}
], - "pagination": {
- "total": 0,
- "page": 0,
- "limit": 0
}
}Add a new taxonomy to an organization
| orgId required | string <uuid> ID of the organization |
| name required | string Name of the taxonomy |
| description required | string Description of the taxonomy |
| status | string Default: "ACTIVE" Enum: "ACTIVE" "INACTIVE" Initial status of the taxonomy |
| parentId | string <uuid> ID of the parent taxonomy, if this is a sub-taxonomy |
| metadata | object Additional metadata for the taxonomy |
| id required | string <uuid> Unique identifier for the taxonomy |
| name required | string Name of the taxonomy |
| description required | string Description of the taxonomy |
| createdAt required | string <date-time> Timestamp when the taxonomy was created |
| updatedAt required | string <date-time> Timestamp when the taxonomy was last updated |
| status | string Default: "ACTIVE" Enum: "ACTIVE" "INACTIVE" Current status of the taxonomy |
| parentId | string <uuid> ID of the parent taxonomy, if this is a sub-taxonomy |
| metadata | object Additional metadata for the taxonomy |
{- "name": "string",
- "description": "string",
- "status": "ACTIVE",
- "parentId": "70850378-7d3c-4f45-91b7-942d4dfbbd43",
- "metadata": { }
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "parentId": "70850378-7d3c-4f45-91b7-942d4dfbbd43",
- "metadata": { }
}Retrieve all users associated with an organization
| orgId required | string <uuid> ID of the organization |
| page | integer Default: 1 Page number for pagination |
| limit | integer Default: 10 Number of items per page |
Array of objects (ConnectUser) | |
object |
{- "data": [
- {
- "id": "string",
- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "phoneNumber": "string",
- "isActive": true,
- "isConfirmed": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "lastLoginAt": "2019-08-24T14:15:22Z",
- "role": "ADMIN",
- "metadata": { },
- "status": "active",
- "organizations": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "status": "active",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { },
- "blocked": false,
- "blockedReason": "string",
- "blockedDate": "2019-08-24T14:15:22Z",
- "blockedUserId": "b8281c8b-1895-4f79-9212-2d53e21ed38b"
}
]
}
], - "pagination": {
- "total": 0,
- "page": 0,
- "limit": 0
}
}Add a user to an organization
| orgId required | string <uuid> ID of the organization |
| userId required | string <uuid> |
| role required | string Enum: "ADMIN" "USER" |
| permissions | Array of strings |
| id required | string Unique identifier for the user |
| email required | string <email> User's email address |
| firstName required | string User's first name |
| lastName required | string User's last name |
| phoneNumber | string User's phone number |
| isActive | boolean Whether the user account is active |
| isConfirmed | boolean Whether the user account is confirmed |
| createdAt | string <date-time> When the user was created |
| updatedAt | string <date-time> When the user was last updated |
| lastLoginAt | string <date-time> When the user last logged in |
| role | string Enum: "ADMIN" "USER" User's role in the system |
object Additional user metadata | |
| status | string Enum: "active" "inactive" "pending" Current status of the user |
Array of objects (ConnectOrganization) List of organizations the user belongs to |
{- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "role": "ADMIN",
- "permissions": [
- "string"
]
}{- "id": "string",
- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "phoneNumber": "string",
- "isActive": true,
- "isConfirmed": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "lastLoginAt": "2019-08-24T14:15:22Z",
- "role": "ADMIN",
- "metadata": { },
- "status": "active",
- "organizations": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "status": "active",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { },
- "blocked": false,
- "blockedReason": "string",
- "blockedDate": "2019-08-24T14:15:22Z",
- "blockedUserId": "b8281c8b-1895-4f79-9212-2d53e21ed38b"
}
]
}Update a user's role or permissions within an organization
| orgId required | string <uuid> ID of the organization |
| userId required | string <uuid> ID of the user |
| role required | string Enum: "ADMIN" "USER" |
| permissions | Array of strings |
| status required | string Enum: "ACTIVE" "INACTIVE" |
| id required | string Unique identifier for the user |
| email required | string <email> User's email address |
| firstName required | string User's first name |
| lastName required | string User's last name |
| phoneNumber | string User's phone number |
| isActive | boolean Whether the user account is active |
| isConfirmed | boolean Whether the user account is confirmed |
| createdAt | string <date-time> When the user was created |
| updatedAt | string <date-time> When the user was last updated |
| lastLoginAt | string <date-time> When the user last logged in |
| role | string Enum: "ADMIN" "USER" User's role in the system |
object Additional user metadata | |
| status | string Enum: "active" "inactive" "pending" Current status of the user |
Array of objects (ConnectOrganization) List of organizations the user belongs to |
{- "role": "ADMIN",
- "permissions": [
- "string"
], - "status": "ACTIVE"
}{- "id": "string",
- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "phoneNumber": "string",
- "isActive": true,
- "isConfirmed": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "lastLoginAt": "2019-08-24T14:15:22Z",
- "role": "ADMIN",
- "metadata": { },
- "status": "active",
- "organizations": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "status": "active",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { },
- "blocked": false,
- "blockedReason": "string",
- "blockedDate": "2019-08-24T14:15:22Z",
- "blockedUserId": "b8281c8b-1895-4f79-9212-2d53e21ed38b"
}
]
}Upload and update a logo for an organization. Only the organization Owner or a Bonterra Staff user can update the logo. Supported file types are JPEG and PNG.
| orgId required | string <uuid> ID of the organization |
| file | string <binary> The logo image file (JPEG or PNG) |
| message | string |
| logoUrl | string The URL of the uploaded logo |
{- "message": "Organization updated successfully",
- "logoUrl": "string"
}Generate a pre-signed URL for accessing a payee's verification document (check image). The URL is valid for 5 minutes (300 seconds). Only active payees' documents are accessible. If multiple payees exist, returns the most recently created payee's document.
| orgId required | string <uuid> ID of the organization whose payee verification document URL is requested |
| signedUrl | string Pre-signed URL to access the verification document (valid for 5 minutes) |
Retrieve all programs associated with an organization
| orgId required | string <uuid> ID of the organization |
| hasPagination | boolean Default: true Whether to use pagination |
| offset | integer Default: 1 Offset for pagination |
| limit | integer Default: 10 Number of items per page |
Array of objects (ConnectProgram) | |
object |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "active": true
}
], - "pagination": {
- "total": 0,
- "page": 0,
- "limit": 0
}
}Creates a new program for an organization
| orgId required | string <uuid> ID of the organization |
The request body must be a JSON object containing the program data to be created
| id required | string <uuid> Unique identifier for the program |
| name required | string Name of the program |
| description required | string Description of the program |
| active required | boolean Whether the program is active |
| programId | string <uuid> |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "active": true
}{- "programId": "bc59f66b-913a-48ec-ae2b-7ee29d7bcfbb"
}Updates a program for an organization
| orgId required | string <uuid> ID of the organization |
| programId required | string <uuid> ID of the program |
The request body must be a JSON object containing the program data to be updated
| id required | string <uuid> Unique identifier for the program |
| name required | string Name of the program |
| description required | string Description of the program |
| active required | boolean Whether the program is active |
| id required | string <uuid> Unique identifier for the program |
| name required | string Name of the program |
| description required | string Description of the program |
| active required | boolean Whether the program is active |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "active": true
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "active": true
}Create a new external ID (tax information) for an organization (Bonterra Staff only)
| orgId required | string <uuid> ID of the organization |
| externalTaxInfo required | string The external tax ID (EIN/NCES) |
| taxInfoId required | integer Tax information ID from utility.tax_info |
| defaultExternal | boolean Set as default tax information for the organization |
| notes | string Tax notes |
The UUID of the created external ID
{- "externalTaxInfo": "string",
- "taxInfoId": 0,
- "defaultExternal": true,
- "notes": "string"
}"497f6eca-6276-4993-bfeb-53cbbbba6f08"Retrieve a specific external ID (tax information) for an organization
| orgId required | string <uuid> ID of the organization |
| externalId required | string <uuid> ID of the external tax information |
| externalId | string <uuid> |
| externalTaxInfo | string |
| taxInfoId | integer |
| active | boolean |
{- "externalId": "3200d382-adfe-4314-ab30-798cdd0fcdb5",
- "externalTaxInfo": "string",
- "taxInfoId": 0,
- "active": true
}Update tax information for an organization (Bonterra Staff only)
| orgId required | string <uuid> ID of the organization |
| externalId required | string <uuid> ID of the external tax information |
| externalTaxInfo | string The external tax ID (EIN/NCES). Required to prevent soft delete. |
| manualTaxInfoId | integer or null Manual override tax status ID from utility.tax_info hierarchy |
| notes | string Tax notes |
| taxInfoId | integer Tax information ID from utility.tax_info |
| active | boolean Set to false to soft-delete the record |
Success message
{- "externalTaxInfo": "string",
- "manualTaxInfoId": 0,
- "notes": "string",
- "taxInfoId": 0,
- "active": true
}"string"Block an organization (Staff only). This prevents the organization from being visible to funders and stops sync to GM1.
| orgId required | string <uuid> ID of the organization to block |
| reason required | string [ 1 .. 1000 ] characters Reason for blocking the organization |
| message required | string Success message |
required | object |
{- "reason": "Organization flagged for fraudulent activity based on legal report"
}{- "message": "Organization blocked successfully",
- "organization": {
- "id": "string",
- "name": "string",
- "description": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "status": "active",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { },
- "blocked": true,
- "blockedReason": "Organization flagged for fraudulent activity based on legal report",
- "blockedDate": "2019-08-24T14:15:22Z",
- "blockedUserId": "b8281c8b-1895-4f79-9212-2d53e21ed38b"
}
}Unblock an organization (Staff only). This restores the organization's visibility to funders and resumes sync to GM1.
| orgId required | string <uuid> ID of the organization to unblock |
| reason | string <= 1000 characters Optional reason for unblocking the organization |
| message required | string Success message |
required | object |
{- "reason": "Legal review completed, organization cleared"
}{- "message": "Organization unblocked successfully",
- "organization": {
- "id": "string",
- "name": "string",
- "description": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "status": "active",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { },
- "blocked": false,
- "blockedReason": null,
- "blockedDate": null,
- "blockedUserId": null
}
}Queue an organization merge request (Staff only). The source organization will be merged into the destination organization during the nightly batch job at 11 PM EST.
| orgId required | string <uuid> ID of the destination organization (the organization that will receive all associations) |
| sourceOrgId required | string <uuid> ID of the source organization (the organization that will be merged and deleted) |
| message required | string Success message |
required | object |
{- "sourceOrgId": "223e4567-e89b-12d3-a456-426614174000"
}{- "message": "Merge queued for processing during tonight's batch job",
- "data": {
- "mergeQueueId": "123e4567-e89b-12d3-a456-426614174000",
- "sourceOrgId": "223e4567-e89b-12d3-a456-426614174000",
- "destinationOrgId": "323e4567-e89b-12d3-a456-426614174000",
- "status": "pending",
- "requestDate": "2025-11-12T21:00:00.000Z",
- "requestUserId": "423e4567-e89b-12d3-a456-426614174000"
}
}Retrieve a list of organization registration requests
| status | string Enum: "pending" "approved" "rejected" Filter registrations by status |
| limit | integer [ 1 .. 100 ] Default: 20 Number of items per page |
| offset | integer >= 0 Default: 0 Number of items to skip for pagination |
Array of objects (ConnectRegistration) | |
object (ConnectPagination) |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "userOrgId": "14148439-4e63-414f-8ca8-cf3edd155a4b",
- "organizationName": "string",
- "taxId": "12-3456789",
- "organizationType": "nonprofit",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "US"
}, - "status": "pending",
- "submittedBy": {
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "reviewedBy": {
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "firstName": "string",
- "lastName": "string",
- "reviewedAt": "2019-08-24T14:15:22Z"
}, - "rejectionReason": "string",
- "uploadedDocuments": [
- {
- "documentId": "4704590c-004e-410d-adf7-acb7ca0a7052",
- "documentType": "tax_exemption_certificate",
- "fileName": "string",
- "uploadedAt": "2019-08-24T14:15:22Z"
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "pagination": {
- "page": 1,
- "pageSize": 20,
- "totalPages": 5,
- "totalItems": 100
}
}Submit a new organization registration request
Registration request data
| organizationName required | string [ 1 .. 255 ] characters Name of the organization being registered |
| taxId | string^[0-9]{2}-[0-9]{7}$ Organization's tax identification number |
| organizationType required | string Enum: "nonprofit" "for_profit" "government" "other" Type of organization |
| websiteUrl | string <uri> Organization's website URL |
| phoneNumber | string Organization's primary phone number |
required | object |
| description | string <= 1000 characters Optional description of the organization |
| missionStatement | string <= 2000 characters Organization's mission statement |
object Additional organization information |
| id required | string <uuid> Unique identifier for the registration request |
| userOrgId required | string <uuid> The unique identifier for the user-organization relationship |
| organizationName required | string Name of the organization being registered |
| taxId | string^[0-9]{2}-[0-9]{7}$ Organization's tax identification number |
| organizationType | string Enum: "nonprofit" "for_profit" "government" "other" Type of organization |
| websiteUrl | string <uri> Organization's website URL |
| phoneNumber | string Organization's primary phone number |
object | |
| status required | string Enum: "pending" "approved" "rejected" "under_review" Current status of the registration request |
object | |
object | |
| rejectionReason | string Reason for rejection (if status is rejected) |
Array of objects List of uploaded supporting documents | |
| createdAt required | string <date-time> When the registration request was created |
| updatedAt required | string <date-time> When the registration request was last updated |
{- "organizationName": "string",
- "taxId": "12-3456789",
- "organizationType": "nonprofit",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "US"
}, - "description": "string",
- "missionStatement": "string",
- "additionalInfo": { }
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "userOrgId": "14148439-4e63-414f-8ca8-cf3edd155a4b",
- "organizationName": "string",
- "taxId": "12-3456789",
- "organizationType": "nonprofit",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "US"
}, - "status": "pending",
- "submittedBy": {
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "reviewedBy": {
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "firstName": "string",
- "lastName": "string",
- "reviewedAt": "2019-08-24T14:15:22Z"
}, - "rejectionReason": "string",
- "uploadedDocuments": [
- {
- "documentId": "4704590c-004e-410d-adf7-acb7ca0a7052",
- "documentType": "tax_exemption_certificate",
- "fileName": "string",
- "uploadedAt": "2019-08-24T14:15:22Z"
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Retrieve a specific organization registration request by userOrgId
| userOrgId required | string <uuid> The unique identifier for the user-organization relationship |
| id required | string <uuid> Unique identifier for the registration request |
| userOrgId required | string <uuid> The unique identifier for the user-organization relationship |
| organizationName required | string Name of the organization being registered |
| taxId | string^[0-9]{2}-[0-9]{7}$ Organization's tax identification number |
| organizationType | string Enum: "nonprofit" "for_profit" "government" "other" Type of organization |
| websiteUrl | string <uri> Organization's website URL |
| phoneNumber | string Organization's primary phone number |
object | |
| status required | string Enum: "pending" "approved" "rejected" "under_review" Current status of the registration request |
object | |
object | |
| rejectionReason | string Reason for rejection (if status is rejected) |
Array of objects List of uploaded supporting documents | |
| createdAt required | string <date-time> When the registration request was created |
| updatedAt required | string <date-time> When the registration request was last updated |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "userOrgId": "14148439-4e63-414f-8ca8-cf3edd155a4b",
- "organizationName": "string",
- "taxId": "12-3456789",
- "organizationType": "nonprofit",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "US"
}, - "status": "pending",
- "submittedBy": {
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "reviewedBy": {
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "firstName": "string",
- "lastName": "string",
- "reviewedAt": "2019-08-24T14:15:22Z"
}, - "rejectionReason": "string",
- "uploadedDocuments": [
- {
- "documentId": "4704590c-004e-410d-adf7-acb7ca0a7052",
- "documentType": "tax_exemption_certificate",
- "fileName": "string",
- "uploadedAt": "2019-08-24T14:15:22Z"
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Update an existing organization registration request
| userOrgId required | string <uuid> The unique identifier for the user-organization relationship |
| action | string Enum: "approve" "reject" The action to take on the registration |
Registration update data
| status | string Enum: "pending" "approved" "rejected" "under_review" Status of the registration request (admin only) |
| rejectionReason | string Reason for rejection (admin only, required when status is rejected) |
| comments | string <= 1000 characters Optional comments for the registration request (admin only) |
| id required | string <uuid> Unique identifier for the registration request |
| userOrgId required | string <uuid> The unique identifier for the user-organization relationship |
| organizationName required | string Name of the organization being registered |
| taxId | string^[0-9]{2}-[0-9]{7}$ Organization's tax identification number |
| organizationType | string Enum: "nonprofit" "for_profit" "government" "other" Type of organization |
| websiteUrl | string <uri> Organization's website URL |
| phoneNumber | string Organization's primary phone number |
object | |
| status required | string Enum: "pending" "approved" "rejected" "under_review" Current status of the registration request |
object | |
object | |
| rejectionReason | string Reason for rejection (if status is rejected) |
Array of objects List of uploaded supporting documents | |
| createdAt required | string <date-time> When the registration request was created |
| updatedAt required | string <date-time> When the registration request was last updated |
{- "status": "pending",
- "rejectionReason": "string",
- "comments": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "userOrgId": "14148439-4e63-414f-8ca8-cf3edd155a4b",
- "organizationName": "string",
- "taxId": "12-3456789",
- "organizationType": "nonprofit",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "US"
}, - "status": "pending",
- "submittedBy": {
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "reviewedBy": {
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "firstName": "string",
- "lastName": "string",
- "reviewedAt": "2019-08-24T14:15:22Z"
}, - "rejectionReason": "string",
- "uploadedDocuments": [
- {
- "documentId": "4704590c-004e-410d-adf7-acb7ca0a7052",
- "documentType": "tax_exemption_certificate",
- "fileName": "string",
- "uploadedAt": "2019-08-24T14:15:22Z"
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Upload supporting documents for organization registration by tax ID
| taxId required | string^[0-9]{2}-[0-9]{7}$ Example: 12-3456789 The organization's tax identification number |
Registration documents to upload
| documents required | Array of strings <binary> <= 10 items [ items <binary > ] Array of document files to upload |
| documentTypes required | Array of strings Items Enum: "tax_exemption_certificate" "articles_of_incorporation" "bylaws" "board_resolution" "financial_statement" "other" Types of documents being uploaded (must match documents array length) |
| description | string <= 500 characters Optional description of the uploaded documents |
| message | string |
Array of objects |
{- "message": "Documents uploaded successfully",
- "uploadedDocuments": [
- {
- "documentId": "4704590c-004e-410d-adf7-acb7ca0a7052",
- "documentType": "string",
- "fileName": "string",
- "uploadedAt": "2019-08-24T14:15:22Z"
}
]
}Retrieve nominations with optional filtering and pagination.
Two modes of operation:
When taxId is provided, returns all nominations for that tax ID regardless of other parameters. Public access is allowed for taxId queries to enable duplicate checking during the nomination process.
| status | string Enum: "pending" "approved" "rejected" "under_review" Filter nominations by status |
| organizationId | string <uuid> Filter nominations by organization ID |
| taxId | string^(\d{2}-\d{7}|\d{9}|[A-Za-z0-9]{7}|[A-Za-z0-9... Example: taxId=12-3456789 Search for nominations by Tax ID (EIN) or NCES ID. Returns all nominations matching this tax ID (any status). Supported formats:
Access: Public (does not require staff permissions) Privacy: Sensitive fields (role, comments, document URLs) are only included for nominations created by the requesting user. Note: When taxId is provided, other query parameters are ignored. |
| limit | integer [ 1 .. 100 ] Default: 20 Maximum number of nominations to return |
| offset | integer >= 0 Default: 0 Number of nominations to skip for pagination |
Array of objects (ConnectNomination) | |
object (ConnectPagination) |
{- "nominations": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "organizationName": "string",
- "organizationTaxId": "string",
- "status": "pending",
- "submittedBy": "a641a425-2470-49a5-92c2-5825c2833a34",
- "submittedAt": "2019-08-24T14:15:22Z",
- "approvedBy": "c91bd49a-5920-43a3-b792-1660455e23bf",
- "approvedAt": "2019-08-24T14:15:22Z",
- "rejectedBy": "5cb42f49-c6a2-45fc-805c-4333469e59d0",
- "rejectedAt": "2019-08-24T14:15:22Z",
- "rejectionReason": "string",
- "rejectionReasonId": "dca2d751-b22f-4d5a-a83f-688876f3bb97",
- "notes": "string",
- "documents": [
- {
- "documentId": "4704590c-004e-410d-adf7-acb7ca0a7052",
- "documentType": "string",
- "fileName": "string",
- "uploadedAt": "2019-08-24T14:15:22Z"
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}
], - "pagination": {
- "page": 1,
- "pageSize": 20,
- "totalPages": 5,
- "totalItems": 100
}
}Create a new organization nomination
Nomination data to create
| organizationName required | string <= 255 characters Name of the organization being nominated |
| organizationTaxId required | string^[0-9]{2}-[0-9]{7}$ Tax ID/EIN of the organization being nominated |
| organizationDescription | string <= 1000 characters Description of the organization |
| organizationWebsite | string <uri> Organization's website URL |
| organizationEmail | string <email> Organization's primary email address |
| organizationPhoneNumber | string Organization's primary phone number |
object | |
| notes | string <= 1000 characters Additional notes about the nomination |
object Additional nomination metadata |
| id required | string <uuid> Unique identifier for the nomination |
| organizationId required | string <uuid> ID of the organization being nominated |
| organizationName | string Name of the organization being nominated |
| organizationTaxId | string Tax ID/EIN of the organization being nominated |
| status required | string Enum: "pending" "approved" "rejected" "under_review" Current status of the nomination |
| submittedBy | string <uuid> ID of the user who submitted the nomination |
| submittedAt | string <date-time> When the nomination was submitted |
| approvedBy | string <uuid> ID of the user who approved the nomination |
| approvedAt | string <date-time> When the nomination was approved |
| rejectedBy | string <uuid> ID of the user who rejected the nomination |
| rejectedAt | string <date-time> When the nomination was rejected |
| rejectionReason | string Reason for rejection if applicable |
| rejectionReasonId | string <uuid> ID of the predefined rejection reason |
| notes | string Additional notes about the nomination |
Array of objects List of documents associated with the nomination | |
| createdAt required | string <date-time> When the nomination was created |
| updatedAt | string <date-time> When the nomination was last updated |
object Additional nomination metadata |
{- "organizationName": "string",
- "organizationTaxId": "12-3456789",
- "organizationDescription": "string",
- "organizationEmail": "user@example.com",
- "organizationPhoneNumber": "string",
- "organizationAddress": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "notes": "string",
- "metadata": { }
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "organizationName": "string",
- "organizationTaxId": "string",
- "status": "pending",
- "submittedBy": "a641a425-2470-49a5-92c2-5825c2833a34",
- "submittedAt": "2019-08-24T14:15:22Z",
- "approvedBy": "c91bd49a-5920-43a3-b792-1660455e23bf",
- "approvedAt": "2019-08-24T14:15:22Z",
- "rejectedBy": "5cb42f49-c6a2-45fc-805c-4333469e59d0",
- "rejectedAt": "2019-08-24T14:15:22Z",
- "rejectionReason": "string",
- "rejectionReasonId": "dca2d751-b22f-4d5a-a83f-688876f3bb97",
- "notes": "string",
- "documents": [
- {
- "documentId": "4704590c-004e-410d-adf7-acb7ca0a7052",
- "documentType": "string",
- "fileName": "string",
- "uploadedAt": "2019-08-24T14:15:22Z"
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}Retrieve a specific nomination by its unique identifier
| nominationId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the nomination |
| id required | string <uuid> Unique identifier for the nomination |
| organizationId required | string <uuid> ID of the organization being nominated |
| organizationName | string Name of the organization being nominated |
| organizationTaxId | string Tax ID/EIN of the organization being nominated |
| status required | string Enum: "pending" "approved" "rejected" "under_review" Current status of the nomination |
| submittedBy | string <uuid> ID of the user who submitted the nomination |
| submittedAt | string <date-time> When the nomination was submitted |
| approvedBy | string <uuid> ID of the user who approved the nomination |
| approvedAt | string <date-time> When the nomination was approved |
| rejectedBy | string <uuid> ID of the user who rejected the nomination |
| rejectedAt | string <date-time> When the nomination was rejected |
| rejectionReason | string Reason for rejection if applicable |
| rejectionReasonId | string <uuid> ID of the predefined rejection reason |
| notes | string Additional notes about the nomination |
Array of objects List of documents associated with the nomination | |
| createdAt required | string <date-time> When the nomination was created |
| updatedAt | string <date-time> When the nomination was last updated |
object Additional nomination metadata |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "organizationName": "string",
- "organizationTaxId": "string",
- "status": "pending",
- "submittedBy": "a641a425-2470-49a5-92c2-5825c2833a34",
- "submittedAt": "2019-08-24T14:15:22Z",
- "approvedBy": "c91bd49a-5920-43a3-b792-1660455e23bf",
- "approvedAt": "2019-08-24T14:15:22Z",
- "rejectedBy": "5cb42f49-c6a2-45fc-805c-4333469e59d0",
- "rejectedAt": "2019-08-24T14:15:22Z",
- "rejectionReason": "string",
- "rejectionReasonId": "dca2d751-b22f-4d5a-a83f-688876f3bb97",
- "notes": "string",
- "documents": [
- {
- "documentId": "4704590c-004e-410d-adf7-acb7ca0a7052",
- "documentType": "string",
- "fileName": "string",
- "uploadedAt": "2019-08-24T14:15:22Z"
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}Approve a pending nomination
| nominationId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the nomination to approve |
Approval details
| approvedBy | string <uuid> ID of the user who approved the nomination |
| approvedAt | string <date-time> Timestamp when the nomination was approved |
| approvalNotes | string <= 1000 characters Optional notes about the approval |
| nextSteps | string <= 500 characters Optional next steps after approval |
| id required | string <uuid> Unique identifier for the nomination |
| organizationId required | string <uuid> ID of the organization being nominated |
| organizationName | string Name of the organization being nominated |
| organizationTaxId | string Tax ID/EIN of the organization being nominated |
| status required | string Enum: "pending" "approved" "rejected" "under_review" Current status of the nomination |
| submittedBy | string <uuid> ID of the user who submitted the nomination |
| submittedAt | string <date-time> When the nomination was submitted |
| approvedBy | string <uuid> ID of the user who approved the nomination |
| approvedAt | string <date-time> When the nomination was approved |
| rejectedBy | string <uuid> ID of the user who rejected the nomination |
| rejectedAt | string <date-time> When the nomination was rejected |
| rejectionReason | string Reason for rejection if applicable |
| rejectionReasonId | string <uuid> ID of the predefined rejection reason |
| notes | string Additional notes about the nomination |
Array of objects List of documents associated with the nomination | |
| createdAt required | string <date-time> When the nomination was created |
| updatedAt | string <date-time> When the nomination was last updated |
object Additional nomination metadata |
{- "approvedBy": "c91bd49a-5920-43a3-b792-1660455e23bf",
- "approvedAt": "2019-08-24T14:15:22Z",
- "approvalNotes": "string",
- "nextSteps": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "organizationName": "string",
- "organizationTaxId": "string",
- "status": "pending",
- "submittedBy": "a641a425-2470-49a5-92c2-5825c2833a34",
- "submittedAt": "2019-08-24T14:15:22Z",
- "approvedBy": "c91bd49a-5920-43a3-b792-1660455e23bf",
- "approvedAt": "2019-08-24T14:15:22Z",
- "rejectedBy": "5cb42f49-c6a2-45fc-805c-4333469e59d0",
- "rejectedAt": "2019-08-24T14:15:22Z",
- "rejectionReason": "string",
- "rejectionReasonId": "dca2d751-b22f-4d5a-a83f-688876f3bb97",
- "notes": "string",
- "documents": [
- {
- "documentId": "4704590c-004e-410d-adf7-acb7ca0a7052",
- "documentType": "string",
- "fileName": "string",
- "uploadedAt": "2019-08-24T14:15:22Z"
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}Reject a pending nomination
| nominationId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the nomination to reject |
Rejection details
| rejectedBy | string <uuid> ID of the user who rejected the nomination |
| rejectedAt | string <date-time> Timestamp when the nomination was rejected |
| rejectionReason required | string <= 1000 characters Reason for rejecting the nomination |
| rejectionReasonId | string <uuid> ID of the predefined rejection reason |
| rejectionNotes | string <= 1000 characters Additional notes about the rejection |
| nextSteps | string <= 500 characters Optional next steps after rejection |
| id required | string <uuid> Unique identifier for the nomination |
| organizationId required | string <uuid> ID of the organization being nominated |
| organizationName | string Name of the organization being nominated |
| organizationTaxId | string Tax ID/EIN of the organization being nominated |
| status required | string Enum: "pending" "approved" "rejected" "under_review" Current status of the nomination |
| submittedBy | string <uuid> ID of the user who submitted the nomination |
| submittedAt | string <date-time> When the nomination was submitted |
| approvedBy | string <uuid> ID of the user who approved the nomination |
| approvedAt | string <date-time> When the nomination was approved |
| rejectedBy | string <uuid> ID of the user who rejected the nomination |
| rejectedAt | string <date-time> When the nomination was rejected |
| rejectionReason | string Reason for rejection if applicable |
| rejectionReasonId | string <uuid> ID of the predefined rejection reason |
| notes | string Additional notes about the nomination |
Array of objects List of documents associated with the nomination | |
| createdAt required | string <date-time> When the nomination was created |
| updatedAt | string <date-time> When the nomination was last updated |
object Additional nomination metadata |
{- "rejectedBy": "5cb42f49-c6a2-45fc-805c-4333469e59d0",
- "rejectedAt": "2019-08-24T14:15:22Z",
- "rejectionReason": "string",
- "rejectionReasonId": "dca2d751-b22f-4d5a-a83f-688876f3bb97",
- "rejectionNotes": "string",
- "nextSteps": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "organizationName": "string",
- "organizationTaxId": "string",
- "status": "pending",
- "submittedBy": "a641a425-2470-49a5-92c2-5825c2833a34",
- "submittedAt": "2019-08-24T14:15:22Z",
- "approvedBy": "c91bd49a-5920-43a3-b792-1660455e23bf",
- "approvedAt": "2019-08-24T14:15:22Z",
- "rejectedBy": "5cb42f49-c6a2-45fc-805c-4333469e59d0",
- "rejectedAt": "2019-08-24T14:15:22Z",
- "rejectionReason": "string",
- "rejectionReasonId": "dca2d751-b22f-4d5a-a83f-688876f3bb97",
- "notes": "string",
- "documents": [
- {
- "documentId": "4704590c-004e-410d-adf7-acb7ca0a7052",
- "documentType": "string",
- "fileName": "string",
- "uploadedAt": "2019-08-24T14:15:22Z"
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}Upload supporting documents for organization nomination by tax ID
| taxId required | string Example: 12-3456789 The organization's tax identification number |
Nomination documents to upload
| documents required | Array of strings <binary> <= 10 items [ items <binary > ] Array of document files to upload |
| documentTypes required | Array of strings Items Enum: "nomination_form" "supporting_documentation" "organization_profile" "impact_statement" "financial_documentation" "other" Types of documents being uploaded (must match documents array length) |
| description | string <= 500 characters Optional description of the uploaded documents |
| message | string |
Array of objects |
{- "message": "Nomination documents uploaded successfully",
- "uploadedDocuments": [
- {
- "documentId": "4704590c-004e-410d-adf7-acb7ca0a7052",
- "documentType": "string",
- "fileName": "string",
- "uploadedAt": "2019-08-24T14:15:22Z"
}
]
}Retrieve a list of schools
| offset | integer >= 0 Default: 0 Number of items to skip for pagination |
| limit | integer [ 1 .. 100 ] Default: 20 Number of items per page |
| search | string Search term to filter schools by name, district ID, or school code |
| state | string Filter schools by state |
required | Array of objects (ConnectSchool) List of schools |
| totalCount required | integer Total number of schools matching the query |
| nextOffset | integer or null Offset for the next page of results, null if no more results |
| previousOffset | integer or null Offset for the previous page of results, null if on first page |
{- "data": [
- {
- "id": 0,
- "name": "string",
- "districtId": "string",
- "schoolCode": "string",
- "address": "string",
- "city": "string",
- "stateId": "string",
- "zip": "string",
- "telephone": "string",
- "lowestGrade": "string",
- "highestGrade": "string",
- "schoolType": "string",
- "schoolLevel": "string"
}
], - "totalCount": 0,
- "nextOffset": 0,
- "previousOffset": 0
}Retrieve a list of taxonomies
| page | integer Default: 1 Page number for pagination |
| limit | integer Default: 10 Number of items per page |
required | Array of objects (ConnectTaxonomy) List of taxonomies |
required | object |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "parentId": "70850378-7d3c-4f45-91b7-942d4dfbbd43",
- "metadata": { }
}
], - "pagination": {
- "total": 0,
- "page": 0,
- "limit": 0,
- "totalPages": 0
}
}Retrieve a specific taxonomy by ID
| taxonomyId required | string <uuid> ID of the taxonomy |
| id required | string <uuid> Unique identifier for the taxonomy |
| name required | string Name of the taxonomy |
| description required | string Description of the taxonomy |
| createdAt required | string <date-time> Timestamp when the taxonomy was created |
| updatedAt required | string <date-time> Timestamp when the taxonomy was last updated |
| status | string Default: "ACTIVE" Enum: "ACTIVE" "INACTIVE" Current status of the taxonomy |
| parentId | string <uuid> ID of the parent taxonomy, if this is a sub-taxonomy |
| metadata | object Additional metadata for the taxonomy |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "parentId": "70850378-7d3c-4f45-91b7-942d4dfbbd43",
- "metadata": { }
}Retrieve a list of themes
| page | integer Default: 1 Page number for pagination |
| limit | integer Default: 10 Number of items per page |
required | Array of objects (ConnectTheme) List of themes |
required | object |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "color": "string",
- "icon": "string",
- "metadata": { }
}
], - "pagination": {
- "total": 0,
- "page": 0,
- "limit": 0,
- "totalPages": 0
}
}Retrieve a specific theme by ID
| themeId required | string <uuid> ID of the theme |
| id required | string <uuid> Unique identifier for the theme |
| name required | string Name of the theme |
| description required | string Description of the theme |
| createdAt required | string <date-time> Timestamp when the theme was created |
| updatedAt required | string <date-time> Timestamp when the theme was last updated |
| status | string Default: "ACTIVE" Enum: "ACTIVE" "INACTIVE" Current status of the theme |
| color | string Color code associated with the theme |
| icon | string Icon identifier for the theme |
| metadata | object Additional metadata for the theme |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "color": "string",
- "icon": "string",
- "metadata": { }
}Retrieve a list of locations
| page | integer Default: 1 Page number for pagination |
| limit | integer Default: 10 Number of items per page |
| country | string Filter locations by country |
| state | string Filter locations by state/province |
required | Array of objects (ConnectLocation) List of locations |
required | object |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "postalCode": "string",
- "address": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "metadata": { }
}
], - "pagination": {
- "total": 0,
- "page": 0,
- "limit": 0,
- "totalPages": 0
}
}Retrieve a specific location by ID
| locationId required | string <uuid> ID of the location |
| id required | string <uuid> Unique identifier for the location |
| name required | string Name of the location |
| country required | string Country of the location |
| state | string State/province of the location |
| city | string City of the location |
| postalCode | string Postal/ZIP code of the location |
| address | string Street address of the location |
| latitude | number <float> Latitude coordinate of the location |
| longitude | number <float> Longitude coordinate of the location |
| createdAt required | string <date-time> Timestamp when the location was created |
| updatedAt required | string <date-time> Timestamp when the location was last updated |
| status | string Default: "ACTIVE" Enum: "ACTIVE" "INACTIVE" Current status of the location |
| metadata | object Additional metadata for the location |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "postalCode": "string",
- "address": "string",
- "latitude": 0.1,
- "longitude": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "metadata": { }
}Retrieve a list of feature flags
| page | integer Default: 1 Page number for pagination |
| limit | integer Default: 10 Number of items per page |
| status | string Enum: "ACTIVE" "INACTIVE" Filter feature flags by status |
required | Array of objects (ConnectFeatureFlag) List of feature flags |
required | object |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "key": "string",
- "description": "string",
- "value": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "metadata": { }
}
], - "pagination": {
- "total": 0,
- "page": 0,
- "limit": 0,
- "totalPages": 0
}
}Update an existing feature flag
| featureName required | string Name of the feature flag to update |
| isEnabled required | boolean Whether the feature flag is enabled |
| description | string Description of the feature flag |
| id required | string <uuid> Unique identifier for the feature flag |
| name required | string Name of the feature flag |
| key required | string Unique key for the feature flag |
| description | string Description of the feature flag |
| value required | boolean Current value of the feature flag |
| createdAt required | string <date-time> Timestamp when the feature flag was created |
| updatedAt required | string <date-time> Timestamp when the feature flag was last updated |
| status | string Default: "ACTIVE" Enum: "ACTIVE" "INACTIVE" Current status of the feature flag |
| metadata | object Additional metadata for the feature flag |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "key": "string",
- "description": "string",
- "value": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "metadata": { }
}Update an existing feature flag link
| featureFlagId required | string <uuid> ID of the feature flag to link |
| entityType required | string Enum: "USER" "ORGANIZATION" "ROLE" Type of entity to link the feature flag to |
| entityId required | string <uuid> ID of the entity to link the feature flag to |
| status | string Default: "ACTIVE" Enum: "ACTIVE" "INACTIVE" Initial status of the link |
| metadata | object Additional metadata for the link |
| id required | string <uuid> Unique identifier for the feature flag link |
| featureFlagId required | string <uuid> ID of the linked feature flag |
| entityType required | string Enum: "USER" "ORGANIZATION" "ROLE" Type of entity the feature flag is linked to |
| entityId required | string <uuid> ID of the entity the feature flag is linked to |
| createdAt required | string <date-time> Timestamp when the link was created |
| updatedAt required | string <date-time> Timestamp when the link was last updated |
| status | string Default: "ACTIVE" Enum: "ACTIVE" "INACTIVE" Current status of the link |
| metadata | object Additional metadata for the link |
{- "featureFlagId": "8135d94d-11ca-4154-8a1b-eefc3d6a0e7c",
- "entityType": "USER",
- "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
- "status": "ACTIVE",
- "metadata": { }
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "featureFlagId": "8135d94d-11ca-4154-8a1b-eefc3d6a0e7c",
- "entityType": "USER",
- "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "status": "ACTIVE",
- "metadata": { }
}Retrieve a list of tax information
| page | integer Default: 1 Page number for pagination |
| limit | integer Default: 10 Number of items per page |
| status | string Enum: "ACTIVE" "INACTIVE" Filter tax info by status |
required | Array of objects (ConnectTaxInfo) List of tax info |
required | object |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "ACTIVE",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "pagination": {
- "total": 0,
- "page": 0,
- "limit": 0,
- "totalPages": 0
}
}Retrieve specific tax information by ID
| taxInfoId required | string <uuid> ID of the tax info |
| id required | string <uuid> |
| status required | string Enum: "ACTIVE" "INACTIVE" |
| createdAt required | string <date-time> |
| updatedAt required | string <date-time> |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "ACTIVE",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Returns a user by their unique identifier.
| id required | string ID of the user to get |
| id required | string Unique identifier for the user |
| email required | string <email> User's email address |
| firstName required | string User's first name |
| lastName required | string User's last name |
| phoneNumber | string User's phone number |
| isActive | boolean Whether the user account is active |
| isConfirmed | boolean Whether the user account is confirmed |
| createdAt | string <date-time> When the user was created |
| updatedAt | string <date-time> When the user was last updated |
| lastLoginAt | string <date-time> When the user last logged in |
| role | string Enum: "ADMIN" "USER" User's role in the system |
object Additional user metadata | |
| status | string Enum: "active" "inactive" "pending" Current status of the user |
Array of objects (ConnectOrganization) List of organizations the user belongs to |
{- "id": "string",
- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "phoneNumber": "string",
- "isActive": true,
- "isConfirmed": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "lastLoginAt": "2019-08-24T14:15:22Z",
- "role": "ADMIN",
- "metadata": { },
- "status": "active",
- "organizations": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "taxId": "string",
- "status": "active",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { },
- "blocked": false,
- "blockedReason": "string",
- "blockedDate": "2019-08-24T14:15:22Z",
- "blockedUserId": "b8281c8b-1895-4f79-9212-2d53e21ed38b"
}
]
}Upload a verification document (check image) for an organization's payee. Only the organization Owner or a Bonterra Staff user can upload verification documents. Supported file types are PDF, JPEG, PNG, and HEIC.
| orgId required | string <uuid> ID of the organization |
| file | string <binary> The verification document file (PDF, JPEG, PNG, or HEIC) |
| s3Key | string The S3 key of the uploaded document |
{- "s3Key": "string"
}Generate a pre-signed URL for accessing a payee's verification document (check image). The URL is valid for 5 minutes (300 seconds). Only active payees' documents are accessible. If multiple payees exist, returns the most recently created payee's document.
| orgId required | string <uuid> ID of the organization whose payee verification document URL is requested |
| signedUrl | string Pre-signed URL to access the verification document (valid for 5 minutes) |
Retrieve a list of rejection reasons
| offset | integer >= 0 Default: 0 Number of items to skip for pagination |
| limit | integer [ 1 .. 100 ] Default: 20 Number of items per page |
| type required | string Enum: "NOMINATION" "PAYEE" "APPLICATION" "VERIFICATION" Filter rejection reasons by type |
required | Array of objects (ConnectRejectionReason) List of rejection reasons |
required | object |
{- "data": [
- {
- "id": 0,
- "type": "NOMINATION",
- "code": "string",
- "description": "string",
- "active": true,
- "createDate": "2019-08-24T14:15:22Z",
- "changeDate": "2019-08-24T14:15:22Z"
}
], - "pagination": {
- "total": 0,
- "offset": 0,
- "limit": 0
}
}Retrieve a specific rejection reason by ID
| rejectionReasonId required | string <uuid> ID of the rejection reason |
| id required | integer Unique identifier for the rejection reason |
| type required | string Enum: "NOMINATION" "PAYEE" "APPLICATION" "VERIFICATION" Type of rejection reason |
| code required | string Code identifier for the rejection reason |
| description required | string Detailed description of the rejection reason |
| active required | boolean Whether the rejection reason is active |
| createDate required | string <date-time> Timestamp when the rejection reason was created |
| changeDate required | string <date-time> Timestamp when the rejection reason was last updated |
{- "id": 0,
- "type": "NOMINATION",
- "code": "string",
- "description": "string",
- "active": true,
- "createDate": "2019-08-24T14:15:22Z",
- "changeDate": "2019-08-24T14:15:22Z"
}Manually trigger the data aggregation process for specified data types within a given date range. This endpoint initiates an asynchronous aggregation job that can be tracked using the returned job ID.
| dataType required | string Enum: "GRANTS" "ORGANIZATIONS" "USERS" Type of data to aggregate |
| startDate required | string <date> Start date for data aggregation period (inclusive) |
| endDate required | string <date> End date for data aggregation period (inclusive) |
object Additional filters to apply during aggregation | |
object Additional options for the aggregation process |
{- "dataType": "GRANTS",
- "startDate": "2024-01-01",
- "endDate": "2024-03-31",
- "filters": {
- "status": "ACTIVE",
- "organizationId": "123e4567-e89b-12d3-a456-426614174000",
- "userId": "123e4567-e89b-12d3-a456-426614174001"
}, - "options": {
- "forceRefresh": false,
- "includeMetadata": true
}
}{- "jobId": "123e4567-e89b-12d3-a456-426614174002",
- "status": "PENDING",
- "dataType": "GRANTS",
- "startDate": "2024-01-01",
- "endDate": "2024-03-31",
- "createdAt": "2024-03-20T10:30:00Z",
- "estimatedCompletionTime": "2024-03-20T10:35:00Z",
- "progress": 0,
- "filters": {
- "status": "ACTIVE",
- "organizationId": "123e4567-e89b-12d3-a456-426614174000",
- "userId": "123e4567-e89b-12d3-a456-426614174001"
}, - "options": {
- "forceRefresh": false,
- "includeMetadata": true
}
}Staff-only endpoint to get a signed URL for accessing a document in S3
| s3Key required | string The S3 key of the document to access |
| signedUrl required | string Pre-signed URL for accessing the document |
{
}