Download OpenAPI specification:
A Bonterra API Gateway that routes requests to internal Bonterra APIs
Retrieves a list of grant opportunities
| fetchType | string Enum: "templates" "reviewers" Filter by opportunity type |
| limit | string |
| offset | integer |
| id required | string Unique identifier for the opportunity |
| name required | string Name of the opportunity |
| description | string Description of the opportunity |
| organizationId required | string ID of the organization offering the opportunity |
| amount | number Grant amount |
| currency | string Currency of the grant amount |
| startDate | string <date> Start date for applications |
| endDate | string <date> End date for applications |
| status required | string Enum: "draft" "open" "closed" "awarded" "completed" Current status of the opportunity |
| type | string Enum: "general" "project" "research" "emergency" Type of opportunity |
| requirements | Array of strings List of requirements |
| eligibility | Array of strings List of eligibility criteria |
Array of objects (GrantCriteria) List of review criteria | |
Array of objects List of assigned reviewers | |
| createdAt | string <date-time> When the opportunity was created |
| updatedAt | string <date-time> When the opportunity was last updated |
object Additional opportunity 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"
], - "criteria": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "weight": 100,
- "type": "numeric",
- "options": [
- {
- "value": "string",
- "score": 0
}
], - "minScore": 0,
- "maxScore": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}
], - "reviewers": [
- {
- "userId": "string",
- "role": "string"
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}
]Creates a new grant opportunity
| id required | string Unique identifier for the opportunity |
| name required | string Name of the opportunity |
| description | string Description of the opportunity |
| organizationId required | string ID of the organization offering the opportunity |
| amount | number Grant amount |
| currency | string Currency of the grant amount |
| startDate | string <date> Start date for applications |
| endDate | string <date> End date for applications |
| status required | string Enum: "draft" "open" "closed" "awarded" "completed" Current status of the opportunity |
| type | string Enum: "general" "project" "research" "emergency" Type of opportunity |
| requirements | Array of strings List of requirements |
| eligibility | Array of strings List of eligibility criteria |
Array of objects (GrantCriteria) List of review criteria | |
Array of objects List of assigned reviewers | |
| createdAt | string <date-time> When the opportunity was created |
| updatedAt | string <date-time> When the opportunity was last updated |
object Additional opportunity metadata |
| id required | string Unique identifier for the opportunity |
| name required | string Name of the opportunity |
| description | string Description of the opportunity |
| organizationId required | string ID of the organization offering the opportunity |
| amount | number Grant amount |
| currency | string Currency of the grant amount |
| startDate | string <date> Start date for applications |
| endDate | string <date> End date for applications |
| status required | string Enum: "draft" "open" "closed" "awarded" "completed" Current status of the opportunity |
| type | string Enum: "general" "project" "research" "emergency" Type of opportunity |
| requirements | Array of strings List of requirements |
| eligibility | Array of strings List of eligibility criteria |
Array of objects (GrantCriteria) List of review criteria | |
Array of objects List of assigned reviewers | |
| createdAt | string <date-time> When the opportunity was created |
| updatedAt | string <date-time> When the opportunity was last updated |
object Additional opportunity 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"
], - "criteria": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "weight": 100,
- "type": "numeric",
- "options": [
- {
- "value": "string",
- "score": 0
}
], - "minScore": 0,
- "maxScore": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}
], - "reviewers": [
- {
- "userId": "string",
- "role": "string"
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "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"
], - "criteria": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "weight": 100,
- "type": "numeric",
- "options": [
- {
- "value": "string",
- "score": 0
}
], - "minScore": 0,
- "maxScore": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}
], - "reviewers": [
- {
- "userId": "string",
- "role": "string"
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}Retrieves a specific grant opportunity by ID
| id required | string ID of the opportunity |
| id required | string Unique identifier for the opportunity |
| name required | string Name of the opportunity |
| description | string Description of the opportunity |
| organizationId required | string ID of the organization offering the opportunity |
| amount | number Grant amount |
| currency | string Currency of the grant amount |
| startDate | string <date> Start date for applications |
| endDate | string <date> End date for applications |
| status required | string Enum: "draft" "open" "closed" "awarded" "completed" Current status of the opportunity |
| type | string Enum: "general" "project" "research" "emergency" Type of opportunity |
| requirements | Array of strings List of requirements |
| eligibility | Array of strings List of eligibility criteria |
Array of objects (GrantCriteria) List of review criteria | |
Array of objects List of assigned reviewers | |
| createdAt | string <date-time> When the opportunity was created |
| updatedAt | string <date-time> When the opportunity was last updated |
object Additional opportunity 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"
], - "criteria": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "weight": 100,
- "type": "numeric",
- "options": [
- {
- "value": "string",
- "score": 0
}
], - "minScore": 0,
- "maxScore": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}
], - "reviewers": [
- {
- "userId": "string",
- "role": "string"
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}Updates an existing grant opportunity
| id required | string ID of the opportunity |
| id required | string Unique identifier for the opportunity |
| name required | string Name of the opportunity |
| description | string Description of the opportunity |
| organizationId required | string ID of the organization offering the opportunity |
| amount | number Grant amount |
| currency | string Currency of the grant amount |
| startDate | string <date> Start date for applications |
| endDate | string <date> End date for applications |
| status required | string Enum: "draft" "open" "closed" "awarded" "completed" Current status of the opportunity |
| type | string Enum: "general" "project" "research" "emergency" Type of opportunity |
| requirements | Array of strings List of requirements |
| eligibility | Array of strings List of eligibility criteria |
Array of objects (GrantCriteria) List of review criteria | |
Array of objects List of assigned reviewers | |
| createdAt | string <date-time> When the opportunity was created |
| updatedAt | string <date-time> When the opportunity was last updated |
object Additional opportunity metadata |
| id required | string Unique identifier for the opportunity |
| name required | string Name of the opportunity |
| description | string Description of the opportunity |
| organizationId required | string ID of the organization offering the opportunity |
| amount | number Grant amount |
| currency | string Currency of the grant amount |
| startDate | string <date> Start date for applications |
| endDate | string <date> End date for applications |
| status required | string Enum: "draft" "open" "closed" "awarded" "completed" Current status of the opportunity |
| type | string Enum: "general" "project" "research" "emergency" Type of opportunity |
| requirements | Array of strings List of requirements |
| eligibility | Array of strings List of eligibility criteria |
Array of objects (GrantCriteria) List of review criteria | |
Array of objects List of assigned reviewers | |
| createdAt | string <date-time> When the opportunity was created |
| updatedAt | string <date-time> When the opportunity was last updated |
object Additional opportunity 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"
], - "criteria": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "weight": 100,
- "type": "numeric",
- "options": [
- {
- "value": "string",
- "score": 0
}
], - "minScore": 0,
- "maxScore": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}
], - "reviewers": [
- {
- "userId": "string",
- "role": "string"
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "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"
], - "criteria": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "weight": 100,
- "type": "numeric",
- "options": [
- {
- "value": "string",
- "score": 0
}
], - "minScore": 0,
- "maxScore": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}
], - "reviewers": [
- {
- "userId": "string",
- "role": "string"
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}Creates a copy of an existing grant opportunity
| id required | string ID of the opportunity to clone |
| name | string Name for the cloned opportunity |
| status | string Default: "draft" Enum: "draft" "open" Initial status for the cloned opportunity |
| id required | string Unique identifier for the opportunity |
| name required | string Name of the opportunity |
| description | string Description of the opportunity |
| organizationId required | string ID of the organization offering the opportunity |
| amount | number Grant amount |
| currency | string Currency of the grant amount |
| startDate | string <date> Start date for applications |
| endDate | string <date> End date for applications |
| status required | string Enum: "draft" "open" "closed" "awarded" "completed" Current status of the opportunity |
| type | string Enum: "general" "project" "research" "emergency" Type of opportunity |
| requirements | Array of strings List of requirements |
| eligibility | Array of strings List of eligibility criteria |
Array of objects (GrantCriteria) List of review criteria | |
Array of objects List of assigned reviewers | |
| createdAt | string <date-time> When the opportunity was created |
| updatedAt | string <date-time> When the opportunity was last updated |
object Additional opportunity metadata |
{- "name": "string",
- "status": "draft"
}{- "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"
], - "criteria": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "weight": 100,
- "type": "numeric",
- "options": [
- {
- "value": "string",
- "score": 0
}
], - "minScore": 0,
- "maxScore": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}
], - "reviewers": [
- {
- "userId": "string",
- "role": "string"
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}Retrieves review criteria for a grant opportunity
| id required | string ID of the opportunity |
| id required | string Unique identifier for the criteria |
| name required | string Name of the criteria |
| description | string Description of the criteria |
| weight required | number [ 0 .. 100 ] Weight of the criteria in the overall score |
| type | string Enum: "numeric" "text" "boolean" "scale" Type of criteria |
Array of objects Available options for the criteria (if applicable) | |
| minScore | number Minimum score for this criteria |
| maxScore | number Maximum score for this criteria |
| createdAt | string <date-time> When the criteria was created |
| updatedAt | string <date-time> When the criteria was last updated |
object Additional criteria metadata |
[- {
- "id": "string",
- "name": "string",
- "description": "string",
- "weight": 100,
- "type": "numeric",
- "options": [
- {
- "value": "string",
- "score": 0
}
], - "minScore": 0,
- "maxScore": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}
]Extract criteria
| id required | string ID of the opportunity |
| opportunity_id | string |
{- "opportunity_id": "string"
}{ }Updates review criteria for a grant opportunity
| id required | string ID of the opportunity |
| id required | string Unique identifier for the criteria |
| name required | string Name of the criteria |
| description | string Description of the criteria |
| weight required | number [ 0 .. 100 ] Weight of the criteria in the overall score |
| type | string Enum: "numeric" "text" "boolean" "scale" Type of criteria |
Array of objects Available options for the criteria (if applicable) | |
| minScore | number Minimum score for this criteria |
| maxScore | number Maximum score for this criteria |
| createdAt | string <date-time> When the criteria was created |
| updatedAt | string <date-time> When the criteria was last updated |
object Additional criteria metadata |
| id required | string Unique identifier for the criteria |
| name required | string Name of the criteria |
| description | string Description of the criteria |
| weight required | number [ 0 .. 100 ] Weight of the criteria in the overall score |
| type | string Enum: "numeric" "text" "boolean" "scale" Type of criteria |
Array of objects Available options for the criteria (if applicable) | |
| minScore | number Minimum score for this criteria |
| maxScore | number Maximum score for this criteria |
| createdAt | string <date-time> When the criteria was created |
| updatedAt | string <date-time> When the criteria was last updated |
object Additional criteria metadata |
[- {
- "id": "string",
- "name": "string",
- "description": "string",
- "weight": 100,
- "type": "numeric",
- "options": [
- {
- "value": "string",
- "score": 0
}
], - "minScore": 0,
- "maxScore": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}
][- {
- "id": "string",
- "name": "string",
- "description": "string",
- "weight": 100,
- "type": "numeric",
- "options": [
- {
- "value": "string",
- "score": 0
}
], - "minScore": 0,
- "maxScore": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "metadata": { }
}
]Retrieves reviewers for a grant opportunity
| id required | string ID of the opportunity |
| userId | string ID of the reviewer |
| role | string Role of the reviewer |
[- {
- "userId": "string",
- "role": "string"
}
]Adds reviewers to a grant opportunity
| id required | string ID of the opportunity |
| userId required | string ID of the reviewer |
| role required | string Role of the reviewer |
| userId | string ID of the reviewer |
| role | string Role of the reviewer |
[- {
- "userId": "string",
- "role": "string"
}
][- {
- "userId": "string",
- "role": "string"
}
]Creates a new grant review
| opportunityId required | string ID of the opportunity being reviewed |
required | Array of objects |
| overallNotes | string Overall review notes |
| id | string ID of the created review |
| opportunityId | string ID of the reviewed opportunity |
| reviewerId | string ID of the reviewer |
Array of objects | |
| overallNotes | string Overall review notes |
| createdAt | string <date-time> When the review was created |
{- "opportunityId": "string",
- "criteriaScores": [
- {
- "criteriaId": "string",
- "score": 0,
- "notes": "string"
}
], - "overallNotes": "string"
}{- "id": "string",
- "opportunityId": "string",
- "reviewerId": "string",
- "criteriaScores": [
- {
- "criteriaId": "string",
- "score": 0,
- "notes": "string"
}
], - "overallNotes": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}Retrieve a list of users associated with grants
| page | integer Default: 1 Page number for pagination |
| limit | integer Default: 10 Number of items per page |
required | Array of objects (GrantUser) List of grant users |
required | object |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "role": "ADMIN",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "status": "ACTIVE"
}
], - "pagination": {
- "total": 0,
- "page": 0,
- "limit": 0,
- "totalPages": 0
}
}Retrieve a specific grant user by ID
| id required | string <uuid> ID of the grant user |
| id required | string <uuid> Unique identifier for the grant user |
| email required | string <email> Email address of the grant user |
| firstName required | string First name of the grant user |
| lastName required | string Last name of the grant user |
| role required | string Enum: "ADMIN" "REVIEWER" "APPLICANT" Role of the grant user |
| createdAt required | string <date-time> Timestamp when the grant user was created |
| updatedAt required | string <date-time> Timestamp when the grant user was last updated |
| organizationId | string <uuid> ID of the organization the grant user belongs to |
| status | string Enum: "ACTIVE" "INACTIVE" "PENDING" Current status of the grant user |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "role": "ADMIN",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "status": "ACTIVE"
}Post invite
| id required | string <uuid> |
Array of objects (GrantInvite) |
{- "invites": [
- {
- "applicationId": "97ab27fa-30e2-43e3-92a3-160e80f4c0d5",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "matchQuality": "string",
- "whyMatchWorks": "string",
- "shareInviteEmail": "string"
}
]
}{ }Create a new client
| name | string The name of the client |
| description | string The description of the client |
| clientId | string The client ID |
{- "name": "string",
- "description": "string",
- "clientId": "string"
}{ }Get attachments for a grant application
| id required | string <uuid> ID of the grant application |
Array of objects The attachments for the grant application |
{- "attachments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
- "fieldId": 0,
- "s3Key": "string",
- "fileName": "string",
- "fieldName": "string",
- "title": "string"
}
]
}Save metadata for an uploaded attachment file. This endpoint should be called after successfully uploading a file using the upload endpoint.
| id required | string <uuid> ID of the grant application |
| s3Key required | string The S3 key returned from the file upload endpoint |
| fileName required | string Original name of the uploaded file |
| fieldId required | integer ID of the form field this attachment belongs to |
| id | string <uuid> ID of the created attachment record |
| field_id | integer ID of the form field this attachment belongs to |
| fileName | string Original name of the uploaded file |
| s3_key | string The S3 key of the uploaded file |
{- "s3Key": "string",
- "fileName": "string",
- "fieldId": 0
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "field_id": 0,
- "fileName": "string",
- "s3_key": "string"
}Upload an attachment file for a grant application. This endpoint handles the direct file upload to S3.
| id required | string <uuid> ID of the grant application |
| file | string <binary> The attachment file to upload |
| s3Key | string The S3 key of the uploaded file |
{- "s3Key": "string"
}Get a pre-signed URL to access either:
| id | string <uuid> ID of the grant application (required for application attachments) |
| attachmentId | string <uuid> ID of the attachment (required for application attachments) |
| signedUrl | string The pre-signed URL to access the file |
{- "signedUrl": "string"
}Delete a grant application attachment
| id required | string <uuid> ID of the grant application (required for application attachments) |
| attachmentId required | string <uuid> ID of the attachment (required for application attachments) |
{- "message": "string",
- "code": "string",
- "details": { },
- "timestamp": "2019-08-24T14:15:22Z"
}Get attachments for a grant application
| id required | string <uuid> ID of the grant application |
Array of objects The attachments for the grant application |
{- "attachments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
- "fieldId": 0,
- "s3Key": "string",
- "fileName": "string",
- "fieldName": "string",
- "title": "string"
}
]
}Save metadata for an uploaded attachment file. This endpoint should be called after successfully uploading a file using the upload endpoint.
| id required | string <uuid> ID of the grant application |
| s3Key required | string The S3 key returned from the file upload endpoint |
| fileName required | string Original name of the uploaded file |
| fieldId required | integer ID of the form field this attachment belongs to |
| id | string <uuid> ID of the created attachment record |
| field_id | integer ID of the form field this attachment belongs to |
| fileName | string Original name of the uploaded file |
| s3_key | string The S3 key of the uploaded file |
{- "s3Key": "string",
- "fileName": "string",
- "fieldId": 0
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "field_id": 0,
- "fileName": "string",
- "s3_key": "string"
}Upload an attachment file for a grant application. This endpoint handles the direct file upload to S3.
| id required | string <uuid> ID of the grant application |
| file | string <binary> The attachment file to upload |
| s3Key | string The S3 key of the uploaded file |
{- "s3Key": "string"
}Get a pre-signed URL to access either:
| id | string <uuid> ID of the grant application (required for application attachments) |
| attachmentId | string <uuid> ID of the attachment (required for application attachments) |
| signedUrl | string The pre-signed URL to access the file |
{- "signedUrl": "string"
}Delete a grant application attachment
| id required | string <uuid> ID of the grant application (required for application attachments) |
| attachmentId required | string <uuid> ID of the attachment (required for application attachments) |
{- "message": "string",
- "code": "string",
- "details": { },
- "timestamp": "2019-08-24T14:15:22Z"
}Get a pre-signed URL to access either:
| id | string <uuid> ID of the grant application (required for application attachments) |
| attachmentId | string <uuid> ID of the attachment (required for application attachments) |
| signedUrl | string The pre-signed URL to access the file |
{- "signedUrl": "string"
}Delete a grant application attachment
| id required | string <uuid> ID of the grant application (required for application attachments) |
| attachmentId required | string <uuid> ID of the attachment (required for application attachments) |
{- "message": "string",
- "code": "string",
- "details": { },
- "timestamp": "2019-08-24T14:15:22Z"
}