Endpoints
To avoid returning too many results at once, data returned through the API is paginated. Each response from a “list”-type endpoint (such as when you retrieve a list of users and not a particular user) has a next and a previous key. The values associated with these are URLs that point to the next/previous page of results. By default, we return a maximum of 25 results per request. If you would prefer to receive a different number of results per page, the GET parameter per_page can be passed along. For example,
GET https://example.smapply.org/api/programs/?per_page=20
You can download a copy of the OpenAPI spec for our API here.
Some API functionality may be limited based on Administrative Permissions in the platform. For more information on modifying permissions, you can refer to our help documentation on Permission Sets.
Rate Limiting
Apply Connect applies a rate limit to requests. API calls are limited to 5 calls per second per session. If the rate limit is exceeded, an HTTP status code of 429 is returned.
Activity
- GET /api/activity/
Retrieves a list of activity log items that are visible to the caller.
- Query Parameters:
actor (integer) – Limit the results to a specific actor
application (integer) – Limit the results to a specific application
program (integer) – Limit the results to a specific program
organization (integer) – Limit the results to a specific organization
category (integer) – Limit the results to a specific category
created_at (string) – Limit the results to a specific creation timestamp
Example request:
GET /api/activity/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
actor (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
actor_role (string) Permitted values: admin, reviewer
created_at (string)
category (boolean)
type (string)
application (object)
title (string)
id (integer)
program (object)
id (integer)
program ID
name (string)
program name
stage (object)
title (string)
id (integer)
task (object)
name (string)
id (integer)
organization (object)
Organization reference
id (integer)
organization ID
name (string)
organization name
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "actor": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "actor_role": "admin", "created_at": "2023-02-17T01:28:34.788838", "category": true, "type": "string", "application": { "title": "string", "id": 1 }, "program": { "id": 1, "name": "string" }, "stage": { "title": "string", "id": 1 }, "task": { "name": "string", "id": 1 }, "organization": { "id": 1, "name": "string" } } ]
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/activity/{id}/
Retrieves a single activity log item, if visible to the caller.
- Parameters:
id (integer) – Activity ID
Example request:
GET /api/activity/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
actor (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
actor_role (string) Permitted values: admin, reviewer
created_at (string)
category (boolean)
type (string)
application (object)
title (string)
id (integer)
program (object)
id (integer)
program ID
name (string)
program name
stage (object)
title (string)
id (integer)
task (object)
name (string)
id (integer)
organization (object)
Organization reference
id (integer)
organization ID
name (string)
organization name
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "actor": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "actor_role": "admin", "created_at": "2023-02-17T01:28:34.788838", "category": true, "type": "string", "application": { "title": "string", "id": 1 }, "program": { "id": 1, "name": "string" }, "stage": { "title": "string", "id": 1 }, "task": { "name": "string", "id": 1 }, "organization": { "id": 1, "name": "string" } }
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
Applications
- GET /api/applications/
Retrieves a list of applications that are visible to the caller.
Administrators need the
View Applications
permission to make this call.- Query Parameters:
applicant (integer) – limit applications to a specific applicant
average_score (number) – limit applications based on their average score
created_at (string) – limit applications based on their creation timestamp
current_stage (integer) – limit applications that are currently in a specific stage
overall_score (number) – limit applications based on their overall score
program (integer) – limit applications to a specific program
reference_id (string) – limit applications based on their reference ID
state (integer) –
limit applications based on their state; can be one of
0
: Active1
: Locked2
: Hidden3
: Archived4
: Trashed
title (integer) – limit applications based on their title
weighted_score (number) – limit applications based on their weighted score
Example request:
GET /api/applications/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
applicant (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
average_score (number)
collaborators (array of object)
first_name (string)
last_name (string)
email (string)
id (integer)
created_at (string)
current_stage (object)
title (string)
id (integer)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
last_submitted_at (string)
The most recent submit timestamp for the application
decision (object)
Application Decision Reference
id (integer)
ID of the award
decision (integer) Permitted values: 0, 1
0
- Awarded1
- Declined
awarded (string)
Value of the award
organization (object)
Organization reference
id (integer)
organization ID
name (string)
organization name
overall_score (number)
program (object)
id (integer)
program ID
name (string)
program name
reference_id (string)
state (integer) Permitted values: 0, 1, 2, 3, 4
0
: Active1
: Locked2
: Hidden3
: Archived4
: Trashed
title (string)
updated_at (string)
weighted_score (number)
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "applicant": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "average_score": 1.0, "collaborators": [ { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 } ], "created_at": "2023-02-17T01:28:34.788838", "current_stage": { "title": "string", "id": 1 }, "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "last_submitted_at": "2023-02-17T01:28:34.788838", "decision": { "id": 1, "decision": 0, "awarded": "string" }, "organization": { "id": 1, "name": "string" }, "overall_score": 1.0, "program": { "id": 1, "name": "string" }, "reference_id": "string", "state": 0, "title": "string", "updated_at": "2023-02-17T01:28:34.788838", "weighted_score": 1.0 } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- POST /api/applications/
Create an application. This is only available to applicants and administrators.
Admins need the
Create Applications
permission to make this call.Endpoint properties
applicant (integer)
applicant ID
collaborators (array of integer)
current_stage (integer)
ID of the stage the application is currently in
custom_fields (array of object)
id (integer)
custom field ID
value (string)
the custom field’s value
organization (integer)
ID of application’s organization; null if the application is not associated with an organization
program (integer)
program ID for the application
reference_id (string)
state (integer) Permitted values: 0, 1, 2, 3
0
: Active1
: Locked2
: Hidden3
: Archived4
: Trashed
title (string)
Example request:
POST /api/applications/ HTTP/1.1 Host: example.com Content-Type: application/json { "applicant": 1, "collaborators": [ 1 ], "current_stage": 1, "custom_fields": [ { "id": 1, "value": "string" } ], "organization": 1, "program": 1, "reference_id": "string", "state": 0, "title": "string" }
- Status Codes:
Application created
Endpoint properties
applicant (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
average_score (number)
collaborators (array of object)
first_name (string)
last_name (string)
email (string)
id (integer)
created_at (string)
current_stage (object)
title (string)
id (integer)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
last_submitted_at (string)
The most recent submit timestamp for the application
decision (object)
Application Decision Reference
id (integer)
ID of the award
decision (integer) Permitted values: 0, 1
0
- Awarded1
- Declined
awarded (string)
Value of the award
organization (object)
Organization reference
id (integer)
organization ID
name (string)
organization name
overall_score (number)
program (object)
id (integer)
program ID
name (string)
program name
reference_id (string)
state (integer) Permitted values: 0, 1, 2, 3, 4
0
: Active1
: Locked2
: Hidden3
: Archived4
: Trashed
title (string)
updated_at (string)
weighted_score (number)
Example response:
HTTP/1.1 201 Created Content-Type: application/json { "applicant": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "average_score": 1.0, "collaborators": [ { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 } ], "created_at": "2023-02-17T01:28:34.788838", "current_stage": { "title": "string", "id": 1 }, "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "last_submitted_at": "2023-02-17T01:28:34.788838", "decision": { "id": 1, "decision": 0, "awarded": "string" }, "organization": { "id": 1, "name": "string" }, "overall_score": 1.0, "program": { "id": 1, "name": "string" }, "reference_id": "string", "state": 0, "title": "string", "updated_at": "2023-02-17T01:28:34.788838", "weighted_score": 1.0 }
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/applications/{id}/
Retrieve a single application. The caller must be able to view the application.
Admins need the
View Applications
permission to make this call.- Parameters:
id (integer) – Application ID
Example request:
GET /api/applications/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
applicant (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
average_score (number)
collaborators (array of object)
first_name (string)
last_name (string)
email (string)
id (integer)
created_at (string)
current_stage (object)
title (string)
id (integer)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
last_submitted_at (string)
The most recent submit timestamp for the application
decision (object)
Application Decision Reference
id (integer)
ID of the award
decision (integer) Permitted values: 0, 1
0
- Awarded1
- Declined
awarded (string)
Value of the award
organization (object)
Organization reference
id (integer)
organization ID
name (string)
organization name
overall_score (number)
program (object)
id (integer)
program ID
name (string)
program name
reference_id (string)
state (integer) Permitted values: 0, 1, 2, 3, 4
0
: Active1
: Locked2
: Hidden3
: Archived4
: Trashed
title (string)
updated_at (string)
weighted_score (number)
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "applicant": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "average_score": 1.0, "collaborators": [ { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 } ], "created_at": "2023-02-17T01:28:34.788838", "current_stage": { "title": "string", "id": 1 }, "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "last_submitted_at": "2023-02-17T01:28:34.788838", "decision": { "id": 1, "decision": 0, "awarded": "string" }, "organization": { "id": 1, "name": "string" }, "overall_score": 1.0, "program": { "id": 1, "name": "string" }, "reference_id": "string", "state": 0, "title": "string", "updated_at": "2023-02-17T01:28:34.788838", "weighted_score": 1.0 }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application does not exist
429 Too Many Requests – Rate limit exceeded
- PATCH /api/applications/{id}/
Update an existing application. Only administrators with the
Application Create
permission can update applications.Admins need the
Application Create
permission to make this call.- Parameters:
id (integer) – application ID
Endpoint properties
applicant (integer)
applicant ID
collaborators (array of integer)
current_stage (integer)
ID of the stage the application is currently in
custom_fields (array of object)
id (integer)
custom field ID
value (string)
the custom field’s value
organization (integer)
ID of application’s organization; null if the application is not associated with an organization
program (integer)
program ID for the application
reference_id (string)
state (integer) Permitted values: 0, 1, 2, 3
0
: Active1
: Locked2
: Hidden3
: Archived4
: Trashed
title (string)
Example request:
PATCH /api/applications/{id}/ HTTP/1.1 Host: example.com Content-Type: application/json { "applicant": 1, "collaborators": [ 1 ], "current_stage": 1, "custom_fields": [ { "id": 1, "value": "string" } ], "organization": 1, "program": 1, "reference_id": "string", "state": 0, "title": "string" }
- Status Codes:
200 OK –
Application updated
Endpoint properties
applicant (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
average_score (number)
collaborators (array of object)
first_name (string)
last_name (string)
email (string)
id (integer)
created_at (string)
current_stage (object)
title (string)
id (integer)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
last_submitted_at (string)
The most recent submit timestamp for the application
decision (object)
Application Decision Reference
id (integer)
ID of the award
decision (integer) Permitted values: 0, 1
0
- Awarded1
- Declined
awarded (string)
Value of the award
organization (object)
Organization reference
id (integer)
organization ID
name (string)
organization name
overall_score (number)
program (object)
id (integer)
program ID
name (string)
program name
reference_id (string)
state (integer) Permitted values: 0, 1, 2, 3, 4
0
: Active1
: Locked2
: Hidden3
: Archived4
: Trashed
title (string)
updated_at (string)
weighted_score (number)
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "applicant": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "average_score": 1.0, "collaborators": [ { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 } ], "created_at": "2023-02-17T01:28:34.788838", "current_stage": { "title": "string", "id": 1 }, "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "last_submitted_at": "2023-02-17T01:28:34.788838", "decision": { "id": 1, "decision": 0, "awarded": "string" }, "organization": { "id": 1, "name": "string" }, "overall_score": 1.0, "program": { "id": 1, "name": "string" }, "reference_id": "string", "state": 0, "title": "string", "updated_at": "2023-02-17T01:28:34.788838", "weighted_score": 1.0 }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- DELETE /api/applications/{id}/
Delete an application.
Admins need the
Delete Applications
permission to make this call.- Parameters:
id (integer) – Application ID
- Status Codes:
204 No Content – Application deleted
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application does not exist
429 Too Many Requests – Rate limit exceeded
- GET /api/applications/{id}/stages/
Retrieves a list of all the stages the application has been in.
Only site administrators can access this endpoint.
- Parameters:
id (integer) – application ID
Example request:
GET /api/applications/{id}/stages/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Success
Endpoint properties
array of object
state (integer) Permitted values: 0, 1, 2
0
- Submitted1
- Reopened2
- Initialized
status (object)
name (string)
id (integer)
stage (object)
title (string)
id (integer)
created_at (string)
date_submitted (string)
date_reopened (string)
task_completion (integer)
percentage of required tasks completed
reviews_assigned (integer)
number of application reviews assigned in this stage
reviews_submitted (integer)
number of application reviews submitted in this stage
reviews_completed (integer)
number of application reviews completed in this stage
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "state": 0, "status": { "name": "string", "id": 1 }, "stage": { "title": "string", "id": 1 }, "created_at": "2023-02-17T01:28:34.788838", "date_submitted": "2023-02-17T01:28:34.788838", "date_reopened": "2023-02-17T01:28:34.788838", "task_completion": 1, "reviews_assigned": 1, "reviews_submitted": 1, "reviews_completed": 1 } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application does not exist
429 Too Many Requests – Rate limit exceeded
- GET /api/applications/{id}/stages/{stage_id}/
Retrieves a specific stage for an application.
Only site administrators can access this endpoint.
- Parameters:
id (integer) – application ID
stage_id (integer) – stage ID
Example request:
GET /api/applications/{id}/stages/{stage_id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Success
Endpoint properties
state (integer) Permitted values: 0, 1, 2
0
- Submitted1
- Reopened2
- Initialized
status (object)
name (string)
id (integer)
stage (object)
title (string)
id (integer)
created_at (string)
date_submitted (string)
date_reopened (string)
task_completion (integer)
percentage of required tasks completed
reviews_assigned (integer)
number of application reviews assigned in this stage
reviews_submitted (integer)
number of application reviews submitted in this stage
reviews_completed (integer)
number of application reviews completed in this stage
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "state": 0, "status": { "name": "string", "id": 1 }, "stage": { "title": "string", "id": 1 }, "created_at": "2023-02-17T01:28:34.788838", "date_submitted": "2023-02-17T01:28:34.788838", "date_reopened": "2023-02-17T01:28:34.788838", "task_completion": 1, "reviews_assigned": 1, "reviews_submitted": 1, "reviews_completed": 1 }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application does not exist
429 Too Many Requests – Rate limit exceeded
- PATCH /api/applications/{id}/stages/{stage_id}/
Update state and status of the application in the stage. The state and status can only be updated if the application is currently in the stage. An application that is withdrawn cannot be submitted.
Set the
apply-automations
header tofull
to trigger the following automation events:Application has changed status
- if the status was changedApplication has been submitted
- if the application was submitted
Only site administrators can access this endpoint.
- Parameters:
id (integer) – application id
stage_id (integer) – stage id
Endpoint properties
state (integer) Permitted values: 0, 1, 2
0
- Submitted1
- Reopened2
- Initialized
status (integer)
The id of the new status
Example request:
PATCH /api/applications/{id}/stages/{stage_id}/ HTTP/1.1 Host: example.com Content-Type: application/json { "status": 2, "completed_at": "2019-08-21T12:39:06.722984", "data": { "text1": "Board games", "number1": 6, "checkboxes1": [ 1, 2 ], "checkboxesother2": { "value": [ 1, 2, 9 ], "other": [ "", "", "", "", "", "", "", "", "Historical" ] }, "radio1": 3, "radioother2": { "value": 7, "other": "Worker placement" } } }
- Status Codes:
200 OK –
Success
Endpoint properties
id (integer)
task id
status (integer) Permitted values: 1, 2, 3
1
- Not started2
- In progress3
- Completed
type (integer) Permitted values: 1, 2, 5, 7, 10, 20
1
- Fill out a form2
- Attach file5
- Complete an external task7
- Get a recommendation10
- Make a payment20
- Verify charity status
name (string)
task name
created_at (string)
updated_at (string)
completed_at (string)
stage (object)
title (string)
id (integer)
data (**)
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "status": 1, "type": 1, "name": "string", "created_at": "2023-02-17T01:28:34.788838", "updated_at": "2023-02-17T01:28:34.788838", "completed_at": "2023-02-17T01:28:34.788838", "stage": { "title": "string", "id": 1 }, "data": { "DYNAMIC_FIELDS": "string" } }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application or task does not exist
429 Too Many Requests – Rate limit exceeded
- GET /api/applications/{id}/tasks/
Retrieves a list of all the tasks from the application.
- Parameters:
id (integer) – application ID
Example request:
GET /api/applications/{id}/tasks/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Success
Endpoint properties
array of object
id (integer)
task id
status (integer) Permitted values: 1, 2, 3
1
- Not started2
- In progress3
- Completed
type (integer) Permitted values: 1, 2, 5, 7, 10, 20
1
- Fill out a form2
- Attach file5
- Complete an external task7
- Get a recommendation10
- Make a payment20
- Verify charity status
name (string)
task name
created_at (string)
updated_at (string)
completed_at (string)
stage (object)
title (string)
id (integer)
data (**)
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": 1, "status": 1, "type": 1, "name": "string", "created_at": "2023-02-17T01:28:34.788838", "updated_at": "2023-02-17T01:28:34.788838", "completed_at": "2023-02-17T01:28:34.788838", "stage": { "title": "string", "id": 1 }, "data": { "DYNAMIC_FIELDS": "string" } } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application does not exist
429 Too Many Requests – Rate limit exceeded
- GET /api/applications/{id}/tasks/{task_id}/
Retrieves a specific task from the application.
- Parameters:
id (integer) – application id
task_id (integer) – task id
Example request:
GET /api/applications/{id}/tasks/{task_id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Success
Endpoint properties
id (integer)
task id
status (integer) Permitted values: 1, 2, 3
1
- Not started2
- In progress3
- Completed
type (integer) Permitted values: 1, 2, 5, 7, 10, 20
1
- Fill out a form2
- Attach file5
- Complete an external task7
- Get a recommendation10
- Make a payment20
- Verify charity status
name (string)
task name
created_at (string)
updated_at (string)
completed_at (string)
stage (object)
title (string)
id (integer)
data (**)
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "status": 1, "type": 1, "name": "string", "created_at": "2023-02-17T01:28:34.788838", "updated_at": "2023-02-17T01:28:34.788838", "completed_at": "2023-02-17T01:28:34.788838", "stage": { "title": "string", "id": 1 }, "data": { "DYNAMIC_FIELDS": "string" } }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application or task does not exist
429 Too Many Requests – Rate limit exceeded
- PATCH /api/applications/{id}/tasks/{task_id}/
Update the applicant responses for a specific task.
Set the
apply-automations
header tofull
to trigger automations based on task events. If this is the first call and the task’s status is not completed, then “Task has been started” automations will fire. If the task is edited after the status has been set to completed, then “Task has been edited after completion” automations will fire. If the task is submitted with status set to confirmed, then “Task has been marked as complete” automations will fire.- Parameters:
id (integer) – application id
task_id (integer) – task id
Endpoint properties
status (integer) Permitted values: 1, 2, 3
1
- Not started2
- In progress3
- Completed
completed_at (string)
data (object)
An object containing question IDs and values for the task responses.
Example request:
PATCH /api/applications/{id}/tasks/{task_id}/ HTTP/1.1 Host: example.com Content-Type: application/json { "status": 2, "completed_at": "2019-08-21T12:39:06.722984", "data": { "text1": "Board games", "number1": 6, "checkboxes1": [ 1, 2 ], "checkboxesother2": { "value": [ 1, 2, 9 ], "other": [ "", "", "", "", "", "", "", "", "Historical" ] }, "radio1": 3, "radioother2": { "value": 7, "other": "Worker placement" } } }
- Status Codes:
200 OK –
Success
Endpoint properties
id (integer)
task id
status (integer) Permitted values: 1, 2, 3
1
- Not started2
- In progress3
- Completed
type (integer) Permitted values: 1, 2, 5, 7, 10, 20
1
- Fill out a form2
- Attach file5
- Complete an external task7
- Get a recommendation10
- Make a payment20
- Verify charity status
name (string)
task name
created_at (string)
updated_at (string)
completed_at (string)
stage (object)
title (string)
id (integer)
data (**)
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "status": 1, "type": 1, "name": "string", "created_at": "2023-02-17T01:28:34.788838", "updated_at": "2023-02-17T01:28:34.788838", "completed_at": "2023-02-17T01:28:34.788838", "stage": { "title": "string", "id": 1 }, "data": { "DYNAMIC_FIELDS": "string" } }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application or task does not exist
429 Too Many Requests – Rate limit exceeded
- POST /api/applications/{id}/tasks/{task_id}/files/
Uploads a new file. For upload tasks, the content of the file goes under the field “file”. For upload questions in form tasks, the content of the file goes under the id of the question. For example, “MgplTbynuL”.
- Parameters:
id (integer) – application id
task_id (integer) – task id
- Status Codes:
201 Created – created
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application or task does not exist
429 Too Many Requests – Rate limit exceeded
- GET /api/applications/{id}/tasks/{task_id}/files/{file_id}/
Downloads the file from upload tasks or questions.
- Parameters:
id (integer) – application id
task_id (integer) – task id
file_id (integer) – file id
Example request:
GET /api/applications/{id}/tasks/{task_id}/files/{file_id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK – Success
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application or task does not exist
429 Too Many Requests – Rate limit exceeded
- DELETE /api/applications/{id}/tasks/{task_id}/files/{file_id}/
Delete a file from upload tasks or questions.
- Parameters:
id (integer) – application id
task_id (integer) – task id
file_id (integer) – file id
- Status Codes:
204 No Content – Success
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application, task or file does not exist
429 Too Many Requests – Rate limit exceeded
- GET /api/applications/{application_id}/notes/
Retrieve a list of notes on an application. Reviewers and administrators can add notes to an application.
- Parameters:
application_id (integer) – Application ID
Example request:
GET /api/applications/{application_id}/notes/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
author (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
author_role (string) Permitted values: admin, reviewer
content (string)
the text of the note
edited (boolean)
created_at (string)
is_private (boolean)
If true, only admins can see the note
updated_at (string)
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "author": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "author_role": "admin", "content": "string", "edited": true, "created_at": "2023-02-17T01:28:34.788838", "is_private": true, "updated_at": "2023-02-17T01:28:34.788838" } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application does not exist
429 Too Many Requests – Rate limit exceeded
- POST /api/applications/{application_id}/notes/
Add a note to an application. Only reviewers and administrators can add notes to an application.
- Parameters:
application_id (integer) – Application ID
Endpoint properties
content (string)
the text of the note
is_private (boolean)
If true, only admins can see the note
Example request:
POST /api/applications/{application_id}/notes/ HTTP/1.1 Host: example.com Content-Type: application/json { "content": "string", "is_private": true }
- Status Codes:
Note created
Endpoint properties
author (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
author_role (string) Permitted values: admin, reviewer
content (string)
the text of the note
edited (boolean)
created_at (string)
is_private (boolean)
If true, only admins can see the note
updated_at (string)
Example response:
HTTP/1.1 201 Created Content-Type: application/json { "author": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "author_role": "admin", "content": "string", "edited": true, "created_at": "2023-02-17T01:28:34.788838", "is_private": true, "updated_at": "2023-02-17T01:28:34.788838" }
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application does not exist
429 Too Many Requests – Rate limit exceeded
- DELETE /api/applications/{application_id}/notes/
Delete an application.
- Parameters:
application_id (integer) – Application ID
- Status Codes:
204 No Content – Application deleted
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application does not exist
429 Too Many Requests – Rate limit exceeded
- GET /api/applications/{application_id}/notes/{id}/
Retrieve an application note.
- Parameters:
application_id (integer) – Application ID
id (integer) – Note ID
Example request:
GET /api/applications/{application_id}/notes/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
author (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
author_role (string) Permitted values: admin, reviewer
content (string)
the text of the note
edited (boolean)
created_at (string)
is_private (boolean)
If true, only admins can see the note
updated_at (string)
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "author": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "author_role": "admin", "content": "string", "edited": true, "created_at": "2023-02-17T01:28:34.788838", "is_private": true, "updated_at": "2023-02-17T01:28:34.788838" }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application or note does not exist
429 Too Many Requests – Rate limit exceeded
- PATCH /api/applications/{application_id}/notes/{id}/
Update an application note.
- Parameters:
application_id (integer) – Application ID
id (integer) – Note ID
Endpoint properties
content (string)
the text of the note
is_private (boolean)
If true, only admins can see the note
Example request:
PATCH /api/applications/{application_id}/notes/{id}/ HTTP/1.1 Host: example.com Content-Type: application/json { "content": "string", "is_private": true }
- Status Codes:
200 OK –
Call was successful
Endpoint properties
author (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
author_role (string) Permitted values: admin, reviewer
content (string)
the text of the note
edited (boolean)
created_at (string)
is_private (boolean)
If true, only admins can see the note
updated_at (string)
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "author": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "author_role": "admin", "content": "string", "edited": true, "created_at": "2023-02-17T01:28:34.788838", "is_private": true, "updated_at": "2023-02-17T01:28:34.788838" }
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application or note does not exist
429 Too Many Requests – Rate limit exceeded
- DELETE /api/applications/{application_id}/notes/{id}/
Delete an application note.
- Parameters:
application_id (integer) – Application ID
id (integer) – Note ID
- Status Codes:
204 No Content – Note deleted
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application or note does not exist
429 Too Many Requests – Rate limit exceeded
Assignments
- GET /api/assignments/
Retrieves a list of review assignments for the site.
Administrators need the
Assign reviews
permission to make this call.- Query Parameters:
application (integer) – limit reviews to a specific application
updated_at (string) – limit reviews based on their update timestamp
program (integer) – limit reviews to a specific program
reviewer (integer) – limit reviews to a specific reviewer
stage (integer) – limit reviews to a specific stage
Example request:
GET /api/assignments/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
application (object)
title (string)
id (integer)
program (object)
id (integer)
program ID
name (string)
program name
stage (object)
title (string)
id (integer)
reviewer (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "application": { "title": "string", "id": 1 }, "program": { "id": 1, "name": "string" }, "stage": { "title": "string", "id": 1 }, "reviewer": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 } } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- POST /api/assignments/
Create a review assignment.
Administrators need the
Assign reviews
permission to make this call.Endpoint properties
applications (array of integer)
array of application IDs for the assignment
stage (integer)
ID for the assignment stage
reviewer (integer)
ID for the reviewer for the assignment
Example request:
POST /api/assignments/ HTTP/1.1 Host: example.com Content-Type: application/json { "applications": [ 1 ], "stage": 1, "reviewer": 1 }
- Status Codes:
201 Created – Assignment created
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- DELETE /api/assignments/
Delete an assignment. The review associated with the assignment will also be deleted.
Administrators need the
Assign reviews
permission to make this call.- Query Parameters:
application (integer) – the application of the assignment to delete (Required)
reviewer (integer) – the reviewer of the assignment to delete (Required)
stage (integer) – the stage of the assignment to delete (Required)
- Status Codes:
204 No Content – Assignment deleted
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/teamassignments/
Retrieves a list of review assignments for the site.
Administrators need the
Assign reviews
permission to make this call.- Query Parameters:
application (integer) – limit reviews to a specific application
updated_at (string) – limit reviews based on their update timestamp
program (integer) – limit reviews to a specific program
team (integer) – limit reviews to a specific team
stage (integer) – limit reviews to a specific stage
Example request:
GET /api/teamassignments/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
application (object)
title (string)
id (integer)
program (object)
id (integer)
program ID
name (string)
program name
stage (object)
title (string)
id (integer)
team (object)
name (string)
id (integer)
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "application": { "title": "string", "id": 1 }, "program": { "id": 1, "name": "string" }, "stage": { "title": "string", "id": 1 }, "team": { "name": "string", "id": 1 } } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- POST /api/teamassignments/
Create a team review assignment.
Administrators need the
Assign reviews
permission to make this call.Endpoint properties
applications (array of integer)
array of application IDs for the assignment
stage (integer)
ID for the assignment stage
team (integer)
ID for the team for the assignment
Example request:
POST /api/teamassignments/ HTTP/1.1 Host: example.com Content-Type: application/json { "applications": [ 1 ], "stage": 1, "team": 1 }
- Status Codes:
201 Created – Team assignment created
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- DELETE /api/teamassignments/
Delete a team assignment. The reviews associated with the team assignment will also be deleted.
Administrators need the
Assign reviews
permission to make this call.- Query Parameters:
application (integer) – the ID of the application of the assignment to delete (Required)
team (integer) – the ID of the team of the assignment to delete (Required)
stage (integer) – the ID of the stage of the assignment to delete (Required)
- Status Codes:
204 No Content – Team assignment deleted
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
Custom Fields
- GET /api/customfields/
Fetches the list of custom fields defined for the site
Administrators need the
Custom fields
permission to make this call.- Query Parameters:
name (string) – limit custom fields by name
required (integer) – If 1 then only required custom fields are returned. If 0 then only unrequired custom fields are returned
type (integer) – limit custom fields to the specified type
Example request:
GET /api/customfields/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
id (integer)
custom field ID
admin_only (boolean)
if true, field is only visible to administrators
choices (array of string)
List of possible choices for dropdown fields
default (string)
default value for field if not explicitly set
name (string)
display name for the custom field
readonly (boolean)
if true then value cannot be changed
required (boolean)
if true value must be filled in
show_in_registration (boolean)
if true the field is displayed during registration
target (string) Permitted values: application, applicant, reviewer, recommender, program, decision
type (integer) Permitted values: 0, 1, 2, 4, 6, 7, 8
0
: Short text1
: Dropdown2
: Email address4
: Number6
: Website7
: Long text8
: Date
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": 1, "admin_only": true, "choices": [ "string" ], "default": "string", "name": "string", "readonly": true, "required": true, "show_in_registration": true, "target": "application", "type": 0 } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- POST /api/customfields/
Create a custom field.
Admins need the
Custom fields
permission to make this call.Endpoint properties
admin_only (boolean)
if true, field is only visible to administrators
choices (array of string)
List of possible choices for dropdown fields
default (string)
default value for field if not explicitly set
name (string)
display name for the custom field
readonly (boolean)
if true then value cannot be changed
required (boolean)
if true value must be filled in
show_in_registration (boolean)
if true the field is displayed during registration
target (string) Permitted values: application, applicant, reviewer, recommender, program, decision
type (integer) Permitted values: 0, 1, 2, 4, 6, 7, 8
0
: Short text1
: Dropdown2
: Email address4
: Number6
: Website7
: Long text8
: Date
Example request:
POST /api/customfields/ HTTP/1.1 Host: example.com Content-Type: application/json { "admin_only": true, "choices": [ "string" ], "default": "string", "name": "string", "readonly": true, "required": true, "show_in_registration": true, "target": "application", "type": 0 }
- Status Codes:
Custom field created
Endpoint properties
id (integer)
custom field ID
admin_only (boolean)
if true, field is only visible to administrators
choices (array of string)
List of possible choices for dropdown fields
default (string)
default value for field if not explicitly set
name (string)
display name for the custom field
readonly (boolean)
if true then value cannot be changed
required (boolean)
if true value must be filled in
show_in_registration (boolean)
if true the field is displayed during registration
target (string) Permitted values: application, applicant, reviewer, recommender, program, decision
type (integer) Permitted values: 0, 1, 2, 4, 6, 7, 8
0
: Short text1
: Dropdown2
: Email address4
: Number6
: Website7
: Long text8
: Date
Example response:
HTTP/1.1 201 Created Content-Type: application/json { "id": 1, "admin_only": true, "choices": [ "string" ], "default": "string", "name": "string", "readonly": true, "required": true, "show_in_registration": true, "target": "application", "type": 0 }
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/customfields/{id}/
Retrieves detailed information about a custom field. Administrators need the
Custom fields
permission to make this call.- Parameters:
id (integer) – ID
Example request:
GET /api/customfields/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
id (integer)
custom field ID
admin_only (boolean)
if true, field is only visible to administrators
choices (array of string)
List of possible choices for dropdown fields
default (string)
default value for field if not explicitly set
name (string)
display name for the custom field
readonly (boolean)
if true then value cannot be changed
required (boolean)
if true value must be filled in
show_in_registration (boolean)
if true the field is displayed during registration
target (string) Permitted values: application, applicant, reviewer, recommender, program, decision
type (integer) Permitted values: 0, 1, 2, 4, 6, 7, 8
0
: Short text1
: Dropdown2
: Email address4
: Number6
: Website7
: Long text8
: Date
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "admin_only": true, "choices": [ "string" ], "default": "string", "name": "string", "readonly": true, "required": true, "show_in_registration": true, "target": "application", "type": 0 }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Custom field does not exist
429 Too Many Requests – Rate limit exceeded
- DELETE /api/customfields/{id}/
Delete a custom field.
Administrators need the
Custom fields
permission to make this call.- Parameters:
id (integer) – ID
- Status Codes:
204 No Content – Custom field deleted
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Custom field does not exist
429 Too Many Requests – Rate limit exceeded
- PATCH /api/customfields/{id}/
Update a custom field. Administrators need the
Custom fields
permission to make this call.- Parameters:
id (integer) – ID
Endpoint properties
admin_only (boolean)
if true, field is only visible to administrators
choices (array of string)
List of possible choices for dropdown fields
default (string)
default value for field if not explicitly set
name (string)
display name for the custom field
readonly (boolean)
if true then value cannot be changed
required (boolean)
if true value must be filled in
show_in_registration (boolean)
if true the field is displayed during registration
target (string) Permitted values: application, applicant, reviewer, recommender, program, decision
type (integer) Permitted values: 0, 1, 2, 4, 6, 7, 8
0
: Short text1
: Dropdown2
: Email address4
: Number6
: Website7
: Long text8
: Date
Example request:
PATCH /api/customfields/{id}/ HTTP/1.1 Host: example.com Content-Type: application/json { "admin_only": true, "choices": [ "string" ], "default": "string", "name": "string", "readonly": true, "required": true, "show_in_registration": true, "target": "application", "type": 0 }
- Status Codes:
200 OK –
Call was successful
Endpoint properties
id (integer)
custom field ID
admin_only (boolean)
if true, field is only visible to administrators
choices (array of string)
List of possible choices for dropdown fields
default (string)
default value for field if not explicitly set
name (string)
display name for the custom field
readonly (boolean)
if true then value cannot be changed
required (boolean)
if true value must be filled in
show_in_registration (boolean)
if true the field is displayed during registration
target (string) Permitted values: application, applicant, reviewer, recommender, program, decision
type (integer) Permitted values: 0, 1, 2, 4, 6, 7, 8
0
: Short text1
: Dropdown2
: Email address4
: Number6
: Website7
: Long text8
: Date
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "admin_only": true, "choices": [ "string" ], "default": "string", "name": "string", "readonly": true, "required": true, "show_in_registration": true, "target": "application", "type": 0 }
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Custom field does not exist
429 Too Many Requests – Rate limit exceeded
Financial Transactions
- GET /api/financial-transactions/
Fetch financial transactions for a site. This endpoint only works on sites that have Financial Management enabled.
Administrators need one of the
Financial Management
permission to make this call.Example request:
GET /api/financial-transactions/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
id (integer)
ID for the transaction
transaction_id (integer)
Incremental unique ID of the transaction
transaction_date (string)
created_at (string)
updated_at (string)
created_by (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
updated_by (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
notes (string)
transaction_type (integer) Permitted values: 0, 1, 2, 3, 4
0
: Deposit1
: Withdrawal2
: Transfer3
: Payment
source_type (integer) Permitted values: 0, 1, 2, 3
0
: No source1
: Program2
: Fund3
: Application
destination_type (integer) Permitted values: 0, 1, 2, 3
0
: No destination1
: Program2
: Fund3
: Application
amount (number)
Amount of money moving in the transaction
new_source_balance (number)
Balance of the source after the transaction
new_destination_balance (number)
Balance of the destination after the transaction
source (**)
The source of the money for the transaction. The source will be null if the transaction is a deposit.
destination (**)
The destination of the money for the transaction. The destination will be null if the transaction is a withdrawal.
payment (object)
id (integer)
ID of the payment
amount (number)
Total amount of money in the payment from all payment sources
created_by (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
created_at (string)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
decision (object)
Application Decision Reference
id (integer)
ID of the award
decision (integer) Permitted values: 0, 1
0
- Awarded1
- Declined
awarded (string)
Value of the award
effective_date (string)
note (string)
note_applicant_visible (boolean)
Whether the note has been made visible to the applicant
status (object)
id (integer)
ID of the status
name (string)
Name of the payment status
sources (array of object)
id (integer)
transaction_id (integer)
transaction_date (string)
amount (number)
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": 1, "transaction_id": 1, "transaction_date": "2023-02-17T01:28:34.788838", "created_at": "2023-02-17T01:28:34.788838", "updated_at": "2023-02-17T01:28:34.788838", "created_by": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "updated_by": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "notes": "string", "transaction_type": 0, "source_type": 0, "destination_type": 0, "amount": 1.0, "new_source_balance": 1.0, "new_destination_balance": 1.0, "source": { "id": 1, "name": "string" }, "destination": { "allow_collaborators": true, "close_datetime": "2023-02-17T01:28:34.788838", "open_datetime": "2023-02-17T01:28:34.788838", "categories": "string", "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "access": true, "active": true, "applicant_type": 0, "application_prefix": "string", "application_title_help": "string", "collaborator_domains": [ "string" ], "collaborator_invite_instructions": "string", "custom_value": "string", "description": "string", "edit_after_submit": true, "enable_application_limit": true, "grace_period": 1, "hide_value_from_applicants": true, "identifier": "string", "include_deadline_in_reminders": true, "limit_collaborator_domains": true, "listing_url": "string", "max_applications": 1, "max_value": 1.0, "name": "string", "no_application_dates": true, "no_close_date": true, "number_of_awards": 1, "publicity": true, "randomize_application_id": true, "require_application_title": true, "score_format": 0, "launched": true, "summary": "string", "value": 1.0, "value_type": 0, "total": 1.0, "allocated": 1.0, "paid": 1.0, "balance": 1.0, "funding_sources": [ { "id": 1, "balance": 1.0, "fund": { "id": 1, "name": "string" } } ], "awards_made": 1 }, "payment": { "id": 1, "amount": 1.0, "created_by": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "created_at": "2023-02-17T01:28:34.788838", "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "decision": { "id": 1, "decision": 0, "awarded": "string" }, "effective_date": "2023-02-17T01:28:34.788838", "note": "string", "note_applicant_visible": true, "status": { "id": 1, "name": "string" }, "sources": [ { "id": 1, "transaction_id": 1, "transaction_date": "2023-02-17T01:28:34.788838", "amount": 1.0 } ] } } ]
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/financial-transactions/{id}/
Fetch a single financial transaction. This endpoint only works on sites that have Financial Management enabled.
Administrators need one of the
Financial Management
permission to make this call.- Parameters:
id (integer) – ID
Example request:
GET /api/financial-transactions/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
id (integer)
ID for the transaction
transaction_id (integer)
Incremental unique ID of the transaction
transaction_date (string)
created_at (string)
updated_at (string)
created_by (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
updated_by (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
notes (string)
transaction_type (integer) Permitted values: 0, 1, 2, 3, 4
0
: Deposit1
: Withdrawal2
: Transfer3
: Payment
source_type (integer) Permitted values: 0, 1, 2, 3
0
: No source1
: Program2
: Fund3
: Application
destination_type (integer) Permitted values: 0, 1, 2, 3
0
: No destination1
: Program2
: Fund3
: Application
amount (number)
Amount of money moving in the transaction
new_source_balance (number)
Balance of the source after the transaction
new_destination_balance (number)
Balance of the destination after the transaction
source (**)
The source of the money for the transaction. The source will be null if the transaction is a deposit.
destination (**)
The destination of the money for the transaction. The destination will be null if the transaction is a withdrawal.
payment (object)
id (integer)
ID of the payment
amount (number)
Total amount of money in the payment from all payment sources
created_by (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
created_at (string)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
decision (object)
Application Decision Reference
id (integer)
ID of the award
decision (integer) Permitted values: 0, 1
0
- Awarded1
- Declined
awarded (string)
Value of the award
effective_date (string)
note (string)
note_applicant_visible (boolean)
Whether the note has been made visible to the applicant
status (object)
id (integer)
ID of the status
name (string)
Name of the payment status
sources (array of object)
id (integer)
transaction_id (integer)
transaction_date (string)
amount (number)
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "transaction_id": 1, "transaction_date": "2023-02-17T01:28:34.788838", "created_at": "2023-02-17T01:28:34.788838", "updated_at": "2023-02-17T01:28:34.788838", "created_by": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "updated_by": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "notes": "string", "transaction_type": 0, "source_type": 0, "destination_type": 0, "amount": 1.0, "new_source_balance": 1.0, "new_destination_balance": 1.0, "source": { "id": 1, "name": "string" }, "destination": { "allow_collaborators": true, "close_datetime": "2023-02-17T01:28:34.788838", "open_datetime": "2023-02-17T01:28:34.788838", "categories": "string", "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "access": true, "active": true, "applicant_type": 0, "application_prefix": "string", "application_title_help": "string", "collaborator_domains": [ "string" ], "collaborator_invite_instructions": "string", "custom_value": "string", "description": "string", "edit_after_submit": true, "enable_application_limit": true, "grace_period": 1, "hide_value_from_applicants": true, "identifier": "string", "include_deadline_in_reminders": true, "limit_collaborator_domains": true, "listing_url": "string", "max_applications": 1, "max_value": 1.0, "name": "string", "no_application_dates": true, "no_close_date": true, "number_of_awards": 1, "publicity": true, "randomize_application_id": true, "require_application_title": true, "score_format": 0, "launched": true, "summary": "string", "value": 1.0, "value_type": 0, "total": 1.0, "allocated": 1.0, "paid": 1.0, "balance": 1.0, "funding_sources": [ { "id": 1, "balance": 1.0, "fund": { "id": 1, "name": "string" } } ], "awards_made": 1 }, "payment": { "id": 1, "amount": 1.0, "created_by": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "created_at": "2023-02-17T01:28:34.788838", "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "decision": { "id": 1, "decision": 0, "awarded": "string" }, "effective_date": "2023-02-17T01:28:34.788838", "note": "string", "note_applicant_visible": true, "status": { "id": 1, "name": "string" }, "sources": [ { "id": 1, "transaction_id": 1, "transaction_date": "2023-02-17T01:28:34.788838", "amount": 1.0 } ] } }
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Financial transaction does not exist
429 Too Many Requests – Rate limit exceeded
Funds
- GET /api/funds/
Retrieves a list of funds. This endpoint only works on sites that have Financial Management enabled.
Administrators need the
View/Edit Funds
permission to make this call.Example request:
GET /api/funds/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
id (integer)
ID of the fund
created_by (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
name (string)
Fund name
site_fund_id (integer)
Incremental unique ID of the fund
created_at (string)
fund_folder (object)
id (integer)
ID of the fund folder
name (string)
Name of the fund folder
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
balance (number)
Current balance of the fund
total (number)
Total amount of money that has been moved into the fund
allocated (number)
Amount of money from this fund that has been allocated to applications
paid (number)
Amount of money from this fund that has been paid to applications
available_to_programs (number)
Amount of money from this fund that has been transferred to programs
utilization (number)
Percentage of the fund total that has been paid or allocated to applications
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": 1, "created_by": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "name": "string", "site_fund_id": 1, "created_at": "2023-02-17T01:28:34.788838", "fund_folder": { "id": 1, "name": "string" }, "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "balance": 1.0, "total": 1.0, "allocated": 1.0, "paid": 1.0, "available_to_programs": 1.0, "utilization": 1.0 } ]
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/funds/{id}/
Retrieve a single fund. This endpoint only works on sites that have Financial Management enabled.
Administrators need the
View/Edit Funds
permission to make this call.- Parameters:
id (integer) – ID
Example request:
GET /api/funds/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
id (integer)
ID of the fund
created_by (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
name (string)
Fund name
site_fund_id (integer)
Incremental unique ID of the fund
created_at (string)
fund_folder (object)
id (integer)
ID of the fund folder
name (string)
Name of the fund folder
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
balance (number)
Current balance of the fund
total (number)
Total amount of money that has been moved into the fund
allocated (number)
Amount of money from this fund that has been allocated to applications
paid (number)
Amount of money from this fund that has been paid to applications
available_to_programs (number)
Amount of money from this fund that has been transferred to programs
utilization (number)
Percentage of the fund total that has been paid or allocated to applications
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "created_by": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "name": "string", "site_fund_id": 1, "created_at": "2023-02-17T01:28:34.788838", "fund_folder": { "id": 1, "name": "string" }, "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "balance": 1.0, "total": 1.0, "allocated": 1.0, "paid": 1.0, "available_to_programs": 1.0, "utilization": 1.0 }
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Fund does not exist
429 Too Many Requests – Rate limit exceeded
Program Fund Budgets
- GET /api/budgets/
Retrieves a list of program fund budgets. This represents the amount of money a fund has transferred into a specific program.
Example request:
GET /api/budgets/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
id (integer)
ID of the program balance
paid (number)
Total money paid to applications in this program from this fund
allocated (number)
Total money allocated to applications in this program from this fund
balance (number)
Current balance in this program from this fund
budget (number)
Total money that has been transferred to this program from this fund
fund (object)
Fund Reference
id (integer)
ID of the fund
name (string)
Name of the fund
created_at (string)
program (object)
id (integer)
program ID
name (string)
program name
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": 1, "paid": 1.0, "allocated": 1.0, "balance": 1.0, "budget": 1.0, "fund": { "id": 1, "name": "string" }, "created_at": "2023-02-17T01:28:34.788838", "program": { "id": 1, "name": "string" } } ]
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/budgets/{id}/
Retrieves a single program fund budget. This represents the amount of money a fund has transferred into a specific program.
- Parameters:
id (integer) – ID
Example request:
GET /api/budgets/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
id (integer)
ID of the program balance
paid (number)
Total money paid to applications in this program from this fund
allocated (number)
Total money allocated to applications in this program from this fund
balance (number)
Current balance in this program from this fund
budget (number)
Total money that has been transferred to this program from this fund
fund (object)
Fund Reference
id (integer)
ID of the fund
name (string)
Name of the fund
created_at (string)
program (object)
id (integer)
program ID
name (string)
program name
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "paid": 1.0, "allocated": 1.0, "balance": 1.0, "budget": 1.0, "fund": { "id": 1, "name": "string" }, "created_at": "2023-02-17T01:28:34.788838", "program": { "id": 1, "name": "string" } }
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Program fund budget does not exist
429 Too Many Requests – Rate limit exceeded
Application Awards
- GET /api/awards/
Retrieves a list of application awards that are visible to the caller.
Administrators need the
View Applications
permission to make this call.Example request:
GET /api/awards/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
id (integer)
ID of the award
program (object)
id (integer)
program ID
name (string)
program name
application (object)
title (string)
id (integer)
applicant (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
awarded (string)
Value of the award
awarded_at (string)
created_at (string)
updated_at (string)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
notification_message (string)
Message displayed to applicants upon being awarded
decision (integer) Permitted values: 0, 1
0
- Awarded1
- Declined
value (number)
Monetary value of the award
applicant_decision_required (boolean)
Whether the applicant must accept or decline the award
applicant_decision_deadline (string)
Date by which the applicant must accept or decline the award
applicant_decision_submitted_on (string)
Date at which the applicant accepted or declined the award
visible (boolean)
Whether the award has been made visible to the applicant
applicant_decision (integer) Permitted values: 0, 2, 3
0
- Pending2
- Accepted3
- Declined
applicant_note (string)
Applicant note to administrators
payments (array of object)
id (integer)
ID of the payment
amount (number)
Total amount of money in the payment from all payment sources
status (object)
id (integer)
ID of the status
name (string)
Name of the payment status
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": 1, "program": { "id": 1, "name": "string" }, "application": { "title": "string", "id": 1 }, "applicant": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "awarded": "string", "awarded_at": "2023-02-17T01:28:34.788838", "created_at": "2023-02-17T01:28:34.788838", "updated_at": "2023-02-17T01:28:34.788838", "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "notification_message": "string", "decision": 0, "value": 1.0, "applicant_decision_required": true, "applicant_decision_deadline": "2023-02-17T01:28:34.788838", "applicant_decision_submitted_on": "2023-02-17T01:28:34.788838", "visible": true, "applicant_decision": 0, "applicant_note": "string", "payments": [ { "id": 1, "amount": 1.0, "status": { "id": 1, "name": "string" } } ] } ]
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/awards/{id}/
Retrieve a single application award. The caller must be able to view the application.
Admins need the
View Applications
permission to make this call.- Parameters:
id (integer) – ID
Example request:
GET /api/awards/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
id (integer)
ID of the award
program (object)
id (integer)
program ID
name (string)
program name
application (object)
title (string)
id (integer)
applicant (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
awarded (string)
Value of the award
awarded_at (string)
created_at (string)
updated_at (string)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
notification_message (string)
Message displayed to applicants upon being awarded
decision (integer) Permitted values: 0, 1
0
- Awarded1
- Declined
value (number)
Monetary value of the award
applicant_decision_required (boolean)
Whether the applicant must accept or decline the award
applicant_decision_deadline (string)
Date by which the applicant must accept or decline the award
applicant_decision_submitted_on (string)
Date at which the applicant accepted or declined the award
visible (boolean)
Whether the award has been made visible to the applicant
applicant_decision (integer) Permitted values: 0, 2, 3
0
- Pending2
- Accepted3
- Declined
applicant_note (string)
Applicant note to administrators
payments (array of object)
id (integer)
ID of the payment
amount (number)
Total amount of money in the payment from all payment sources
status (object)
id (integer)
ID of the status
name (string)
Name of the payment status
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "program": { "id": 1, "name": "string" }, "application": { "title": "string", "id": 1 }, "applicant": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "awarded": "string", "awarded_at": "2023-02-17T01:28:34.788838", "created_at": "2023-02-17T01:28:34.788838", "updated_at": "2023-02-17T01:28:34.788838", "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "notification_message": "string", "decision": 0, "value": 1.0, "applicant_decision_required": true, "applicant_decision_deadline": "2023-02-17T01:28:34.788838", "applicant_decision_submitted_on": "2023-02-17T01:28:34.788838", "visible": true, "applicant_decision": 0, "applicant_note": "string", "payments": [ { "id": 1, "amount": 1.0, "status": { "id": 1, "name": "string" } } ] }
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Application award does not exist
429 Too Many Requests – Rate limit exceeded
Logging
- GET /api/log/
Fetches the log of calls to Apply Connect
- Query Parameters:
actor (integer) – limit by user
object_id (integer) – limit log to a specific object
parent_id (integer) – limit log to a specific parent object. For example, if you want eligibility logs for a specific user, you would set parent_id to the ID of the user.
role (string) – limit by caller’s role
status_code (integer) – limit log by HTTP status code
timestamp (string) – limit log by the timestamp of the API call
url (string) – limit by API url
Example request:
GET /api/log/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
id (integer)
log ID
actor (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
elapsed (number)
time to process the call, in msec
info (object)
data specific to the endpoint
method (string) Permitted values: GET, POST, PATCH, DELETE, PUT
HTTP method used for call
object_id (integer)
ID of the returned object
parent_id (integer)
ID of parent object
role (string) Permitted values: applicant, recommender, reviewer, admin
caller’s role
status_code (integer) Permitted values: 200, 201, 204, 400, 401, 403, 404, 405
HTTP status code for the call
timestamp (string)
timestamp of the call
url (string)
endpoint called
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "actor": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "elapsed": 1.0, "info": {}, "method": "GET", "object_id": 1, "parent_id": 1, "role": "applicant", "status_code": 200, "timestamp": "2023-02-17T01:28:34.788838", "url": "string" }
401 Unauthorized – Caller is not authenticated
429 Too Many Requests – Rate limit exceeded
Tokens
- POST /api/o/revoke_token/
Revoke your API token.
Endpoint properties
client_id (string)
Your API client ID
client_secret (string)
Your API client secret
refresh_token (string)
Your API refresh token
Example request:
POST /api/o/revoke_token/ HTTP/1.1 Host: example.com Content-Type: application/json { "client_id": "string", "client_secret": "string", "refresh_token": "string" }
- Status Codes:
204 No Content – revoked
400 Bad Request – Bad request; see response body for error messages
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- POST /api/o/token/
This endpoint will generate a new access token. The token is valid for 2 hours from when it was generated.
Endpoint properties
grant_type (string) Permitted values: refresh_token
The grant type. Only refresh token is supported.
client_id (string)
Your API client ID
client_secret (string)
Your API client secret
refresh_token (string)
Your API refresh token
scope (string) Permitted values: applicant, recommender, reviewer, admin
The permissions scope for the token. Only roles from the current user can be use as a scope value. For example, if the user has the roles “admin” and “applicant”, the scope parameter can take those values. Sending the value of “reviewer” will return in an “invalid_scope” error.
Example request:
POST /api/o/token/ HTTP/1.1 Host: example.com Content-Type: application/json { "grant_type": "refresh_token", "client_id": "string", "client_secret": "string", "refresh_token": "string", "scope": "applicant" }
- Status Codes:
200 OK –
Token refreshed
Endpoint properties
access_token (string)
new access token
expires_in (integer)
number of seconds the token is valid for
refresh_token (string)
token to use on your next refresh token call
scope (string) Permitted values: applicant, recommender, reviewer, admin
The permission scope for this token
token_type (string) Permitted values: Bearer
The type of token. At the moment, we only support a Bearer token
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "access_token": "string", "expires_in": 1, "refresh_token": "string", "scope": "applicant", "token_type": "Bearer" }
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
Organizations
- GET /api/organizations/
Retrieves a list of organizations visible to the caller. Depending on the caller’s permissions, an organization or organization reference will be returned.
Only organization administrators and site administrators with the
View users
permission can access this endpoint.Example request:
GET /api/organizations/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
Organization
id (integer)
organization ID
allow_collaborators (boolean)
city (string)
country (string)
address (string)
email (string)
email address for the organization
website (string)
phone (string)
tax_country (integer)
0
: USA - EIN Number1
: Canada - CRA Business Number2
: Austria - VAT Number3
: Belgium - VAT Number4
: Bulgaria - VAT Number5
: Croatia - VAT Number6
: Cyprus - VAT Number7
: Czech Republic - VAT Number8
: Denmark - VAT Number9
: Estonia - VAT Number10
: Finland - VAT Number11
: France - VAT Number12
: Germany - VAT Number13
: Greece - VAT Number14
: Hungary - VAT Number15
: Ireland - VAT Number16
: Italy - VAT Number17
: Latvia - VAT Number18
: Lithuania - VAT Number19
: Luxembourg - VAT Number20
: Malta - VAT Number21
: Netherlands - VAT Number22
: Poland - VAT Number23
: Portugal - VAT Number24
: Romania - VAT Number25
: Slovakia - VAT Number26
: Slovenia - VAT Number27
: Spain - VAT Number28
: Sweden - VAT Number29
: United Kingdom and Isle of Man - VAT Number
tax_number (string)
If the tax_country is set to US, then the format is required to be ‘12-3456789’. If the tax_country is Canada, then the format must be ‘123456789 RT 0001’
primary_admin (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
logo_url (string)
status (integer) Permitted values: 0, 1, 2
0
- Inactive1
- Active2
- Invited
Organization reference
id (integer)
organization ID
name (string)
organization name
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ [ { "id": 1, "allow_collaborators": true, "city": "string", "country": "string", "address": "string", "email": "name@example.com", "website": "https://example.com", "phone": "string", "tax_country": 1, "tax_number": "string", "primary_admin": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "logo_url": "https://example.com", "status": 0 }, { "id": 1, "name": "string" } ] ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- POST /api/organizations/
Create a new organization.
Admins need the
Manually add users
permission to make this call.Set the
apply-notify
header totrue
to send the new organization’s primary admin an email notifying them that they have been invited to the organization.You can use the
apply-notify-message
header to include a custom message in the notify email. Only text messages are supported.Endpoint properties
allow_collaborators (boolean)
If true, organization applications can have collaborators
city (string)
city for the organization
country (string)
country for the organization
address (string)
address for the organization
email (string)
email address for the organization
website (string)
organization website URL
phone (string)
organization phone number
tax_country (integer)
Tax country code:
0
: USA - EIN Number1
: Canada - CRA Business Number2
: Austria - VAT Number3
: Belgium - VAT Number4
: Bulgaria - VAT Number5
: Croatia - VAT Number6
: Cyprus - VAT Number7
: Czech Republic - VAT Number8
: Denmark - VAT Number9
: Estonia - VAT Number10
: Finland - VAT Number11
: France - VAT Number12
: Germany - VAT Number13
: Greece - VAT Number14
: Hungary - VAT Number15
: Ireland - VAT Number16
: Italy - VAT Number17
: Latvia - VAT Number18
: Lithuania - VAT Number19
: Luxembourg - VAT Number20
: Malta - VAT Number21
: Netherlands - VAT Number22
: Poland - VAT Number23
: Portugal - VAT Number24
: Romania - VAT Number25
: Slovakia - VAT Number26
: Slovenia - VAT Number27
: Spain - VAT Number28
: Sweden - VAT Number29
: United Kingdom and Isle of Man - VAT Number
tax_number (string)
If the tax_country is set to US, then the format is required to be ‘12-3456789’. If the tax_country is Canada, then the format must be ‘123456789 RT 0001’
primary_admin (integer)
user ID of primary administrator
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
logo_url (string)
url to the organization’s logo
status (integer) Permitted values: 0, 1, 2
0
- Inactive1
- Active2
- Invited
Example request:
POST /api/organizations/ HTTP/1.1 Host: example.com Content-Type: application/json { "allow_collaborators": true, "city": "string", "country": "string", "address": "string", "email": "name@example.com", "website": "https://example.com", "phone": "string", "tax_country": 1, "tax_number": "string", "primary_admin": 1, "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "logo_url": "https://example.com", "status": 0 }
- Status Codes:
Organization created
Endpoint properties
id (integer)
organization ID
allow_collaborators (boolean)
city (string)
country (string)
address (string)
email (string)
email address for the organization
website (string)
phone (string)
tax_country (integer)
0
: USA - EIN Number1
: Canada - CRA Business Number2
: Austria - VAT Number3
: Belgium - VAT Number4
: Bulgaria - VAT Number5
: Croatia - VAT Number6
: Cyprus - VAT Number7
: Czech Republic - VAT Number8
: Denmark - VAT Number9
: Estonia - VAT Number10
: Finland - VAT Number11
: France - VAT Number12
: Germany - VAT Number13
: Greece - VAT Number14
: Hungary - VAT Number15
: Ireland - VAT Number16
: Italy - VAT Number17
: Latvia - VAT Number18
: Lithuania - VAT Number19
: Luxembourg - VAT Number20
: Malta - VAT Number21
: Netherlands - VAT Number22
: Poland - VAT Number23
: Portugal - VAT Number24
: Romania - VAT Number25
: Slovakia - VAT Number26
: Slovenia - VAT Number27
: Spain - VAT Number28
: Sweden - VAT Number29
: United Kingdom and Isle of Man - VAT Number
tax_number (string)
If the tax_country is set to US, then the format is required to be ‘12-3456789’. If the tax_country is Canada, then the format must be ‘123456789 RT 0001’
primary_admin (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
logo_url (string)
status (integer) Permitted values: 0, 1, 2
0
- Inactive1
- Active2
- Invited
Example response:
HTTP/1.1 201 Created Content-Type: application/json { "id": 1, "allow_collaborators": true, "city": "string", "country": "string", "address": "string", "email": "name@example.com", "website": "https://example.com", "phone": "string", "tax_country": 1, "tax_number": "string", "primary_admin": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "logo_url": "https://example.com", "status": 0 }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/organizations/{id}/
Retrieve the details about an organization.
- Parameters:
id (integer) – Organization ID
Example request:
GET /api/organizations/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
id (integer)
organization ID
allow_collaborators (boolean)
city (string)
country (string)
address (string)
email (string)
email address for the organization
website (string)
phone (string)
tax_country (integer)
0
: USA - EIN Number1
: Canada - CRA Business Number2
: Austria - VAT Number3
: Belgium - VAT Number4
: Bulgaria - VAT Number5
: Croatia - VAT Number6
: Cyprus - VAT Number7
: Czech Republic - VAT Number8
: Denmark - VAT Number9
: Estonia - VAT Number10
: Finland - VAT Number11
: France - VAT Number12
: Germany - VAT Number13
: Greece - VAT Number14
: Hungary - VAT Number15
: Ireland - VAT Number16
: Italy - VAT Number17
: Latvia - VAT Number18
: Lithuania - VAT Number19
: Luxembourg - VAT Number20
: Malta - VAT Number21
: Netherlands - VAT Number22
: Poland - VAT Number23
: Portugal - VAT Number24
: Romania - VAT Number25
: Slovakia - VAT Number26
: Slovenia - VAT Number27
: Spain - VAT Number28
: Sweden - VAT Number29
: United Kingdom and Isle of Man - VAT Number
tax_number (string)
If the tax_country is set to US, then the format is required to be ‘12-3456789’. If the tax_country is Canada, then the format must be ‘123456789 RT 0001’
primary_admin (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
logo_url (string)
status (integer) Permitted values: 0, 1, 2
0
- Inactive1
- Active2
- Invited
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "allow_collaborators": true, "city": "string", "country": "string", "address": "string", "email": "name@example.com", "website": "https://example.com", "phone": "string", "tax_country": 1, "tax_number": "string", "primary_admin": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "logo_url": "https://example.com", "status": 0 }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Resource cannot be found
429 Too Many Requests – Rate limit exceeded
- PATCH /api/organizations/{id}/
Update an organization.
Only organization administrators and site administrators with the
Assume role
permission can access this endpoint.- Parameters:
id (integer) – Organization ID
Endpoint properties
allow_collaborators (boolean)
If true, organization applications can have collaborators
city (string)
city for the organization
country (string)
country for the organization
address (string)
address for the organization
email (string)
email address for the organization
website (string)
organization website URL
phone (string)
organization phone number
tax_country (integer)
Tax country code:
0
: USA - EIN Number1
: Canada - CRA Business Number2
: Austria - VAT Number3
: Belgium - VAT Number4
: Bulgaria - VAT Number5
: Croatia - VAT Number6
: Cyprus - VAT Number7
: Czech Republic - VAT Number8
: Denmark - VAT Number9
: Estonia - VAT Number10
: Finland - VAT Number11
: France - VAT Number12
: Germany - VAT Number13
: Greece - VAT Number14
: Hungary - VAT Number15
: Ireland - VAT Number16
: Italy - VAT Number17
: Latvia - VAT Number18
: Lithuania - VAT Number19
: Luxembourg - VAT Number20
: Malta - VAT Number21
: Netherlands - VAT Number22
: Poland - VAT Number23
: Portugal - VAT Number24
: Romania - VAT Number25
: Slovakia - VAT Number26
: Slovenia - VAT Number27
: Spain - VAT Number28
: Sweden - VAT Number29
: United Kingdom and Isle of Man - VAT Number
tax_number (string)
If the tax_country is set to US, then the format is required to be ‘12-3456789’. If the tax_country is Canada, then the format must be ‘123456789 RT 0001’
primary_admin (integer)
user ID of primary administrator
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
logo_url (string)
url to the organization’s logo
status (integer) Permitted values: 0, 1, 2
0
- Inactive1
- Active2
- Invited
Example request:
PATCH /api/organizations/{id}/ HTTP/1.1 Host: example.com Content-Type: application/json { "allow_collaborators": true, "city": "string", "country": "string", "address": "string", "email": "name@example.com", "website": "https://example.com", "phone": "string", "tax_country": 1, "tax_number": "string", "primary_admin": 1, "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "logo_url": "https://example.com", "status": 0 }
- Status Codes:
200 OK –
Call was successful
Endpoint properties
id (integer)
organization ID
allow_collaborators (boolean)
city (string)
country (string)
address (string)
email (string)
email address for the organization
website (string)
phone (string)
tax_country (integer)
0
: USA - EIN Number1
: Canada - CRA Business Number2
: Austria - VAT Number3
: Belgium - VAT Number4
: Bulgaria - VAT Number5
: Croatia - VAT Number6
: Cyprus - VAT Number7
: Czech Republic - VAT Number8
: Denmark - VAT Number9
: Estonia - VAT Number10
: Finland - VAT Number11
: France - VAT Number12
: Germany - VAT Number13
: Greece - VAT Number14
: Hungary - VAT Number15
: Ireland - VAT Number16
: Italy - VAT Number17
: Latvia - VAT Number18
: Lithuania - VAT Number19
: Luxembourg - VAT Number20
: Malta - VAT Number21
: Netherlands - VAT Number22
: Poland - VAT Number23
: Portugal - VAT Number24
: Romania - VAT Number25
: Slovakia - VAT Number26
: Slovenia - VAT Number27
: Spain - VAT Number28
: Sweden - VAT Number29
: United Kingdom and Isle of Man - VAT Number
tax_number (string)
If the tax_country is set to US, then the format is required to be ‘12-3456789’. If the tax_country is Canada, then the format must be ‘123456789 RT 0001’
primary_admin (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
logo_url (string)
status (integer) Permitted values: 0, 1, 2
0
- Inactive1
- Active2
- Invited
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "allow_collaborators": true, "city": "string", "country": "string", "address": "string", "email": "name@example.com", "website": "https://example.com", "phone": "string", "tax_country": 1, "tax_number": "string", "primary_admin": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "logo_url": "https://example.com", "status": 0 }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Resource cannot be found
429 Too Many Requests – Rate limit exceeded
- DELETE /api/organizations/{id}/
Delete an organization. All applications associated with the organization will also be deleted.
Only organization administrators and site administrators with the
Delete users
permission can access this endpoint.- Parameters:
id (integer) – Organization ID
- Status Codes:
204 No Content – Organization deleted
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Resource cannot be found
429 Too Many Requests – Rate limit exceeded
- GET /api/organizations/{id}/members/
Fetch the list of organization members. The list includes both regular members and administrators.
Only organization administrators and site administrators with the
Assume role
permission can access this endpoint.- Parameters:
id (integer) – Organization id
Example request:
GET /api/organizations/{id}/members/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Organization members
Endpoint properties
array of object
first_name (string)
last_name (string)
email (string)
id (integer)
is_admin (boolean)
set to true if member is an administrator
status (integer) Permitted values: 0, 1
0
: Inactive1
: Active
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1, "is_admin": true, "status": 0 } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Organization does not exist
429 Too Many Requests – Rate limit exceeded
- POST /api/organizations/{id}/members/
Add a member to the organization. The member must already be a user in Apply. You can add both admin and non-admin members.
Only organization administrators and site administrators with the
Assume role
permission can access this endpoint.Set the
apply-notify
header totrue
to send the member an email notifying them that they have been invited to the organization.You can use the
apply-notify-message
header to include a custom message in the notify email. Only text messages are supported.- Parameters:
id (integer) – Organization id
Endpoint properties
email (string)
Email address of user to add to the organization
is_admin (boolean)
set to true if member is an administrator
message (string)
custom text for the invitation notification email; html tags will be stripped; DEPRECATED, use the
apply-notify-message
header insteadnotify_user (boolean)
if true the member receives an email notifying them that they have been invited to the organization; DEPRECATED, use the
apply-notify
header insteadstatus (integer) Permitted values: 0, 1
0
: Inactive1
: Active
Example request:
POST /api/organizations/{id}/members/ HTTP/1.1 Host: example.com Content-Type: application/json { "email": "string", "is_admin": true, "message": "string", "notify_user": true, "status": 0 }
- Status Codes:
created
Endpoint properties
first_name (string)
last_name (string)
email (string)
id (integer)
is_admin (boolean)
set to true if member is an administrator
status (integer) Permitted values: 0, 1
0
: Inactive1
: Active
Example response:
HTTP/1.1 201 Created Content-Type: application/json { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1, "is_admin": true, "status": 0 }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/organizations/{organization_id}/members/{id}/
Fetch the user’s organization membership.
Only organization administrators and site administrators with the
Assume role
permission can access this endpoint.- Parameters:
organization_id (integer) – Organization id
id (integer) – User id
Example request:
GET /api/organizations/{organization_id}/members/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Organization membership
Endpoint properties
first_name (string)
last_name (string)
email (string)
id (integer)
is_admin (boolean)
set to true if member is an administrator
status (integer) Permitted values: 0, 1
0
: Inactive1
: Active
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1, "is_admin": true, "status": 0 }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Organization does not exist
429 Too Many Requests – Rate limit exceeded
- PATCH /api/organizations/{organization_id}/members/{id}/
Update a user’s organization membership. Items that can be updated are the membership state and whether the user is an organization admin.
Only organization administrators and site administrators with the
Assume role
permission can access this endpoint.- Parameters:
organization_id (integer) – Organization id
id (integer) – User id
Endpoint properties
is_admin (boolean)
set to true if member is an administrator
status (integer) Permitted values: 0, 1
0
: Inactive1
: Active
Example request:
PATCH /api/organizations/{organization_id}/members/{id}/ HTTP/1.1 Host: example.com Content-Type: application/json { "is_admin": true, "status": 0 }
- Status Codes:
200 OK –
updated
Endpoint properties
first_name (string)
last_name (string)
email (string)
id (integer)
is_admin (boolean)
set to true if member is an administrator
status (integer) Permitted values: 0, 1
0
: Inactive1
: Active
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1, "is_admin": true, "status": 0 }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- DELETE /api/organizations/{organization_id}/members/{id}/
Remove the user from the organization. Organization primary admins cannot be removed. Any applications associated with the user are reassigned to the organization’s primary admin.
Only organization administrators and site administrators with the
Assume role
permission can access this endpoint.- Parameters:
organization_id (integer) – Organization id
id (integer) – User id
- Status Codes:
204 No Content – removed
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/organizations/{id}/teams/
Fetch the list of organization teams.
Only organization administrators and site administrators with the
Assume role
permission can access this endpoint.- Parameters:
id (integer) – Organization id
Example request:
GET /api/organizations/{id}/teams/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Organization teams
Endpoint properties
array of object
name (string)
team name
id (integer)
member’s user id
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "name": "string", "id": 1 } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Organization does not exist
429 Too Many Requests – Rate limit exceeded
- POST /api/organizations/{id}/teams/
Create an organization team.
Only organization administrators and site administrators with the
Assume role
permission can access this endpoint.- Parameters:
id (integer) – Organization id
- Status Codes:
created
Endpoint properties
name (string)
team name
Example response:
HTTP/1.1 201 Created Content-Type: application/json { "name": "string" }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Organization or does not exist
429 Too Many Requests – Rate limit exceeded
- GET /api/organizations/{organization_id}/teams/{id}/
Fetch the organization team.
Only organization administrators and site administrators with the
Assume role
permission can access this endpoint.- Parameters:
organization_id (integer) – Organization id
id (integer) – Team id
Example request:
GET /api/organizations/{organization_id}/teams/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Organization team
Endpoint properties
name (string)
team name
id (integer)
member’s user id
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "name": "string", "id": 1 }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Organization or team does not exist
429 Too Many Requests – Rate limit exceeded
- PATCH /api/organizations/{organization_id}/teams/{id}/
Update an organization team.
Only organization administrators and site administrators with the
Assume role
permission can access this endpoint.- Parameters:
organization_id (integer) – Organization id
id (integer) – Team id
- Status Codes:
200 OK –
updated
Endpoint properties
name (string)
team name
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "name": "string" }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Organization or team does not exist
429 Too Many Requests – Rate limit exceeded
- DELETE /api/organizations/{organization_id}/teams/{id}/
Delete an organization team. Only site and admins and organization admins can delete a team. You can optionally remove all team members, except the organization’s primary admin, from the organization.
Only organization administrators and site administrators with the
Assume role
permission can access this endpoint.- Parameters:
organization_id (integer) – Organization id
id (integer) – Team id
- Query Parameters:
remove_members (integer) – If set to 1, team members will be removed from the organization.
- Status Codes:
204 No Content – Team deleted
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Organization or team does not exist
429 Too Many Requests – Rate limit exceeded
Organization Eligibility
- GET /api/organizations/{id}/eligibility/
Fetch the eligibility responses for an organization. Eligibility responses are only available if the site has enabled eligibility.
Visibility Rules
applicants can see eligibility for organizations where they are the primary admin
recommenders cannot see eligibility responses
reviewers can see eligibility responses if the reviewer is reviewing the organization’s application and the stage has eligibility visible for reviewers
admins can see an organization’s eligibility
- Parameters:
id (integer) – Organization ID
Example request:
GET /api/organizations/{id}/eligibility/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
created_at (string)
timestamp when eligibility was started
updated_at (string)
timestamp of last eligibility update
is_completed (boolean)
if true, eligibility form has been completed
responses (array of object)
id (string)
question identifier; IDs are unique within a task but might be repeated for different tasks
name (string)
text of the question
response (string)
The answer to the question
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "created_at": "2023-02-17T01:28:34.788838", "updated_at": "2023-02-17T01:28:34.788838", "is_completed": true, "responses": [ { "id": "string", "name": "string", "response": "string" } ] }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Organization does not exist
429 Too Many Requests – Rate limit exceeded
- PATCH /api/organizations/{id}/eligibility/
Update the eligibility responses for an organization. Eligibility responses are only available if the site has enabled eligibility. The primary admin for an organization and any admin with the _AssumeRole_ permission can update eligibility responses.
Only organization administrators and site administrators with the
Assume role
permission can access this endpoint.- Parameters:
id (integer) – Organization ID
- Status Codes:
200 OK –
Call was successful
Endpoint properties
created_at (string)
timestamp when eligibility was started
updated_at (string)
timestamp of last eligibility update
is_completed (boolean)
if true, eligibility form has been completed
responses (array of object)
id (string)
question identifier; IDs are unique within a task but might be repeated for different tasks
name (string)
text of the question
response (string)
The answer to the question
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "created_at": "2023-02-17T01:28:34.788838", "updated_at": "2023-02-17T01:28:34.788838", "is_completed": true, "responses": [ { "id": "string", "name": "string", "response": "string" } ] }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Organization does not exist or site does not have eligibility enabled
429 Too Many Requests – Rate limit exceeded
- PUT /api/organizations/{id}/eligibility/
Create the eligibility responses for an organization. Eligibility responses are only available if the site has enabled eligibility. The primary admin for an organization and any admin with the _AssumeRole_ permission can create eligibility responses.
Only organization administrators and site administrators with the
Assume role
permission can access this endpoint.- Parameters:
id (integer) – Organization ID
- Status Codes:
Call was successful
Endpoint properties
created_at (string)
timestamp when eligibility was started
updated_at (string)
timestamp of last eligibility update
is_completed (boolean)
if true, eligibility form has been completed
responses (array of object)
id (string)
question identifier; IDs are unique within a task but might be repeated for different tasks
name (string)
text of the question
response (string)
The answer to the question
Example response:
HTTP/1.1 201 Created Content-Type: application/json { "created_at": "2023-02-17T01:28:34.788838", "updated_at": "2023-02-17T01:28:34.788838", "is_completed": true, "responses": [ { "id": "string", "name": "string", "response": "string" } ] }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Organization does not exist or site does not have eligibility enabled
429 Too Many Requests – Rate limit exceeded
- DELETE /api/organizations/{id}/eligibility/
Remove eligibility responses for the organization.
Only organization administrators and site administrators with the
Assume role
permission can access this endpoint.- Parameters:
id (integer) – Organization ID
- Status Codes:
204 No Content – Responses deleted
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – organization does not exist or eligibility not enabled for the site
429 Too Many Requests – Rate limit exceeded
Payments
- GET /api/payments/
Retrieves a list of payments visible to the caller.
Only administrators with
Award Applications
permission can access this endpoint.Example request:
GET /api/payments/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
id (integer)
ID of the payment
amount (number)
Total amount of money in the payment from all payment sources
created_by (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
created_at (string)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
decision (object)
Application Decision Reference
id (integer)
ID of the award
decision (integer) Permitted values: 0, 1
0
- Awarded1
- Declined
awarded (string)
Value of the award
effective_date (string)
note (string)
note_applicant_visible (boolean)
Whether the note has been made visible to the applicant
status (object)
id (integer)
ID of the status
name (string)
Name of the payment status
sources (array of object)
id (integer)
transaction_id (integer)
transaction_date (string)
amount (number)
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": 1, "amount": 1.0, "created_by": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "created_at": "2023-02-17T01:28:34.788838", "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "decision": { "id": 1, "decision": 0, "awarded": "string" }, "effective_date": "2023-02-17T01:28:34.788838", "note": "string", "note_applicant_visible": true, "status": { "id": 1, "name": "string" }, "sources": [ { "id": 1, "transaction_id": 1, "transaction_date": "2023-02-17T01:28:34.788838", "amount": 1.0 } ] } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/payments/{id}/
Retrieve an individual payment. To see the transactions associated with the payment, use the
/api/financial_transactions/
endpoint.Only administrators with
Award Applications
permission can access this endpoint.- Parameters:
id (integer) – ID
Example request:
GET /api/payments/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
id (integer)
ID of the payment
amount (number)
Total amount of money in the payment from all payment sources
created_by (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
created_at (string)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
decision (object)
Application Decision Reference
id (integer)
ID of the award
decision (integer) Permitted values: 0, 1
0
- Awarded1
- Declined
awarded (string)
Value of the award
effective_date (string)
note (string)
note_applicant_visible (boolean)
Whether the note has been made visible to the applicant
status (object)
id (integer)
ID of the status
name (string)
Name of the payment status
sources (array of object)
id (integer)
transaction_id (integer)
transaction_date (string)
amount (number)
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "amount": 1.0, "created_by": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "created_at": "2023-02-17T01:28:34.788838", "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "decision": { "id": 1, "decision": 0, "awarded": "string" }, "effective_date": "2023-02-17T01:28:34.788838", "note": "string", "note_applicant_visible": true, "status": { "id": 1, "name": "string" }, "sources": [ { "id": 1, "transaction_id": 1, "transaction_date": "2023-02-17T01:28:34.788838", "amount": 1.0 } ] }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – payment does not exist
429 Too Many Requests – Rate limit exceeded
Programs
- GET /api/programs/
Retrieves a list of programs visible to the caller.
You can filter the list by name, launched, active, open_datetime, close_datetime.
Example request:
GET /api/programs/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
allow_collaborators (boolean)
if true, applications can have collaborators
close_datetime (string)
open_datetime (string)
categories (string)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
access (boolean)
active (boolean)
applicant_type (integer) Permitted values: 0, 1, 2
Applicant types permitted to apply
0
: Individuals1
: Organizations2
: Both individuals and organizations
application_prefix (string)
application_title_help (string)
collaborator_domains (array of string)
collaborator_invite_instructions (string)
custom_value (string)
description (string)
edit_after_submit (boolean)
enable_application_limit (boolean)
administrators only
grace_period (integer)
hide_value_from_applicants (boolean)
administrators only
identifier (string)
include_deadline_in_reminders (boolean)
limit_collaborator_domains (boolean)
listing_url (string)
max_applications (integer)
max_value (number)
name (string)
no_application_dates (boolean)
no_close_date (boolean)
number_of_awards (integer)
publicity (boolean)
randomize_application_id (boolean)
require_application_title (boolean)
score_format (integer) Permitted values: 0, 1, 2
Score display format
0
: Percentage1
: Actual2
: Both
launched (boolean)
summary (string)
value (number)
value_type (integer) Permitted values: 0, 2, 3, 4
0
- Exactly; value stored in value2
- Range; values stored in value and max_value3
- None4
- Custom; value stored in custom_value
total (number)
Total amount of money that has been moved into the program budget
allocated (number)
Amount of money from this program that has been allocated to applications
paid (number)
Amount of money from this program that has been paid to applications
balance (number)
Current balance of the program budget
funding_sources (array of object)
id (integer)
ID of the program balance
balance (number)
Current balance in this program from this fund
fund (object)
Fund Reference
id (integer)
ID of the fund
name (string)
Name of the fund
awards_made (integer)
Number of applications in this program that have been awarded
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "allow_collaborators": true, "close_datetime": "2023-02-17T01:28:34.788838", "open_datetime": "2023-02-17T01:28:34.788838", "categories": "string", "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "access": true, "active": true, "applicant_type": 0, "application_prefix": "string", "application_title_help": "string", "collaborator_domains": [ "string" ], "collaborator_invite_instructions": "string", "custom_value": "string", "description": "string", "edit_after_submit": true, "enable_application_limit": true, "grace_period": 1, "hide_value_from_applicants": true, "identifier": "string", "include_deadline_in_reminders": true, "limit_collaborator_domains": true, "listing_url": "string", "max_applications": 1, "max_value": 1.0, "name": "string", "no_application_dates": true, "no_close_date": true, "number_of_awards": 1, "publicity": true, "randomize_application_id": true, "require_application_title": true, "score_format": 0, "launched": true, "summary": "string", "value": 1.0, "value_type": 0, "total": 1.0, "allocated": 1.0, "paid": 1.0, "balance": 1.0, "funding_sources": [ { "id": 1, "balance": 1.0, "fund": { "id": 1, "name": "string" } } ], "awards_made": 1 } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- POST /api/programs/
Create a new program.
Admins need the
Create programs
permission to make this call.Endpoint properties
allow_collaborators (boolean)
if true, applications can have collaborators
close_datetime (string)
open_datetime (string)
categories (string)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
access (boolean)
active (boolean)
applicant_type (integer) Permitted values: 0, 1, 2
Applicant types permitted to apply
0
: Individuals1
: Organizations2
: Both individuals and organizations
application_prefix (string)
application_title_help (string)
collaborator_domains (array of string)
collaborator_invite_instructions (string)
custom_value (string)
description (string)
edit_after_submit (boolean)
enable_application_limit (boolean)
administrators only
grace_period (integer)
hide_value_from_applicants (boolean)
administrators only
identifier (string)
include_deadline_in_reminders (boolean)
limit_collaborator_domains (boolean)
listing_url (string)
max_applications (integer)
max_value (number)
name (string)
no_application_dates (boolean)
no_close_date (boolean)
number_of_awards (integer)
publicity (boolean)
randomize_application_id (boolean)
require_application_title (boolean)
score_format (integer) Permitted values: 0, 1, 2
Score display format
0
: Percentage1
: Actual2
: Both
launched (boolean)
summary (string)
value (number)
value_type (integer) Permitted values: 0, 2, 3, 4
0
- Exactly; value stored in value2
- Range; values stored in value and max_value3
- None4
- Custom; value stored in custom_value
total (number)
Total amount of money that has been moved into the program budget
allocated (number)
Amount of money from this program that has been allocated to applications
paid (number)
Amount of money from this program that has been paid to applications
balance (number)
Current balance of the program budget
funding_sources (array of object)
id (integer)
ID of the program balance
balance (number)
Current balance in this program from this fund
fund (object)
Fund Reference
id (integer)
ID of the fund
name (string)
Name of the fund
awards_made (integer)
Number of applications in this program that have been awarded
Example request:
POST /api/programs/ HTTP/1.1 Host: example.com Content-Type: application/json { "allow_collaborators": true, "close_datetime": "2023-02-17T01:28:34.788838", "open_datetime": "2023-02-17T01:28:34.788838", "categories": "string", "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "access": true, "active": true, "applicant_type": 0, "application_prefix": "string", "application_title_help": "string", "collaborator_domains": [ "string" ], "collaborator_invite_instructions": "string", "custom_value": "string", "description": "string", "edit_after_submit": true, "enable_application_limit": true, "grace_period": 1, "hide_value_from_applicants": true, "identifier": "string", "include_deadline_in_reminders": true, "limit_collaborator_domains": true, "listing_url": "string", "max_applications": 1, "max_value": 1.0, "name": "string", "no_application_dates": true, "no_close_date": true, "number_of_awards": 1, "publicity": true, "randomize_application_id": true, "require_application_title": true, "score_format": 0, "launched": true, "summary": "string", "value": 1.0, "value_type": 0, "total": 1.0, "allocated": 1.0, "paid": 1.0, "balance": 1.0, "funding_sources": [ { "id": 1, "balance": 1.0, "fund": { "id": 1, "name": "string" } } ], "awards_made": 1 }
- Status Codes:
Program created
Endpoint properties
array of object
allow_collaborators (boolean)
if true, applications can have collaborators
close_datetime (string)
open_datetime (string)
categories (string)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
access (boolean)
active (boolean)
applicant_type (integer) Permitted values: 0, 1, 2
Applicant types permitted to apply
0
: Individuals1
: Organizations2
: Both individuals and organizations
application_prefix (string)
application_title_help (string)
collaborator_domains (array of string)
collaborator_invite_instructions (string)
custom_value (string)
description (string)
edit_after_submit (boolean)
enable_application_limit (boolean)
administrators only
grace_period (integer)
hide_value_from_applicants (boolean)
administrators only
identifier (string)
include_deadline_in_reminders (boolean)
limit_collaborator_domains (boolean)
listing_url (string)
max_applications (integer)
max_value (number)
name (string)
no_application_dates (boolean)
no_close_date (boolean)
number_of_awards (integer)
publicity (boolean)
randomize_application_id (boolean)
require_application_title (boolean)
score_format (integer) Permitted values: 0, 1, 2
Score display format
0
: Percentage1
: Actual2
: Both
launched (boolean)
summary (string)
value (number)
value_type (integer) Permitted values: 0, 2, 3, 4
0
- Exactly; value stored in value2
- Range; values stored in value and max_value3
- None4
- Custom; value stored in custom_value
total (number)
Total amount of money that has been moved into the program budget
allocated (number)
Amount of money from this program that has been allocated to applications
paid (number)
Amount of money from this program that has been paid to applications
balance (number)
Current balance of the program budget
funding_sources (array of object)
id (integer)
ID of the program balance
balance (number)
Current balance in this program from this fund
fund (object)
Fund Reference
id (integer)
ID of the fund
name (string)
Name of the fund
awards_made (integer)
Number of applications in this program that have been awarded
Example response:
HTTP/1.1 201 Created Content-Type: application/json [ { "allow_collaborators": true, "close_datetime": "2023-02-17T01:28:34.788838", "open_datetime": "2023-02-17T01:28:34.788838", "categories": "string", "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "access": true, "active": true, "applicant_type": 0, "application_prefix": "string", "application_title_help": "string", "collaborator_domains": [ "string" ], "collaborator_invite_instructions": "string", "custom_value": "string", "description": "string", "edit_after_submit": true, "enable_application_limit": true, "grace_period": 1, "hide_value_from_applicants": true, "identifier": "string", "include_deadline_in_reminders": true, "limit_collaborator_domains": true, "listing_url": "string", "max_applications": 1, "max_value": 1.0, "name": "string", "no_application_dates": true, "no_close_date": true, "number_of_awards": 1, "publicity": true, "randomize_application_id": true, "require_application_title": true, "score_format": 0, "launched": true, "summary": "string", "value": 1.0, "value_type": 0, "total": 1.0, "allocated": 1.0, "paid": 1.0, "balance": 1.0, "funding_sources": [ { "id": 1, "balance": 1.0, "fund": { "id": 1, "name": "string" } } ], "awards_made": 1 } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/programs/{id}/
Fetch details about a single program.
- Parameters:
id (integer) – Program ID
Example request:
GET /api/programs/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
allow_collaborators (boolean)
if true, applications can have collaborators
close_datetime (string)
open_datetime (string)
categories (string)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
access (boolean)
active (boolean)
applicant_type (integer) Permitted values: 0, 1, 2
Applicant types permitted to apply
0
: Individuals1
: Organizations2
: Both individuals and organizations
application_prefix (string)
application_title_help (string)
collaborator_domains (array of string)
collaborator_invite_instructions (string)
custom_value (string)
description (string)
edit_after_submit (boolean)
enable_application_limit (boolean)
administrators only
grace_period (integer)
hide_value_from_applicants (boolean)
administrators only
identifier (string)
include_deadline_in_reminders (boolean)
limit_collaborator_domains (boolean)
listing_url (string)
max_applications (integer)
max_value (number)
name (string)
no_application_dates (boolean)
no_close_date (boolean)
number_of_awards (integer)
publicity (boolean)
randomize_application_id (boolean)
require_application_title (boolean)
score_format (integer) Permitted values: 0, 1, 2
Score display format
0
: Percentage1
: Actual2
: Both
launched (boolean)
summary (string)
value (number)
value_type (integer) Permitted values: 0, 2, 3, 4
0
- Exactly; value stored in value2
- Range; values stored in value and max_value3
- None4
- Custom; value stored in custom_value
total (number)
Total amount of money that has been moved into the program budget
allocated (number)
Amount of money from this program that has been allocated to applications
paid (number)
Amount of money from this program that has been paid to applications
balance (number)
Current balance of the program budget
funding_sources (array of object)
id (integer)
ID of the program balance
balance (number)
Current balance in this program from this fund
fund (object)
Fund Reference
id (integer)
ID of the fund
name (string)
Name of the fund
awards_made (integer)
Number of applications in this program that have been awarded
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "allow_collaborators": true, "close_datetime": "2023-02-17T01:28:34.788838", "open_datetime": "2023-02-17T01:28:34.788838", "categories": "string", "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "access": true, "active": true, "applicant_type": 0, "application_prefix": "string", "application_title_help": "string", "collaborator_domains": [ "string" ], "collaborator_invite_instructions": "string", "custom_value": "string", "description": "string", "edit_after_submit": true, "enable_application_limit": true, "grace_period": 1, "hide_value_from_applicants": true, "identifier": "string", "include_deadline_in_reminders": true, "limit_collaborator_domains": true, "listing_url": "string", "max_applications": 1, "max_value": 1.0, "name": "string", "no_application_dates": true, "no_close_date": true, "number_of_awards": 1, "publicity": true, "randomize_application_id": true, "require_application_title": true, "score_format": 0, "launched": true, "summary": "string", "value": 1.0, "value_type": 0, "total": 1.0, "allocated": 1.0, "paid": 1.0, "balance": 1.0, "funding_sources": [ { "id": 1, "balance": 1.0, "fund": { "id": 1, "name": "string" } } ], "awards_made": 1 }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Program does not exist
429 Too Many Requests – Rate limit exceeded
- PATCH /api/programs/{id}/
Update an existing program.
Admins need the
Edit program settings
permission to make this call.- Parameters:
id (integer) – Program ID
Endpoint properties
allow_collaborators (boolean)
if true, applications can have collaborators
close_datetime (string)
open_datetime (string)
categories (string)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
access (boolean)
active (boolean)
applicant_type (integer) Permitted values: 0, 1, 2
Applicant types permitted to apply
0
: Individuals1
: Organizations2
: Both individuals and organizations
application_prefix (string)
application_title_help (string)
collaborator_domains (array of string)
collaborator_invite_instructions (string)
custom_value (string)
description (string)
edit_after_submit (boolean)
enable_application_limit (boolean)
administrators only
grace_period (integer)
hide_value_from_applicants (boolean)
administrators only
identifier (string)
include_deadline_in_reminders (boolean)
limit_collaborator_domains (boolean)
listing_url (string)
max_applications (integer)
max_value (number)
name (string)
no_application_dates (boolean)
no_close_date (boolean)
number_of_awards (integer)
publicity (boolean)
randomize_application_id (boolean)
require_application_title (boolean)
score_format (integer) Permitted values: 0, 1, 2
Score display format
0
: Percentage1
: Actual2
: Both
launched (boolean)
summary (string)
value (number)
value_type (integer) Permitted values: 0, 2, 3, 4
0
- Exactly; value stored in value2
- Range; values stored in value and max_value3
- None4
- Custom; value stored in custom_value
total (number)
Total amount of money that has been moved into the program budget
allocated (number)
Amount of money from this program that has been allocated to applications
paid (number)
Amount of money from this program that has been paid to applications
balance (number)
Current balance of the program budget
funding_sources (array of object)
id (integer)
ID of the program balance
balance (number)
Current balance in this program from this fund
fund (object)
Fund Reference
id (integer)
ID of the fund
name (string)
Name of the fund
awards_made (integer)
Number of applications in this program that have been awarded
Example request:
PATCH /api/programs/{id}/ HTTP/1.1 Host: example.com Content-Type: application/json { "allow_collaborators": true, "close_datetime": "2023-02-17T01:28:34.788838", "open_datetime": "2023-02-17T01:28:34.788838", "categories": "string", "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "access": true, "active": true, "applicant_type": 0, "application_prefix": "string", "application_title_help": "string", "collaborator_domains": [ "string" ], "collaborator_invite_instructions": "string", "custom_value": "string", "description": "string", "edit_after_submit": true, "enable_application_limit": true, "grace_period": 1, "hide_value_from_applicants": true, "identifier": "string", "include_deadline_in_reminders": true, "limit_collaborator_domains": true, "listing_url": "string", "max_applications": 1, "max_value": 1.0, "name": "string", "no_application_dates": true, "no_close_date": true, "number_of_awards": 1, "publicity": true, "randomize_application_id": true, "require_application_title": true, "score_format": 0, "launched": true, "summary": "string", "value": 1.0, "value_type": 0, "total": 1.0, "allocated": 1.0, "paid": 1.0, "balance": 1.0, "funding_sources": [ { "id": 1, "balance": 1.0, "fund": { "id": 1, "name": "string" } } ], "awards_made": 1 }
- Status Codes:
200 OK –
Program updated
Endpoint properties
array of object
allow_collaborators (boolean)
if true, applications can have collaborators
close_datetime (string)
open_datetime (string)
categories (string)
custom_fields (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
access (boolean)
active (boolean)
applicant_type (integer) Permitted values: 0, 1, 2
Applicant types permitted to apply
0
: Individuals1
: Organizations2
: Both individuals and organizations
application_prefix (string)
application_title_help (string)
collaborator_domains (array of string)
collaborator_invite_instructions (string)
custom_value (string)
description (string)
edit_after_submit (boolean)
enable_application_limit (boolean)
administrators only
grace_period (integer)
hide_value_from_applicants (boolean)
administrators only
identifier (string)
include_deadline_in_reminders (boolean)
limit_collaborator_domains (boolean)
listing_url (string)
max_applications (integer)
max_value (number)
name (string)
no_application_dates (boolean)
no_close_date (boolean)
number_of_awards (integer)
publicity (boolean)
randomize_application_id (boolean)
require_application_title (boolean)
score_format (integer) Permitted values: 0, 1, 2
Score display format
0
: Percentage1
: Actual2
: Both
launched (boolean)
summary (string)
value (number)
value_type (integer) Permitted values: 0, 2, 3, 4
0
- Exactly; value stored in value2
- Range; values stored in value and max_value3
- None4
- Custom; value stored in custom_value
total (number)
Total amount of money that has been moved into the program budget
allocated (number)
Amount of money from this program that has been allocated to applications
paid (number)
Amount of money from this program that has been paid to applications
balance (number)
Current balance of the program budget
funding_sources (array of object)
id (integer)
ID of the program balance
balance (number)
Current balance in this program from this fund
fund (object)
Fund Reference
id (integer)
ID of the fund
name (string)
Name of the fund
awards_made (integer)
Number of applications in this program that have been awarded
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "allow_collaborators": true, "close_datetime": "2023-02-17T01:28:34.788838", "open_datetime": "2023-02-17T01:28:34.788838", "categories": "string", "custom_fields": [ { "id": 1, "name": "string", "value": "string" } ], "access": true, "active": true, "applicant_type": 0, "application_prefix": "string", "application_title_help": "string", "collaborator_domains": [ "string" ], "collaborator_invite_instructions": "string", "custom_value": "string", "description": "string", "edit_after_submit": true, "enable_application_limit": true, "grace_period": 1, "hide_value_from_applicants": true, "identifier": "string", "include_deadline_in_reminders": true, "limit_collaborator_domains": true, "listing_url": "string", "max_applications": 1, "max_value": 1.0, "name": "string", "no_application_dates": true, "no_close_date": true, "number_of_awards": 1, "publicity": true, "randomize_application_id": true, "require_application_title": true, "score_format": 0, "launched": true, "summary": "string", "value": 1.0, "value_type": 0, "total": 1.0, "allocated": 1.0, "paid": 1.0, "balance": 1.0, "funding_sources": [ { "id": 1, "balance": 1.0, "fund": { "id": 1, "name": "string" } } ], "awards_made": 1 } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Resource cannot be found
429 Too Many Requests – Rate limit exceeded
- DELETE /api/programs/{id}/
Delete a program.
Admins need the
Delete program
permission to make this call.- Parameters:
id (integer) – Program ID
- Status Codes:
204 No Content – Program deleted
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Resource cannot be found
429 Too Many Requests – Rate limit exceeded
Reports
- GET /api/reports/
Fetches the list of reports defined for the site.
Administrators need the
Reports
permission to make this call.- Query Parameters:
created_by (integer) – limit reports to a specific admin
last_generated_at (string) – limit reports based on their last generated timestamp
program (integer) – limit reports to a specific program
status (integer) – limit reports to a specific status
source (integer) – limit reports to a specific source
name (string) – limit reports to a specific name
id (integer) – limit reports to a specific id
Example request:
GET /api/reports/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
id (integer)
created_at (string)
created_by (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
columns (array of string)
The list of variables for the columns in the report. In the description of the variables, the text in “” is the column label that is used in the exported report. The possible variables are:
Program Variables
These variables are not valid in user reports.
program.balance
: “Balance”program.category
: “Category”program.deadline
: “Deadline”program.id
: “Program System ID”. Use this ID for making /api/programs/{id}/ calls.program.name
: “Program Name”program.open_at
: “Open Date”
Organization Variables
organization.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.organization.address
: “Organization Address”organization.city
: “Organization City”organization.country
: “Organization Country”organization.email
: “Organization Email”organization.id
: “Organization System ID”. Use this ID for making /api/organizations/{id}/ callsorganization.members
: “Organization Members”organization.name
: “Organization Name”organization.phone
: “Organization Phone Number”organization.primary_admin
: “Organization Primary Admin”organization.website
: “Organization Website”
User Variables
These are used in user reports. Applicants, reviewers, and recommenders have their own version when user data is included in application, review, or recommendation reports.
user.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.user.email
: “User Email Address”user.email_verified
: “Email Verified”user.first_login
: “First Login”user.first_name
: “User First Name”user.id
: “User System ID”. Use this ID for making /api/user/{id}/ callsuser.language
: “Preferred Language”user.last_login
: “Last Login”user.last_name
: “User Last Name”user.number_of_application_memberships
: “Collaborator to Applications (Count)”user.number_of_applications
: “Application Count”user.number_of_assignments
: “Number of Reviewer Assignments”user.number_of_conflicts
: “Number of Reviewer Conflicts”user.organizations
: “Organizations Affiliated With”user.programs_applied_to
: “Programs Applied To”user.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
user.timezone
: “Timezone”user.total_awarded
: “Total Awarded to User”
Recommendation Variables
recommender.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.recommender.email
: “Recommender Email Address”recommender.email_verified
: “Email Verified”recommender.first_login
: “Recommender First Login”recommender.first_name
: “Recommender First Name”recommender.id
: “Recommender System ID”. Use this ID for making /api/user/{id}/ callsrecommender.last_login
: “Recommender Last Login”recommender.last_name
: “Recommender Last Name”recommender.language
: Recommender’s “Preferred Language”recommender.number_of_recommendations
: “Number of Recommendations (total)”recommender.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
recommender.timezone
: Recommender’s “Timezone”
Review Variables
reviewer.assignment_completion
: “Assignment Completion Progress (across all stages)”reviewer.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.reviewer.email
: “Reviewer Email Address”reviewer.email_verified
: “Email Verified”reviewer.first_login
: “Reviewer First Login”reviewer.first_name
: “Reviewer First Name”reviewer.id
: “Reviewer System ID”. Use this ID for making /api/user/{id}/ callsreviewer.last_login
: “Reviewer Last Login”reviewer.last_name
: “Reviewer Last Name”reviewer.language
: “Preferred Language”reviewer.number_of_assignments
: “Number of Reviewer Assignments (total)”reviewer.number_of_conflicts
: “Number of Reviewer Conflicts (total)”. Note that conflicts are registered with applicants, not applications.reviewer.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
reviewer.timezone
: “Timezone”
Applicant Variables
These variables appear in the application report. A subset can also appear in the review, and recommendation reports.
applicant.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.applicant.email
: “Applicant Email Address”applicant.email_verified
: “Email Verified”applicant.first_login
: “Applicant First Login”applicant.first_name
: “Applicant First Name”applicant.id
: “Applicant System ID”. Use this ID for making /api/user/{id}/ callsapplicant.last_login
: “Applicant Last Login”applicant.last_name
: “Applicant Last Name”applicant.language
: “Preferred Language”applicant.number_of_application_memberships
: “Collaborator to Applications (Count)”applicant.number_of_applications
: “Application Count”applicant.organizations
: “Organizations Affiliated With”applicant.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
applicant.timezone
: “Timezone”
Application Variables
These variables appear in the application report. A subset can also appear in the review, and recommendation reports.
application.applicant_decision
: “Decision by Applicant”application.average_score
: “Review Score: Average (across all stages)”application.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.application.collaborators
: “Collaborators”application.completed_recommendations
: “Number of completed Recommendations”application.completed_reviews
: “Number of completed Reviews”application.created_at
: “Date created”application.cumulative_score
: “Review Score: Cumulative (across all stages)”application.decision
: “Decision by Admin”application.id
: “Application System ID”. Use this ID for making /api/applications/{id}/ callsapplication.labels
: “Current Label(s)”application.last_submitted_at
: “Date last submitted”application.reference_id
: “Application ID”application.reviewer_task_{id}_review_score_percentage
: The reviewer’s percentage score for task {id} for the application.application.reviewer_task_{id}_review_score
: The reviewer’s score for task {id} for the application.application.stage
: “Current Stage”application.state
: “Current State”application.status
: “Current Status”application.title
: “Application Title”application.total_awarded
: “Total Awarded to Application”
Task Variables
These variables appear in the application, review, and recommendation reports. For task variables, the task ID follows task.. For example task.17_completion is the completion state for task 17. You can fetch the task details using /api/tasks/{id}/ .
Form responses take the form of
application.{question}
where question identifies the task and question id. For example,application.survey_73_xNO50LQ8c5
refers to question xNO50LQ8c5 from task 73. You can find the question IDs using /api/tasks/ . Using our example, call /api/tasks/73/ to retrieve the task. Thefields
property will have an entry forxNO50LQ8c5
. The column label for these fields will be thename
entry in the field description.application.{id}
: Form responsetask.{id}_completion
: Task completion statustask.{id}_completedat
: Task completion timestamp
download_link (string)
This is blank if there is no report to download
last_error_message (string)
last_generated_at (string)
This is blank if the report has never been generated
job_id (string)
This is the ID of the job that is generating the report. If this is blank then the reporting is not being generated
name (string)
report_filename (string)
File name for the report
file_size (integer)
program (object)
id (integer)
program ID
name (string)
program name
source (integer) Permitted values: 0, 1, 2, 3
0
: Applications1
: Reviews2
: Recommendations3
: Users
status (integer) Permitted values: 0, 1, 2, 3, 4, 5
0
: Created1
: Queued2
: Generating3
: Generated4
: Error5
: Canceled
row (integer)
The current row number being generated by the report
total_rows (integer)
The total number of rows in the report
filter (object)
type (string)
Must be
AND
items (array of object)
predicate (string) Permitted values: before, after, greaterthan, lessthan, startswith, equals, notequals, contains, doesnotcontain, containsoneof, notcontainsoneof, hasresponse, noresponse, True, False
value (string)
variable (string)
An ID which represents the variable being filtered on. Note that not all filters are supported on all report types. Supported variables are:
Application report filters:
0
: current stage3:{id}
: completed task matching id7
: current label(s)12
: number of completed reviews15:{id}
: custom fields for applicants, organizations and applications.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field21
: assigned to team22
: assigned to reviewer42
: current status43
: number of completed recommendations54
: applicant decision55
: administrator decision58
: submit date59
: current state60
: created date61
: number of collaborators62
: total awarded
Review report filters:
0
: application current stage7
: application current label(s)15:{id}
: custom fields for applicants, organizations, applications and reviewers.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field42
: application current status59
: application current state64
: number of reviewer conflicts70
: number of reviewer assignments
Recommendation filters:
0
: application current stage7
: application current label(s)15:{id}
: custom fields for applicants, organizations, applications and recommenders.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field42
: application current status59
: application current state71
: number of recommender recommendations (total)72:{id}
: recommendation is completed.id
is the recommendation task ID73:{id}
: recommendation last updated at.id
is the recommendation task ID
User report filters:
15:{id}
: custom fields for applicants, organizations, reviewers, and recommenders.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field31
: user has role63
: eligibility quiz completed65
: has applications66
: has review assignments67
: has recommendation requests68
: has been awarded69
: has been declined
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": 1, "created_at": "2023-02-17T01:28:34.788838", "created_by": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "columns": [ "string" ], "download_link": "string", "last_error_message": "string", "last_generated_at": "2023-02-17T01:28:34.788838", "job_id": "string", "name": "string", "report_filename": "string", "file_size": 1, "program": { "id": 1, "name": "string" }, "source": 0, "status": 0, "row": 1, "total_rows": 1, "filter": { "type": "string", "items": [ { "predicate": "before", "value": "string", "variable": "string" } ] } } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- POST /api/reports/
Create a new report. The report’s source and program cannot be changed after it is created.
Admins need the
Reports
permission to make this call.Endpoint properties
columns (array of string)
The list of variables for the columns in the report. In the description of the variables, the text in “” is the column label that is used in the exported report. The possible variables are:
Program Variables
These variables are not valid in user reports.
program.balance
: “Balance”program.category
: “Category”program.deadline
: “Deadline”program.id
: “Program System ID”. Use this ID for making /api/programs/{id}/ calls.program.name
: “Program Name”program.open_at
: “Open Date”
Organization Variables
organization.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.organization.address
: “Organization Address”organization.city
: “Organization City”organization.country
: “Organization Country”organization.email
: “Organization Email”organization.id
: “Organization System ID”. Use this ID for making /api/organizations/{id}/ callsorganization.members
: “Organization Members”organization.name
: “Organization Name”organization.phone
: “Organization Phone Number”organization.primary_admin
: “Organization Primary Admin”organization.website
: “Organization Website”
User Variables
These are used in user reports. Applicants, reviewers, and recommenders have their own version when user data is included in application, review, or recommendation reports.
user.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.user.email
: “User Email Address”user.email_verified
: “Email Verified”user.first_login
: “First Login”user.first_name
: “User First Name”user.id
: “User System ID”. Use this ID for making /api/user/{id}/ callsuser.language
: “Preferred Language”user.last_login
: “Last Login”user.last_name
: “User Last Name”user.number_of_application_memberships
: “Collaborator to Applications (Count)”user.number_of_applications
: “Application Count”user.number_of_assignments
: “Number of Reviewer Assignments”user.number_of_conflicts
: “Number of Reviewer Conflicts”user.organizations
: “Organizations Affiliated With”user.programs_applied_to
: “Programs Applied To”user.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
user.timezone
: “Timezone”user.total_awarded
: “Total Awarded to User”
Recommendation Variables
recommender.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.recommender.email
: “Recommender Email Address”recommender.email_verified
: “Email Verified”recommender.first_login
: “Recommender First Login”recommender.first_name
: “Recommender First Name”recommender.id
: “Recommender System ID”. Use this ID for making /api/user/{id}/ callsrecommender.last_login
: “Recommender Last Login”recommender.last_name
: “Recommender Last Name”recommender.language
: Recommender’s “Preferred Language”recommender.number_of_recommendations
: “Number of Recommendations (total)”recommender.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
recommender.timezone
: Recommender’s “Timezone”
Review Variables
reviewer.assignment_completion
: “Assignment Completion Progress (across all stages)”reviewer.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.reviewer.email
: “Reviewer Email Address”reviewer.email_verified
: “Email Verified”reviewer.first_login
: “Reviewer First Login”reviewer.first_name
: “Reviewer First Name”reviewer.id
: “Reviewer System ID”. Use this ID for making /api/user/{id}/ callsreviewer.last_login
: “Reviewer Last Login”reviewer.last_name
: “Reviewer Last Name”reviewer.language
: “Preferred Language”reviewer.number_of_assignments
: “Number of Reviewer Assignments (total)”reviewer.number_of_conflicts
: “Number of Reviewer Conflicts (total)”. Note that conflicts are registered with applicants, not applications.reviewer.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
reviewer.timezone
: “Timezone”
Applicant Variables
These variables appear in the application report. A subset can also appear in the review, and recommendation reports.
applicant.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.applicant.email
: “Applicant Email Address”applicant.email_verified
: “Email Verified”applicant.first_login
: “Applicant First Login”applicant.first_name
: “Applicant First Name”applicant.id
: “Applicant System ID”. Use this ID for making /api/user/{id}/ callsapplicant.last_login
: “Applicant Last Login”applicant.last_name
: “Applicant Last Name”applicant.language
: “Preferred Language”applicant.number_of_application_memberships
: “Collaborator to Applications (Count)”applicant.number_of_applications
: “Application Count”applicant.organizations
: “Organizations Affiliated With”applicant.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
applicant.timezone
: “Timezone”
Application Variables
These variables appear in the application report. A subset can also appear in the review, and recommendation reports.
application.applicant_decision
: “Decision by Applicant”application.average_score
: “Review Score: Average (across all stages)”application.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.application.collaborators
: “Collaborators”application.completed_recommendations
: “Number of completed Recommendations”application.completed_reviews
: “Number of completed Reviews”application.created_at
: “Date created”application.cumulative_score
: “Review Score: Cumulative (across all stages)”application.decision
: “Decision by Admin”application.id
: “Application System ID”. Use this ID for making /api/applications/{id}/ callsapplication.labels
: “Current Label(s)”application.last_submitted_at
: “Date last submitted”application.reference_id
: “Application ID”application.reviewer_task_{id}_review_score_percentage
: The reviewer’s percentage score for task {id} for the application.application.reviewer_task_{id}_review_score
: The reviewer’s score for task {id} for the application.application.stage
: “Current Stage”application.state
: “Current State”application.status
: “Current Status”application.title
: “Application Title”application.total_awarded
: “Total Awarded to Application”
Task Variables
These variables appear in the application, review, and recommendation reports. For task variables, the task ID follows task.. For example task.17_completion is the completion state for task 17. You can fetch the task details using /api/tasks/{id}/ .
Form responses take the form of
application.{question}
where question identifies the task and question id. For example,application.survey_73_xNO50LQ8c5
refers to question xNO50LQ8c5 from task 73. You can find the question IDs using /api/tasks/ . Using our example, call /api/tasks/73/ to retrieve the task. Thefields
property will have an entry forxNO50LQ8c5
. The column label for these fields will be thename
entry in the field description.application.{id}
: Form responsetask.{id}_completion
: Task completion statustask.{id}_completedat
: Task completion timestamp
name (string)
The report name must be unique.
program (integer)
ID for the program. Application, Review, and Recommendation reports require a program be specified. User reports require that no program is specified.
source (integer) Permitted values: 0, 1, 2, 3
0
: Applications1
: Reviews2
: Recommendations3
: Users
filter (object)
type (string)
Must be
AND
items (array of object)
predicate (string) Permitted values: before, after, greaterthan, lessthan, startswith, equals, notequals, contains, doesnotcontain, containsoneof, notcontainsoneof, hasresponse, noresponse, True, False
value (string)
variable (string)
An ID which represents the variable being filtered on. Note that not all filters are supported on all report types. Supported variables are:
Application report filters:
0
: current stage3:{id}
: completed task matching id7
: current label(s)12
: number of completed reviews15:{id}
: custom fields for applicants, organizations and applications.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field21
: assigned to team22
: assigned to reviewer42
: current status43
: number of completed recommendations54
: applicant decision55
: administrator decision58
: submit date59
: current state60
: created date61
: number of collaborators62
: total awarded
Review report filters:
0
: application current stage7
: application current label(s)15:{id}
: custom fields for applicants, organizations, applications and reviewers.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field42
: application current status59
: application current state64
: number of reviewer conflicts70
: number of reviewer assignments
Recommendation filters:
0
: application current stage7
: application current label(s)15:{id}
: custom fields for applicants, organizations, applications and recommenders.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field42
: application current status59
: application current state71
: number of recommender recommendations (total)72:{id}
: recommendation is completed.id
is the recommendation task ID73:{id}
: recommendation last updated at.id
is the recommendation task ID
User report filters:
15:{id}
: custom fields for applicants, organizations, reviewers, and recommenders.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field31
: user has role63
: eligibility quiz completed65
: has applications66
: has review assignments67
: has recommendation requests68
: has been awarded69
: has been declined
Example request:
POST /api/reports/ HTTP/1.1 Host: example.com Content-Type: application/json { "columns": [ "string" ], "name": "string", "program": 1, "source": 0, "filter": { "type": "string", "items": [ { "predicate": "before", "value": "string", "variable": "string" } ] } }
- Status Codes:
Report created
Endpoint properties
id (integer)
created_at (string)
created_by (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
columns (array of string)
The list of variables for the columns in the report. In the description of the variables, the text in “” is the column label that is used in the exported report. The possible variables are:
Program Variables
These variables are not valid in user reports.
program.balance
: “Balance”program.category
: “Category”program.deadline
: “Deadline”program.id
: “Program System ID”. Use this ID for making /api/programs/{id}/ calls.program.name
: “Program Name”program.open_at
: “Open Date”
Organization Variables
organization.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.organization.address
: “Organization Address”organization.city
: “Organization City”organization.country
: “Organization Country”organization.email
: “Organization Email”organization.id
: “Organization System ID”. Use this ID for making /api/organizations/{id}/ callsorganization.members
: “Organization Members”organization.name
: “Organization Name”organization.phone
: “Organization Phone Number”organization.primary_admin
: “Organization Primary Admin”organization.website
: “Organization Website”
User Variables
These are used in user reports. Applicants, reviewers, and recommenders have their own version when user data is included in application, review, or recommendation reports.
user.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.user.email
: “User Email Address”user.email_verified
: “Email Verified”user.first_login
: “First Login”user.first_name
: “User First Name”user.id
: “User System ID”. Use this ID for making /api/user/{id}/ callsuser.language
: “Preferred Language”user.last_login
: “Last Login”user.last_name
: “User Last Name”user.number_of_application_memberships
: “Collaborator to Applications (Count)”user.number_of_applications
: “Application Count”user.number_of_assignments
: “Number of Reviewer Assignments”user.number_of_conflicts
: “Number of Reviewer Conflicts”user.organizations
: “Organizations Affiliated With”user.programs_applied_to
: “Programs Applied To”user.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
user.timezone
: “Timezone”user.total_awarded
: “Total Awarded to User”
Recommendation Variables
recommender.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.recommender.email
: “Recommender Email Address”recommender.email_verified
: “Email Verified”recommender.first_login
: “Recommender First Login”recommender.first_name
: “Recommender First Name”recommender.id
: “Recommender System ID”. Use this ID for making /api/user/{id}/ callsrecommender.last_login
: “Recommender Last Login”recommender.last_name
: “Recommender Last Name”recommender.language
: Recommender’s “Preferred Language”recommender.number_of_recommendations
: “Number of Recommendations (total)”recommender.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
recommender.timezone
: Recommender’s “Timezone”
Review Variables
reviewer.assignment_completion
: “Assignment Completion Progress (across all stages)”reviewer.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.reviewer.email
: “Reviewer Email Address”reviewer.email_verified
: “Email Verified”reviewer.first_login
: “Reviewer First Login”reviewer.first_name
: “Reviewer First Name”reviewer.id
: “Reviewer System ID”. Use this ID for making /api/user/{id}/ callsreviewer.last_login
: “Reviewer Last Login”reviewer.last_name
: “Reviewer Last Name”reviewer.language
: “Preferred Language”reviewer.number_of_assignments
: “Number of Reviewer Assignments (total)”reviewer.number_of_conflicts
: “Number of Reviewer Conflicts (total)”. Note that conflicts are registered with applicants, not applications.reviewer.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
reviewer.timezone
: “Timezone”
Applicant Variables
These variables appear in the application report. A subset can also appear in the review, and recommendation reports.
applicant.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.applicant.email
: “Applicant Email Address”applicant.email_verified
: “Email Verified”applicant.first_login
: “Applicant First Login”applicant.first_name
: “Applicant First Name”applicant.id
: “Applicant System ID”. Use this ID for making /api/user/{id}/ callsapplicant.last_login
: “Applicant Last Login”applicant.last_name
: “Applicant Last Name”applicant.language
: “Preferred Language”applicant.number_of_application_memberships
: “Collaborator to Applications (Count)”applicant.number_of_applications
: “Application Count”applicant.organizations
: “Organizations Affiliated With”applicant.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
applicant.timezone
: “Timezone”
Application Variables
These variables appear in the application report. A subset can also appear in the review, and recommendation reports.
application.applicant_decision
: “Decision by Applicant”application.average_score
: “Review Score: Average (across all stages)”application.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.application.collaborators
: “Collaborators”application.completed_recommendations
: “Number of completed Recommendations”application.completed_reviews
: “Number of completed Reviews”application.created_at
: “Date created”application.cumulative_score
: “Review Score: Cumulative (across all stages)”application.decision
: “Decision by Admin”application.id
: “Application System ID”. Use this ID for making /api/applications/{id}/ callsapplication.labels
: “Current Label(s)”application.last_submitted_at
: “Date last submitted”application.reference_id
: “Application ID”application.reviewer_task_{id}_review_score_percentage
: The reviewer’s percentage score for task {id} for the application.application.reviewer_task_{id}_review_score
: The reviewer’s score for task {id} for the application.application.stage
: “Current Stage”application.state
: “Current State”application.status
: “Current Status”application.title
: “Application Title”application.total_awarded
: “Total Awarded to Application”
Task Variables
These variables appear in the application, review, and recommendation reports. For task variables, the task ID follows task.. For example task.17_completion is the completion state for task 17. You can fetch the task details using /api/tasks/{id}/ .
Form responses take the form of
application.{question}
where question identifies the task and question id. For example,application.survey_73_xNO50LQ8c5
refers to question xNO50LQ8c5 from task 73. You can find the question IDs using /api/tasks/ . Using our example, call /api/tasks/73/ to retrieve the task. Thefields
property will have an entry forxNO50LQ8c5
. The column label for these fields will be thename
entry in the field description.application.{id}
: Form responsetask.{id}_completion
: Task completion statustask.{id}_completedat
: Task completion timestamp
download_link (string)
This is blank if there is no report to download
last_error_message (string)
last_generated_at (string)
This is blank if the report has never been generated
job_id (string)
This is the ID of the job that is generating the report. If this is blank then the reporting is not being generated
name (string)
report_filename (string)
File name for the report
file_size (integer)
program (object)
id (integer)
program ID
name (string)
program name
source (integer) Permitted values: 0, 1, 2, 3
0
: Applications1
: Reviews2
: Recommendations3
: Users
status (integer) Permitted values: 0, 1, 2, 3, 4, 5
0
: Created1
: Queued2
: Generating3
: Generated4
: Error5
: Canceled
row (integer)
The current row number being generated by the report
total_rows (integer)
The total number of rows in the report
filter (object)
type (string)
Must be
AND
items (array of object)
predicate (string) Permitted values: before, after, greaterthan, lessthan, startswith, equals, notequals, contains, doesnotcontain, containsoneof, notcontainsoneof, hasresponse, noresponse, True, False
value (string)
variable (string)
An ID which represents the variable being filtered on. Note that not all filters are supported on all report types. Supported variables are:
Application report filters:
0
: current stage3:{id}
: completed task matching id7
: current label(s)12
: number of completed reviews15:{id}
: custom fields for applicants, organizations and applications.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field21
: assigned to team22
: assigned to reviewer42
: current status43
: number of completed recommendations54
: applicant decision55
: administrator decision58
: submit date59
: current state60
: created date61
: number of collaborators62
: total awarded
Review report filters:
0
: application current stage7
: application current label(s)15:{id}
: custom fields for applicants, organizations, applications and reviewers.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field42
: application current status59
: application current state64
: number of reviewer conflicts70
: number of reviewer assignments
Recommendation filters:
0
: application current stage7
: application current label(s)15:{id}
: custom fields for applicants, organizations, applications and recommenders.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field42
: application current status59
: application current state71
: number of recommender recommendations (total)72:{id}
: recommendation is completed.id
is the recommendation task ID73:{id}
: recommendation last updated at.id
is the recommendation task ID
User report filters:
15:{id}
: custom fields for applicants, organizations, reviewers, and recommenders.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field31
: user has role63
: eligibility quiz completed65
: has applications66
: has review assignments67
: has recommendation requests68
: has been awarded69
: has been declined
Example response:
HTTP/1.1 201 Created Content-Type: application/json { "id": 1, "created_at": "2023-02-17T01:28:34.788838", "created_by": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "columns": [ "string" ], "download_link": "string", "last_error_message": "string", "last_generated_at": "2023-02-17T01:28:34.788838", "job_id": "string", "name": "string", "report_filename": "string", "file_size": 1, "program": { "id": 1, "name": "string" }, "source": 0, "status": 0, "row": 1, "total_rows": 1, "filter": { "type": "string", "items": [ { "predicate": "before", "value": "string", "variable": "string" } ] } }
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/reports/{id}/
Retrieves detailed information about a report.
Administrators need the
Reports
permission to make this call.- Parameters:
id (integer) – ID
Example request:
GET /api/reports/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
id (integer)
created_at (string)
created_by (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
columns (array of string)
The list of variables for the columns in the report. In the description of the variables, the text in “” is the column label that is used in the exported report. The possible variables are:
Program Variables
These variables are not valid in user reports.
program.balance
: “Balance”program.category
: “Category”program.deadline
: “Deadline”program.id
: “Program System ID”. Use this ID for making /api/programs/{id}/ calls.program.name
: “Program Name”program.open_at
: “Open Date”
Organization Variables
organization.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.organization.address
: “Organization Address”organization.city
: “Organization City”organization.country
: “Organization Country”organization.email
: “Organization Email”organization.id
: “Organization System ID”. Use this ID for making /api/organizations/{id}/ callsorganization.members
: “Organization Members”organization.name
: “Organization Name”organization.phone
: “Organization Phone Number”organization.primary_admin
: “Organization Primary Admin”organization.website
: “Organization Website”
User Variables
These are used in user reports. Applicants, reviewers, and recommenders have their own version when user data is included in application, review, or recommendation reports.
user.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.user.email
: “User Email Address”user.email_verified
: “Email Verified”user.first_login
: “First Login”user.first_name
: “User First Name”user.id
: “User System ID”. Use this ID for making /api/user/{id}/ callsuser.language
: “Preferred Language”user.last_login
: “Last Login”user.last_name
: “User Last Name”user.number_of_application_memberships
: “Collaborator to Applications (Count)”user.number_of_applications
: “Application Count”user.number_of_assignments
: “Number of Reviewer Assignments”user.number_of_conflicts
: “Number of Reviewer Conflicts”user.organizations
: “Organizations Affiliated With”user.programs_applied_to
: “Programs Applied To”user.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
user.timezone
: “Timezone”user.total_awarded
: “Total Awarded to User”
Recommendation Variables
recommender.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.recommender.email
: “Recommender Email Address”recommender.email_verified
: “Email Verified”recommender.first_login
: “Recommender First Login”recommender.first_name
: “Recommender First Name”recommender.id
: “Recommender System ID”. Use this ID for making /api/user/{id}/ callsrecommender.last_login
: “Recommender Last Login”recommender.last_name
: “Recommender Last Name”recommender.language
: Recommender’s “Preferred Language”recommender.number_of_recommendations
: “Number of Recommendations (total)”recommender.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
recommender.timezone
: Recommender’s “Timezone”
Review Variables
reviewer.assignment_completion
: “Assignment Completion Progress (across all stages)”reviewer.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.reviewer.email
: “Reviewer Email Address”reviewer.email_verified
: “Email Verified”reviewer.first_login
: “Reviewer First Login”reviewer.first_name
: “Reviewer First Name”reviewer.id
: “Reviewer System ID”. Use this ID for making /api/user/{id}/ callsreviewer.last_login
: “Reviewer Last Login”reviewer.last_name
: “Reviewer Last Name”reviewer.language
: “Preferred Language”reviewer.number_of_assignments
: “Number of Reviewer Assignments (total)”reviewer.number_of_conflicts
: “Number of Reviewer Conflicts (total)”. Note that conflicts are registered with applicants, not applications.reviewer.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
reviewer.timezone
: “Timezone”
Applicant Variables
These variables appear in the application report. A subset can also appear in the review, and recommendation reports.
applicant.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.applicant.email
: “Applicant Email Address”applicant.email_verified
: “Email Verified”applicant.first_login
: “Applicant First Login”applicant.first_name
: “Applicant First Name”applicant.id
: “Applicant System ID”. Use this ID for making /api/user/{id}/ callsapplicant.last_login
: “Applicant Last Login”applicant.last_name
: “Applicant Last Name”applicant.language
: “Preferred Language”applicant.number_of_application_memberships
: “Collaborator to Applications (Count)”applicant.number_of_applications
: “Application Count”applicant.organizations
: “Organizations Affiliated With”applicant.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
applicant.timezone
: “Timezone”
Application Variables
These variables appear in the application report. A subset can also appear in the review, and recommendation reports.
application.applicant_decision
: “Decision by Applicant”application.average_score
: “Review Score: Average (across all stages)”application.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.application.collaborators
: “Collaborators”application.completed_recommendations
: “Number of completed Recommendations”application.completed_reviews
: “Number of completed Reviews”application.created_at
: “Date created”application.cumulative_score
: “Review Score: Cumulative (across all stages)”application.decision
: “Decision by Admin”application.id
: “Application System ID”. Use this ID for making /api/applications/{id}/ callsapplication.labels
: “Current Label(s)”application.last_submitted_at
: “Date last submitted”application.reference_id
: “Application ID”application.reviewer_task_{id}_review_score_percentage
: The reviewer’s percentage score for task {id} for the application.application.reviewer_task_{id}_review_score
: The reviewer’s score for task {id} for the application.application.stage
: “Current Stage”application.state
: “Current State”application.status
: “Current Status”application.title
: “Application Title”application.total_awarded
: “Total Awarded to Application”
Task Variables
These variables appear in the application, review, and recommendation reports. For task variables, the task ID follows task.. For example task.17_completion is the completion state for task 17. You can fetch the task details using /api/tasks/{id}/ .
Form responses take the form of
application.{question}
where question identifies the task and question id. For example,application.survey_73_xNO50LQ8c5
refers to question xNO50LQ8c5 from task 73. You can find the question IDs using /api/tasks/ . Using our example, call /api/tasks/73/ to retrieve the task. Thefields
property will have an entry forxNO50LQ8c5
. The column label for these fields will be thename
entry in the field description.application.{id}
: Form responsetask.{id}_completion
: Task completion statustask.{id}_completedat
: Task completion timestamp
download_link (string)
This is blank if there is no report to download
last_error_message (string)
last_generated_at (string)
This is blank if the report has never been generated
job_id (string)
This is the ID of the job that is generating the report. If this is blank then the reporting is not being generated
name (string)
report_filename (string)
File name for the report
file_size (integer)
program (object)
id (integer)
program ID
name (string)
program name
source (integer) Permitted values: 0, 1, 2, 3
0
: Applications1
: Reviews2
: Recommendations3
: Users
status (integer) Permitted values: 0, 1, 2, 3, 4, 5
0
: Created1
: Queued2
: Generating3
: Generated4
: Error5
: Canceled
row (integer)
The current row number being generated by the report
total_rows (integer)
The total number of rows in the report
filter (object)
type (string)
Must be
AND
items (array of object)
predicate (string) Permitted values: before, after, greaterthan, lessthan, startswith, equals, notequals, contains, doesnotcontain, containsoneof, notcontainsoneof, hasresponse, noresponse, True, False
value (string)
variable (string)
An ID which represents the variable being filtered on. Note that not all filters are supported on all report types. Supported variables are:
Application report filters:
0
: current stage3:{id}
: completed task matching id7
: current label(s)12
: number of completed reviews15:{id}
: custom fields for applicants, organizations and applications.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field21
: assigned to team22
: assigned to reviewer42
: current status43
: number of completed recommendations54
: applicant decision55
: administrator decision58
: submit date59
: current state60
: created date61
: number of collaborators62
: total awarded
Review report filters:
0
: application current stage7
: application current label(s)15:{id}
: custom fields for applicants, organizations, applications and reviewers.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field42
: application current status59
: application current state64
: number of reviewer conflicts70
: number of reviewer assignments
Recommendation filters:
0
: application current stage7
: application current label(s)15:{id}
: custom fields for applicants, organizations, applications and recommenders.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field42
: application current status59
: application current state71
: number of recommender recommendations (total)72:{id}
: recommendation is completed.id
is the recommendation task ID73:{id}
: recommendation last updated at.id
is the recommendation task ID
User report filters:
15:{id}
: custom fields for applicants, organizations, reviewers, and recommenders.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field31
: user has role63
: eligibility quiz completed65
: has applications66
: has review assignments67
: has recommendation requests68
: has been awarded69
: has been declined
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "created_at": "2023-02-17T01:28:34.788838", "created_by": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "columns": [ "string" ], "download_link": "string", "last_error_message": "string", "last_generated_at": "2023-02-17T01:28:34.788838", "job_id": "string", "name": "string", "report_filename": "string", "file_size": 1, "program": { "id": 1, "name": "string" }, "source": 0, "status": 0, "row": 1, "total_rows": 1, "filter": { "type": "string", "items": [ { "predicate": "before", "value": "string", "variable": "string" } ] } }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Resource cannot be found
429 Too Many Requests – Rate limit exceeded
- PATCH /api/reports/{id}/
Update a report. You cannot change the report’s source or program.
Only administrators with the
Reports
permission can make this call.- Parameters:
id (integer) – ID
Endpoint properties
columns (array of string)
The list of variables for the columns in the report. In the description of the variables, the text in “” is the column label that is used in the exported report. The possible variables are:
Program Variables
These variables are not valid in user reports.
program.balance
: “Balance”program.category
: “Category”program.deadline
: “Deadline”program.id
: “Program System ID”. Use this ID for making /api/programs/{id}/ calls.program.name
: “Program Name”program.open_at
: “Open Date”
Organization Variables
organization.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.organization.address
: “Organization Address”organization.city
: “Organization City”organization.country
: “Organization Country”organization.email
: “Organization Email”organization.id
: “Organization System ID”. Use this ID for making /api/organizations/{id}/ callsorganization.members
: “Organization Members”organization.name
: “Organization Name”organization.phone
: “Organization Phone Number”organization.primary_admin
: “Organization Primary Admin”organization.website
: “Organization Website”
User Variables
These are used in user reports. Applicants, reviewers, and recommenders have their own version when user data is included in application, review, or recommendation reports.
user.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.user.email
: “User Email Address”user.email_verified
: “Email Verified”user.first_login
: “First Login”user.first_name
: “User First Name”user.id
: “User System ID”. Use this ID for making /api/user/{id}/ callsuser.language
: “Preferred Language”user.last_login
: “Last Login”user.last_name
: “User Last Name”user.number_of_application_memberships
: “Collaborator to Applications (Count)”user.number_of_applications
: “Application Count”user.number_of_assignments
: “Number of Reviewer Assignments”user.number_of_conflicts
: “Number of Reviewer Conflicts”user.organizations
: “Organizations Affiliated With”user.programs_applied_to
: “Programs Applied To”user.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
user.timezone
: “Timezone”user.total_awarded
: “Total Awarded to User”
Recommendation Variables
recommender.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.recommender.email
: “Recommender Email Address”recommender.email_verified
: “Email Verified”recommender.first_login
: “Recommender First Login”recommender.first_name
: “Recommender First Name”recommender.id
: “Recommender System ID”. Use this ID for making /api/user/{id}/ callsrecommender.last_login
: “Recommender Last Login”recommender.last_name
: “Recommender Last Name”recommender.language
: Recommender’s “Preferred Language”recommender.number_of_recommendations
: “Number of Recommendations (total)”recommender.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
recommender.timezone
: Recommender’s “Timezone”
Review Variables
reviewer.assignment_completion
: “Assignment Completion Progress (across all stages)”reviewer.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.reviewer.email
: “Reviewer Email Address”reviewer.email_verified
: “Email Verified”reviewer.first_login
: “Reviewer First Login”reviewer.first_name
: “Reviewer First Name”reviewer.id
: “Reviewer System ID”. Use this ID for making /api/user/{id}/ callsreviewer.last_login
: “Reviewer Last Login”reviewer.last_name
: “Reviewer Last Name”reviewer.language
: “Preferred Language”reviewer.number_of_assignments
: “Number of Reviewer Assignments (total)”reviewer.number_of_conflicts
: “Number of Reviewer Conflicts (total)”. Note that conflicts are registered with applicants, not applications.reviewer.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
reviewer.timezone
: “Timezone”
Applicant Variables
These variables appear in the application report. A subset can also appear in the review, and recommendation reports.
applicant.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.applicant.email
: “Applicant Email Address”applicant.email_verified
: “Email Verified”applicant.first_login
: “Applicant First Login”applicant.first_name
: “Applicant First Name”applicant.id
: “Applicant System ID”. Use this ID for making /api/user/{id}/ callsapplicant.last_login
: “Applicant Last Login”applicant.last_name
: “Applicant Last Name”applicant.language
: “Preferred Language”applicant.number_of_application_memberships
: “Collaborator to Applications (Count)”applicant.number_of_applications
: “Application Count”applicant.organizations
: “Organizations Affiliated With”applicant.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
applicant.timezone
: “Timezone”
Application Variables
These variables appear in the application report. A subset can also appear in the review, and recommendation reports.
application.applicant_decision
: “Decision by Applicant”application.average_score
: “Review Score: Average (across all stages)”application.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.application.collaborators
: “Collaborators”application.completed_recommendations
: “Number of completed Recommendations”application.completed_reviews
: “Number of completed Reviews”application.created_at
: “Date created”application.cumulative_score
: “Review Score: Cumulative (across all stages)”application.decision
: “Decision by Admin”application.id
: “Application System ID”. Use this ID for making /api/applications/{id}/ callsapplication.labels
: “Current Label(s)”application.last_submitted_at
: “Date last submitted”application.reference_id
: “Application ID”application.reviewer_task_{id}_review_score_percentage
: The reviewer’s percentage score for task {id} for the application.application.reviewer_task_{id}_review_score
: The reviewer’s score for task {id} for the application.application.stage
: “Current Stage”application.state
: “Current State”application.status
: “Current Status”application.title
: “Application Title”application.total_awarded
: “Total Awarded to Application”
Task Variables
These variables appear in the application, review, and recommendation reports. For task variables, the task ID follows task.. For example task.17_completion is the completion state for task 17. You can fetch the task details using /api/tasks/{id}/ .
Form responses take the form of
application.{question}
where question identifies the task and question id. For example,application.survey_73_xNO50LQ8c5
refers to question xNO50LQ8c5 from task 73. You can find the question IDs using /api/tasks/ . Using our example, call /api/tasks/73/ to retrieve the task. Thefields
property will have an entry forxNO50LQ8c5
. The column label for these fields will be thename
entry in the field description.application.{id}
: Form responsetask.{id}_completion
: Task completion statustask.{id}_completedat
: Task completion timestamp
filter (object)
type (string)
Must be
AND
items (array of object)
predicate (string) Permitted values: before, after, greaterthan, lessthan, startswith, equals, notequals, contains, doesnotcontain, containsoneof, notcontainsoneof, hasresponse, noresponse, True, False
value (string)
variable (string)
An ID which represents the variable being filtered on. Note that not all filters are supported on all report types. Supported variables are:
Application report filters:
0
: current stage3:{id}
: completed task matching id7
: current label(s)12
: number of completed reviews15:{id}
: custom fields for applicants, organizations and applications.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field21
: assigned to team22
: assigned to reviewer42
: current status43
: number of completed recommendations54
: applicant decision55
: administrator decision58
: submit date59
: current state60
: created date61
: number of collaborators62
: total awarded
Review report filters:
0
: application current stage7
: application current label(s)15:{id}
: custom fields for applicants, organizations, applications and reviewers.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field42
: application current status59
: application current state64
: number of reviewer conflicts70
: number of reviewer assignments
Recommendation filters:
0
: application current stage7
: application current label(s)15:{id}
: custom fields for applicants, organizations, applications and recommenders.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field42
: application current status59
: application current state71
: number of recommender recommendations (total)72:{id}
: recommendation is completed.id
is the recommendation task ID73:{id}
: recommendation last updated at.id
is the recommendation task ID
User report filters:
15:{id}
: custom fields for applicants, organizations, reviewers, and recommenders.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field31
: user has role63
: eligibility quiz completed65
: has applications66
: has review assignments67
: has recommendation requests68
: has been awarded69
: has been declined
name (string)
The report name must be unique.
Example request:
PATCH /api/reports/{id}/ HTTP/1.1 Host: example.com Content-Type: application/json { "columns": [ "string" ], "filter": { "type": "string", "items": [ { "predicate": "before", "value": "string", "variable": "string" } ] }, "name": "string" }
- Status Codes:
200 OK –
Call was successful
Endpoint properties
id (integer)
created_at (string)
created_by (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
columns (array of string)
The list of variables for the columns in the report. In the description of the variables, the text in “” is the column label that is used in the exported report. The possible variables are:
Program Variables
These variables are not valid in user reports.
program.balance
: “Balance”program.category
: “Category”program.deadline
: “Deadline”program.id
: “Program System ID”. Use this ID for making /api/programs/{id}/ calls.program.name
: “Program Name”program.open_at
: “Open Date”
Organization Variables
organization.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.organization.address
: “Organization Address”organization.city
: “Organization City”organization.country
: “Organization Country”organization.email
: “Organization Email”organization.id
: “Organization System ID”. Use this ID for making /api/organizations/{id}/ callsorganization.members
: “Organization Members”organization.name
: “Organization Name”organization.phone
: “Organization Phone Number”organization.primary_admin
: “Organization Primary Admin”organization.website
: “Organization Website”
User Variables
These are used in user reports. Applicants, reviewers, and recommenders have their own version when user data is included in application, review, or recommendation reports.
user.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.user.email
: “User Email Address”user.email_verified
: “Email Verified”user.first_login
: “First Login”user.first_name
: “User First Name”user.id
: “User System ID”. Use this ID for making /api/user/{id}/ callsuser.language
: “Preferred Language”user.last_login
: “Last Login”user.last_name
: “User Last Name”user.number_of_application_memberships
: “Collaborator to Applications (Count)”user.number_of_applications
: “Application Count”user.number_of_assignments
: “Number of Reviewer Assignments”user.number_of_conflicts
: “Number of Reviewer Conflicts”user.organizations
: “Organizations Affiliated With”user.programs_applied_to
: “Programs Applied To”user.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
user.timezone
: “Timezone”user.total_awarded
: “Total Awarded to User”
Recommendation Variables
recommender.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.recommender.email
: “Recommender Email Address”recommender.email_verified
: “Email Verified”recommender.first_login
: “Recommender First Login”recommender.first_name
: “Recommender First Name”recommender.id
: “Recommender System ID”. Use this ID for making /api/user/{id}/ callsrecommender.last_login
: “Recommender Last Login”recommender.last_name
: “Recommender Last Name”recommender.language
: Recommender’s “Preferred Language”recommender.number_of_recommendations
: “Number of Recommendations (total)”recommender.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
recommender.timezone
: Recommender’s “Timezone”
Review Variables
reviewer.assignment_completion
: “Assignment Completion Progress (across all stages)”reviewer.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.reviewer.email
: “Reviewer Email Address”reviewer.email_verified
: “Email Verified”reviewer.first_login
: “Reviewer First Login”reviewer.first_name
: “Reviewer First Name”reviewer.id
: “Reviewer System ID”. Use this ID for making /api/user/{id}/ callsreviewer.last_login
: “Reviewer Last Login”reviewer.last_name
: “Reviewer Last Name”reviewer.language
: “Preferred Language”reviewer.number_of_assignments
: “Number of Reviewer Assignments (total)”reviewer.number_of_conflicts
: “Number of Reviewer Conflicts (total)”. Note that conflicts are registered with applicants, not applications.reviewer.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
reviewer.timezone
: “Timezone”
Applicant Variables
These variables appear in the application report. A subset can also appear in the review, and recommendation reports.
applicant.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.applicant.email
: “Applicant Email Address”applicant.email_verified
: “Email Verified”applicant.first_login
: “Applicant First Login”applicant.first_name
: “Applicant First Name”applicant.id
: “Applicant System ID”. Use this ID for making /api/user/{id}/ callsapplicant.last_login
: “Applicant Last Login”applicant.last_name
: “Applicant Last Name”applicant.language
: “Preferred Language”applicant.number_of_application_memberships
: “Collaborator to Applications (Count)”applicant.number_of_applications
: “Application Count”applicant.organizations
: “Organizations Affiliated With”applicant.roles
: “Roles”. This can be one or more ofapplicant
,reviewer
,recommender
, oradmin
applicant.timezone
: “Timezone”
Application Variables
These variables appear in the application report. A subset can also appear in the review, and recommendation reports.
application.applicant_decision
: “Decision by Applicant”application.average_score
: “Review Score: Average (across all stages)”application.cf_{id}
: The value for Custom field matching id. See /api/customfields/{id}/ for details on the custom field.application.collaborators
: “Collaborators”application.completed_recommendations
: “Number of completed Recommendations”application.completed_reviews
: “Number of completed Reviews”application.created_at
: “Date created”application.cumulative_score
: “Review Score: Cumulative (across all stages)”application.decision
: “Decision by Admin”application.id
: “Application System ID”. Use this ID for making /api/applications/{id}/ callsapplication.labels
: “Current Label(s)”application.last_submitted_at
: “Date last submitted”application.reference_id
: “Application ID”application.reviewer_task_{id}_review_score_percentage
: The reviewer’s percentage score for task {id} for the application.application.reviewer_task_{id}_review_score
: The reviewer’s score for task {id} for the application.application.stage
: “Current Stage”application.state
: “Current State”application.status
: “Current Status”application.title
: “Application Title”application.total_awarded
: “Total Awarded to Application”
Task Variables
These variables appear in the application, review, and recommendation reports. For task variables, the task ID follows task.. For example task.17_completion is the completion state for task 17. You can fetch the task details using /api/tasks/{id}/ .
Form responses take the form of
application.{question}
where question identifies the task and question id. For example,application.survey_73_xNO50LQ8c5
refers to question xNO50LQ8c5 from task 73. You can find the question IDs using /api/tasks/ . Using our example, call /api/tasks/73/ to retrieve the task. Thefields
property will have an entry forxNO50LQ8c5
. The column label for these fields will be thename
entry in the field description.application.{id}
: Form responsetask.{id}_completion
: Task completion statustask.{id}_completedat
: Task completion timestamp
download_link (string)
This is blank if there is no report to download
last_error_message (string)
last_generated_at (string)
This is blank if the report has never been generated
job_id (string)
This is the ID of the job that is generating the report. If this is blank then the reporting is not being generated
name (string)
report_filename (string)
File name for the report
file_size (integer)
program (object)
id (integer)
program ID
name (string)
program name
source (integer) Permitted values: 0, 1, 2, 3
0
: Applications1
: Reviews2
: Recommendations3
: Users
status (integer) Permitted values: 0, 1, 2, 3, 4, 5
0
: Created1
: Queued2
: Generating3
: Generated4
: Error5
: Canceled
row (integer)
The current row number being generated by the report
total_rows (integer)
The total number of rows in the report
filter (object)
type (string)
Must be
AND
items (array of object)
predicate (string) Permitted values: before, after, greaterthan, lessthan, startswith, equals, notequals, contains, doesnotcontain, containsoneof, notcontainsoneof, hasresponse, noresponse, True, False
value (string)
variable (string)
An ID which represents the variable being filtered on. Note that not all filters are supported on all report types. Supported variables are:
Application report filters:
0
: current stage3:{id}
: completed task matching id7
: current label(s)12
: number of completed reviews15:{id}
: custom fields for applicants, organizations and applications.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field21
: assigned to team22
: assigned to reviewer42
: current status43
: number of completed recommendations54
: applicant decision55
: administrator decision58
: submit date59
: current state60
: created date61
: number of collaborators62
: total awarded
Review report filters:
0
: application current stage7
: application current label(s)15:{id}
: custom fields for applicants, organizations, applications and reviewers.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field42
: application current status59
: application current state64
: number of reviewer conflicts70
: number of reviewer assignments
Recommendation filters:
0
: application current stage7
: application current label(s)15:{id}
: custom fields for applicants, organizations, applications and recommenders.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field42
: application current status59
: application current state71
: number of recommender recommendations (total)72:{id}
: recommendation is completed.id
is the recommendation task ID73:{id}
: recommendation last updated at.id
is the recommendation task ID
User report filters:
15:{id}
: custom fields for applicants, organizations, reviewers, and recommenders.id
is the custom field id. You can use /api/customfields/{id}/ for details on the custom field31
: user has role63
: eligibility quiz completed65
: has applications66
: has review assignments67
: has recommendation requests68
: has been awarded69
: has been declined
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "created_at": "2023-02-17T01:28:34.788838", "created_by": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "columns": [ "string" ], "download_link": "string", "last_error_message": "string", "last_generated_at": "2023-02-17T01:28:34.788838", "job_id": "string", "name": "string", "report_filename": "string", "file_size": 1, "program": { "id": 1, "name": "string" }, "source": 0, "status": 0, "row": 1, "total_rows": 1, "filter": { "type": "string", "items": [ { "predicate": "before", "value": "string", "variable": "string" } ] } }
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Resource cannot be found
429 Too Many Requests – Rate limit exceeded
- DELETE /api/reports/{id}/
Delete a report.
Administrators need the
Reports
permission to make this call.- Parameters:
id (integer) – ID
- Status Codes:
204 No Content – Report deleted
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Resource cannot be found
429 Too Many Requests – Rate limit exceeded
- GET /api/reports/{id}/download/
Retrieve a copy of the generated report. If the report has not yet been generated, a 400 status code is returned.
Administrators need the
Reports
permission to make this call.- Parameters:
id (integer) – ID
Example request:
GET /api/reports/{id}/download/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK – Call was successful
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Resource cannot be found
429 Too Many Requests – Rate limit exceeded
- DELETE /api/reports/{id}/download/
Delete the generated report file. This does not delete the report.
Administrators need the
Reports
permission to make this call.- Parameters:
id (integer) – ID
- Status Codes:
204 No Content – Generated report file deleted
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Resource cannot be found
429 Too Many Requests – Rate limit exceeded
- POST /api/reportsjobs/
Initiate a report generation. Report generation cannot be started for reports that have a status of Queued or Generating.
Admins need the
Reports
permission to make this call.Endpoint properties
id (integer)
The ID of the report to be generated
format (string) Permitted values: csv, excel
Format for the generated file
Example request:
POST /api/reportsjobs/ HTTP/1.1 Host: example.com Content-Type: application/json { "id": 1, "format": "csv" }
- Status Codes:
201 Created – Report generation started
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
409 Conflict – Report generation job already exists.
429 Too Many Requests – Rate limit exceeded
- DELETE /api/reportsjobs/{id}/
Cancel the current report job.
Administrators need the
Reports
permission to make this call.- Parameters:
id (integer) – Report ID
- Status Codes:
204 No Content – Report job canceled.
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Resource cannot be found
410 Gone – The report generation job no longer exists
429 Too Many Requests – Rate limit exceeded
- GET /api/reportsstatuses/
Fetches the list of report statuses.
If you only need to know the status of reports, this endpoint is faster than /api/reports/.
Administrators need the
Reports
permission to make this call.- Query Parameters:
id (integer) – limit statuses to a specific report id
Example request:
GET /api/reportsstatuses/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
id (integer)
report id
last_generated_at (string)
This is blank if the report has never been generated
job_id (string)
This is the ID of the job that is generating the report. If this is blank then the reporting is not being generated
report_filename (string)
File name for the report
file_size (integer)
status (integer) Permitted values: 0, 1, 2, 3, 4, 5
0
: Created1
: Queued2
: Generating3
: Generated4
: Error5
: Canceled
row (integer)
The current row number being generated by the report
total_rows (integer)
The total number of rows in the report
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": 1, "last_generated_at": "2023-02-17T01:28:34.788838", "job_id": "string", "report_filename": "string", "file_size": 1, "status": 0, "row": 1, "total_rows": 1 } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
Reviews
- GET /api/reviews/
Fetch all reviews on a site.
You will likely want to filter this call by application, stage, or reviewer.
- Query Parameters:
application (integer) – limit reviews based on their application
completed_at (string) – limit reviews based on their completion date
program (integer) – limit reviews based on their program
reviewer (integer) – limit reviews based on the reviewer
score (number) – limit reviews based on the score
stage (integer) – limit reviews based on their stage
task (integer) – limit reviews based on their task
type (integer) –
- limit reviews based on their type:
1
- Simple review2
- Advanced review
Example request:
GET /api/reviews/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
list of application reviews
Endpoint properties
array of object
id (integer)
review ID
application (object)
title (string)
id (integer)
completed_at (string)
reviewer (object)
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
score (number)
score_out_of (number)
status (integer)
task (object)
name (string)
id (integer)
type (integer)
created_at (string)
updated_at (string)
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": 1, "application": { "title": "string", "id": 1 }, "completed_at": "2023-02-17T01:28:34.788838", "reviewer": { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 }, "score": 1.0, "score_out_of": 1.0, "status": 1, "task": { "name": "string", "id": 1 }, "type": 1, "created_at": "2023-02-17T01:28:34.788838", "updated_at": "2023-02-17T01:28:34.788838" } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
Stages
- GET /api/stages/
A list of program stages. Admins need the
View workflow
permission to make this call.- Query Parameters:
close_timestamp (string) – limit stages base on their close time
index (integer) – limit stages base on their order in the workflow
open_timestamp (string) – limit stages base on their open time
program (integer) – limit stages to a program
for_programs (string) – limit stages to certain types of program
review_group (integer) – limit stages based on their review group
title (string) – limit stages base on their title
type (integer) –
- limit stages to a particular type:
0
- Applicant1
- Simple review2
- Advanced review4
- Holding5
- Review group
Example request:
GET /api/stages/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": 1, "program": { "id": 1, "name": "string" }, "title": "string", "instructions": "string", "open_timestamp": "2023-02-17T01:28:34.788838", "close_timestamp": "2023-02-17T01:28:34.788838", "grace_period": 1, "default_status": "string", "recommendation_complete_message": "string", "completion_message": "string", "edit_after_submit": true, "all_tasks_visible_to_applicant": true, "tasks_visible_to_applicant": [ { "name": "string", "id": 1 } ], "all_tasks_visible_to_recommender": true, "tasks_visible_to_recommender": [ { "name": "string", "id": 1 } ], "show_application_to_recommender": true, "recommenders_can_see_organization_profile": true, "recommenders_can_see_application_members": true, "recommenders_can_see_organization_customfields": true, "recommenders_can_see_organization_members": true, "recommenders_can_see_other_organization_applications": true, "recommenders_can_see_organization_decision_history": true, "recommenders_can_see_organization_eligibility_profile": true }, { "id": 1, "program": { "id": 1, "name": "string" }, "title": "string", "instructions": "string", "open_timestamp": "2023-02-17T01:28:34.788838", "close_timestamp": "2023-02-17T01:28:34.788838", "grace_period": 1, "default_status": "string" }, { "id": 1, "program": { "id": 1, "name": "string" }, "title": "string", "instructions": "string", "open_timestamp": "2023-02-17T01:28:34.788838", "close_timestamp": "2023-02-17T01:28:34.788838", "grace_period": 1, "default_status": "string", "review_completion": "string", "complete_before_submit": true, "reopen_after_submit": true, "allow_review_editing": true, "allow_review_conflicts": true, "admins_notified_of_review_conflicts": true, "admins_notified_by_review_conflicts": [ { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 } ], "application_notes": true, "automatic_assignments": true, "review_completion_message": "string", "assignment_method": "all", "num_reviewers_per_application": 1, "max_assignments_per_reviewer": 1, "allow_reassignment": true, "review_group": { "title": "string", "id": 1 }, "assign_remaining": "assign", "show_applicant_info": true, "show_applicant_eligibility_profile": true, "show_applicant_decision_history": true, "show_application_labels": true, "show_application_title": true, "show_application_activity": true, "show_application_dates": true, "show_recommender_info": true, "visible_applicant_tasks": [ { "name": "string", "id": 1 } ], "reviewers_can_see_organization_profile": true, "reviewers_can_see_application_members": true, "reviewers_can_see_organization_members": true, "reviewers_can_see_other_organization_applications": true, "reviewers_can_see_organization_decision_history": true, "reviewers_can_see_organization_eligibility_profile": true, "reviewers_can_see_review_scores": true, "reviewers_can_see_other_reviews": true, "reviewers_can_only_see_reviews_from_own_team": true, "reviewers_can_see_previous_rankings": true, "reviewers_can_see_other_reviewer_info": true, "applications_can_see_review_scores": true, "applications_can_see_review_content": true, "applications_can_see_reviewer_info": true }, { "id": 1, "program": { "id": 1, "name": "string" }, "title": "string", "open_timestamp": "2023-02-17T01:28:34.788838", "close_timestamp": "2023-02-17T01:28:34.788838", "keep_dates_consistent": true, "grace_period": 1, "default_status": "string", "parallel_stages": [ { "title": "string", "id": 1 } ] } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/stages/{id}/
Details on a single stage.
Admins need the
View workflow
permission to make this call.- Parameters:
id (integer) – ID
Example request:
GET /api/stages/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "program": { "id": 1, "name": "string" }, "title": "string", "instructions": "string", "open_timestamp": "2023-02-17T01:28:34.788838", "close_timestamp": "2023-02-17T01:28:34.788838", "grace_period": 1, "default_status": "string", "recommendation_complete_message": "string", "completion_message": "string", "edit_after_submit": true, "all_tasks_visible_to_applicant": true, "tasks_visible_to_applicant": [ { "name": "string", "id": 1 } ], "all_tasks_visible_to_recommender": true, "tasks_visible_to_recommender": [ { "name": "string", "id": 1 } ], "show_application_to_recommender": true, "recommenders_can_see_organization_profile": true, "recommenders_can_see_application_members": true, "recommenders_can_see_organization_customfields": true, "recommenders_can_see_organization_members": true, "recommenders_can_see_other_organization_applications": true, "recommenders_can_see_organization_decision_history": true, "recommenders_can_see_organization_eligibility_profile": true }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Stage does not exist
429 Too Many Requests – Rate limit exceeded
Tasks
- GET /api/tasks/
Fetches all tasks in a site. You will likely want to filter this list by program or stage.
Admins need the
View workflow
permission to make this call.- Query Parameters:
deadline (string) – limit tasks based on their deadline
index (integer) – limit tasks based on their order in the stage
name (string) – limit tasks based on their name
program (integer) – limit tasks based on which program they are in
required (integer) – limit tasks based on whether they are required or not
stage (integer) – limit tasks based on which stage they are in
type (integer) – limit tasks based on their type
Example request:
GET /api/tasks/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
Tasks for a reviewer
id (integer)
deadline (string)
edit_after_complete (boolean)
edit_after_deadline (boolean)
name (string)
hide_until_prerequisites (boolean)
applicants_can_reuse_data (boolean)
If true, applicants can reuse data provided from previous instances of this task
reusable_task_auto_complete (boolean)
If true, automatically complete this task for an applicant using data provided from the first instance of this task
index (integer)
The order of the task within the stage
instructions (string)
prerequisite_tasks (array of object)
name (string)
id (integer)
required (boolean)
if true, the task must be completed
stage (object)
title (string)
id (integer)
type (integer)
view_before_eligible (boolean)
custom_labels (string)
custom_values (string)
customize_labels (boolean)
if true, custom labels are used
customize_scoring (boolean)
if true, customized scoring is used
review_type (integer)
yesno_symbol (integer)
yes_no_custom_labels (integer)
positive_choice (integer)
negative_choice (integer)
symbol (integer)
scale (integer)
additional_comments (integer)
weight (integer)
has_weight (integer)
Task for filling in a form
id (integer)
deadline (string)
edit_after_complete (boolean)
If true, the task can be edited after the application has been submitted
edit_after_deadline (boolean)
If true, the task can be edited after the deadline
fields (array of object)
name (string)
choices (array of object)
index (integer)
Index of the item in the choices list
score (number)
Review ranking score
label (string)
other (boolean)
True if the radio button or checkbox field has an other option
identifier (string)
Identifier for the field
required (boolean)
True if the field must have a value
type (string) Permitted values: datasource, file, multi, single, text, timestamp
datasource
: Datasourcefile
: File uploadmulti
: Multiple choice field, such as checkboxessingle
: Single choice field, such as radio buttonstext
: Text field which is used for text and numberstimestamp
: Date/time field
validation (object)
error_message (string)
Error message displayed if an incorrect value is entered into the field
max_length (string)
Maximum length of the field
type (string) Permitted values: all, alpha, alphanum, currency, currency-eu, date-day, date-month, date-year, domain, email, float, integer, integer-positive, percentage-bound, percentage-unbound, phone-10, phone-10-ext, phone-int, phone-int-ext, postal, postal-ca, postal-ca-3, postal-us, ssn-us, ssn-ca, phone-uk, postal-uk, url, word-count
all
- Any characteralpha
- Letters onlyalphanum
- Numbers and letters onlycurrency
- Currencycurrency-eu
- EU currencydate-day
- Date in dd/mm/yyyy formatdate-month
- Date in mm/dd/yyyy formatdate-year
- Date in yyyy/mm/dd formatdomain
- Domain nameemail
- Email addressfloat
- Floating point numberinteger
- Integer numberinteger-positive
- Positive integer numberpercentage-bound
- Percentage from 0 to 100%percentage-unbound
- Any percentage valuephone-10
- 10 digit phone number 555-123-4567phone-10-ext
- 10 digit phone number with extensionphone-int
- International phone numberphone-int-ext
- International phone number with extensionphone-uk
- UK phone numberpostal
- Postal codepostal-ca
- Canadian postal codepostal-ca-3
- First the characters of a Canadian postal codepostal-uk
- UK postal codepostal-us
- ZIP codessn-us
- Social insurance number, USssn-ca
- Social insurance number, Canadaurl
- URLword-count
- Number of words in the response
min_length (string)
Minimum length of the field
hide_until_prerequisites (boolean)
applicants_can_reuse_data (boolean)
If true, applicants can reuse data provided from previous instances of this task
reusable_task_auto_complete (boolean)
If true, automatically complete this task for an applicant using data provided from the first instance of this task
index (integer)
The order of the task within the stage
instructions (string)
prerequisite_tasks (array of object)
name (string)
id (integer)
required (boolean)
if true, the task must be completed
stage (object)
title (string)
id (integer)
type (integer) Permitted values: 1
view_before_eligible (boolean)
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": 1, "deadline": "2023-02-17T01:28:34.788838", "edit_after_complete": true, "edit_after_deadline": true, "name": "string", "hide_until_prerequisites": true, "applicants_can_reuse_data": true, "reusable_task_auto_complete": true, "index": 1, "instructions": "string", "prerequisite_tasks": [ { "name": "string", "id": 1 } ], "required": true, "stage": { "title": "string", "id": 1 }, "type": 1, "view_before_eligible": true, "custom_labels": "string", "custom_values": "string", "customize_labels": true, "customize_scoring": true, "review_type": 1, "yesno_symbol": 1, "yes_no_custom_labels": 1, "positive_choice": 1, "negative_choice": 1, "symbol": 1, "scale": 1, "additional_comments": 1, "weight": 1, "has_weight": 1 }, { "id": 1, "deadline": "2023-02-17T01:28:34.788838", "edit_after_complete": true, "edit_after_deadline": true, "fields": [ { "name": "string", "choices": [ { "index": 1, "score": 1.0, "label": "string" } ], "other": true, "identifier": "string", "required": true, "type": "datasource", "validation": { "error_message": "string", "max_length": "string", "type": "all", "min_length": "string" } } ], "hide_until_prerequisites": true, "applicants_can_reuse_data": true, "reusable_task_auto_complete": true, "index": 1, "instructions": "string", "prerequisite_tasks": [ { "name": "string", "id": 1 } ], "required": true, "stage": { "title": "string", "id": 1 }, "type": 1, "view_before_eligible": true } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/tasks/{id}/
Fetch details about a specific task.
Admins need the
View workflow
permission to make this call.- Parameters:
id (integer) – task ID
Example request:
GET /api/tasks/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "deadline": "2023-02-17T01:28:34.788838", "edit_after_complete": true, "edit_after_deadline": true, "name": "string", "hide_until_prerequisites": true, "applicants_can_reuse_data": true, "reusable_task_auto_complete": true, "index": 1, "instructions": "string", "prerequisite_tasks": [ { "name": "string", "id": 1 } ], "required": true, "stage": { "title": "string", "id": 1 }, "type": 1, "view_before_eligible": true, "custom_labels": "string", "custom_values": "string", "customize_labels": true, "customize_scoring": true, "review_type": 1, "yesno_symbol": 1, "yes_no_custom_labels": 1, "positive_choice": 1, "negative_choice": 1, "symbol": 1, "scale": 1, "additional_comments": 1, "weight": 1, "has_weight": 1 }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Task does not exist
429 Too Many Requests – Rate limit exceeded
Review Teams
- GET /api/teams/
Fetch the list of review teams. Only admins can make this call.
Example request:
GET /api/teams/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
name (string)
id (integer)
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "name": "string", "id": 1 } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- POST /api/teams/
Create a review team.
Only admins with the
Create Review Teams
permission can make this call.Endpoint properties
name (string)
Example request:
POST /api/teams/ HTTP/1.1 Host: example.com Content-Type: application/json { "name": "string" }
- Status Codes:
Team created
Endpoint properties
name (string)
id (integer)
Example response:
HTTP/1.1 201 Created Content-Type: application/json { "name": "string", "id": 1 }
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/teams/{id}/
Fetch a single review team. Only administrators can make this call.
- Parameters:
id (integer) – team ID
Example request:
GET /api/teams/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
name (string)
id (integer)
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "name": "string", "id": 1 }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- PATCH /api/teams/{id}/
Update a single review team.
Only admins with the
Create Review Teams
permission can make this call.- Parameters:
id (integer) – team ID
Endpoint properties
name (string)
Example request:
PATCH /api/teams/{id}/ HTTP/1.1 Host: example.com Content-Type: application/json { "name": "string" }
- Status Codes:
200 OK –
Call was successful
Endpoint properties
name (string)
id (integer)
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "name": "string", "id": 1 }
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Resource cannot be found
429 Too Many Requests – Rate limit exceeded
- DELETE /api/teams/{id}/
Delete a review team.
Only admins with the
Create Review Teams
permission can make this call.- Parameters:
id (integer) – team ID
- Query Parameters:
keep_review_assignments (integer) – If set to 1, review assignments will be kept when the team is deleted otherwise the assignments will also be deleted
- Status Codes:
204 No Content – Team deleted
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Resource cannot be found
429 Too Many Requests – Rate limit exceeded
- GET /api/teams/{id}/members/
Fetch the list of reviewers in a review team. Only administrators can make this call.
- Parameters:
id (integer) – Team ID
Example request:
GET /api/teams/{id}/members/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
first_name (string)
last_name (string)
email (string)
id (integer)
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Team does not exist
429 Too Many Requests – Rate limit exceeded
- POST /api/teams/{id}/members/
Add a reviewer to the review team.
Only admins with the
Create Review Teams
permission can make this call.- Parameters:
id (integer) – Team ID
Endpoint properties
id (integer)
reviewer’s user ID
Example request:
POST /api/teams/{id}/members/ HTTP/1.1 Host: example.com Content-Type: application/json { "id": 1 }
- Status Codes:
Reviewer added
Endpoint properties
array of object
first_name (string)
last_name (string)
email (string)
id (integer)
Example response:
HTTP/1.1 201 Created Content-Type: application/json [ { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Team does not exist
429 Too Many Requests – Rate limit exceeded
- DELETE /api/teams/{team_id}/members/{user_id}/
Removes a reviewer from the specified team.
Only admins with the
Create Review Teams
permission can make this call.- Parameters:
team_id (integer) – Team ID
user_id (integer) – User ID
- Query Parameters:
unassign (integer) – If 1, the reviewer’s assignments and reviews associated with the team will be deleted
- Status Codes:
204 No Content – Team member removed
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – Team or member does not exist
429 Too Many Requests – Rate limit exceeded
Users
- GET /api/users/
The collection of users for a site. Non-admin users will see a user reference for everyone except themselves; admins will see the complete user representation.
The list of users returned depends on the role of the caller:
applicants can see any collaborators as well as people they have requested recommendations from. They can also see reviewers if reviewers have been made visible in the review stage.
recommenders can see applicants they need to recommend
reviewers can see applicants for any application they have been assigned if that option has been enabled in the review stage
admins can see all users in the system if they have the
View users
permission.
Only admins with the
View users
permission can make this call.- Query Parameters:
first_name (string) – limit users by user’s first name
last_name (string) – limit users by user’s last name
email (string) – limit users by user’s email address
status (integer) – limit users by user’s status
last_active (string) – limit users by user’s last active time
role (string) – limit users by user’s role
Example request:
GET /api/users/ HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
Call was successful
Endpoint properties
array of object
User
id (integer)
active (boolean)
available to admin only
custom_fields (object)
applicant (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
reviewer (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
recommender (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
email (string)
email_subscribed (boolean)
true if user will receive emails
email_verified (boolean)
true if user’s email address has been verified
first_name (string)
language_preference (string)
user’s preferred language
last_active (string)
last time user access the site
last_name (string)
roles (array of string)
user’s roles; only available to an administrator
sso_tokens (array of string)
user’s sso tokens; only available to an administrator
signed_up (boolean)
timezone (string)
user’s default timezone
User Reference
first_name (string)
last_name (string)
email (string)
id (integer)
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": 1, "active": true, "custom_fields": { "applicant": [ { "id": 1, "name": "string", "value": "string" } ], "reviewer": [ { "id": 1, "name": "string", "value": "string" } ], "recommender": [ { "id": 1, "name": "string", "value": "string" } ] }, "email": "string", "email_subscribed": true, "email_verified": true, "first_name": "string", "language_preference": "string", "last_active": "2023-02-17T01:28:34.788838", "last_name": "string", "roles": [ "applicant" ], "sso_tokens": [ "string1" ], "signed_up": true, "timezone": "string" }, { "first_name": "string", "last_name": "string", "email": "name@example.com", "id": 1 } ]
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- POST /api/users/
Create a user. Only applicant, recommenders and reviewers can be created with this call.
You must supply values for the required custom fields when creating users. A
400
is returned if required custom fields are not supplied.Only admins with the
Add users
permission can make this call.Endpoint properties
active (boolean)
available to admin only
custom_fields (object)
applicant (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
reviewer (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
recommender (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
email (string)
email_subscribed (boolean)
true if user will receive emails
email_verified (boolean)
true if user’s email address has been verified
first_name (string)
language_preference (string)
user’s preferred language
last_active (string)
last time user access the site
last_name (string)
roles (array of string)
user’s roles; only available to an administrator
sso_tokens (string)
user’s sso tokens; only available to an administrator; can only be set on account creation; readonly once set
signed_up (boolean)
timezone (string)
user’s default timezone
Example request:
POST /api/users/ HTTP/1.1 Host: example.com Content-Type: application/json { "active": true, "custom_fields": { "applicant": [ { "id": 1, "name": "string", "value": "string" } ], "reviewer": [ { "id": 1, "name": "string", "value": "string" } ], "recommender": [ { "id": 1, "name": "string", "value": "string" } ] }, "email": "string", "email_subscribed": true, "email_verified": true, "first_name": "string", "language_preference": "string", "last_name": "string", "roles": [ "applicant" ], "sso_tokens": "string", "signed_up": true, "timezone": "string" }
- Status Codes:
created
Endpoint properties
id (integer)
active (boolean)
available to admin only
custom_fields (object)
applicant (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
reviewer (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
recommender (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
email (string)
email_subscribed (boolean)
true if user will receive emails
email_verified (boolean)
true if user’s email address has been verified
first_name (string)
language_preference (string)
user’s preferred language
last_active (string)
last time user access the site
last_name (string)
roles (array of string)
user’s roles; only available to an administrator
sso_tokens (array of string)
user’s sso tokens; only available to an administrator
signed_up (boolean)
timezone (string)
user’s default timezone
Example response:
HTTP/1.1 201 Created Content-Type: application/json { "id": 1, "active": true, "custom_fields": { "applicant": [ { "id": 1, "name": "string", "value": "string" } ], "reviewer": [ { "id": 1, "name": "string", "value": "string" } ], "recommender": [ { "id": 1, "name": "string", "value": "string" } ] }, "email": "string", "email_subscribed": true, "email_verified": true, "first_name": "string", "language_preference": "string", "last_active": "2023-02-17T01:28:34.788838", "last_name": "string", "roles": [ "applicant" ], "sso_tokens": [ "string1" ], "signed_up": true, "timezone": "string" }
400 Bad Request – Bad request; see response body for error messages
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
429 Too Many Requests – Rate limit exceeded
- GET /api/users/{id}/
Fetch a site user. Non-admin users will see a user reference for everyone except themselves; admins will see the complete user representation.
The list of users returned depends on the role of the caller:
applicants can see any collaborators as well as people they have requested recommendations from. They can also see reviewers if reviewers have been made visible in the review stage.
recommenders can see applicants they need to recommend
reviewers can see applicant for any application they have been assigned if that option has been enabled in the review stage
admins can see all users in the system if they have the XX permission.
- Parameters:
id (integer) – User ID
Example request:
GET /api/users/{id}/ HTTP/1.1 Host: example.com Accept: application/json
- Status Codes:
200 OK –
Call was successful
Endpoint properties
id (integer)
active (boolean)
available to admin only
custom_fields (object)
applicant (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
reviewer (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
recommender (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
email (string)
email_subscribed (boolean)
true if user will receive emails
email_verified (boolean)
true if user’s email address has been verified
first_name (string)
language_preference (string)
user’s preferred language
last_active (string)
last time user access the site
last_name (string)
roles (array of string)
user’s roles; only available to an administrator
sso_tokens (array of string)
user’s sso tokens; only available to an administrator
signed_up (boolean)
timezone (string)
user’s default timezone
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "active": true, "custom_fields": { "applicant": [ { "id": 1, "name": "string", "value": "string" } ], "reviewer": [ { "id": 1, "name": "string", "value": "string" } ], "recommender": [ { "id": 1, "name": "string", "value": "string" } ] }, "email": "string", "email_subscribed": true, "email_verified": true, "first_name": "string", "language_preference": "string", "last_active": "2023-02-17T01:28:34.788838", "last_name": "string", "roles": [ "applicant" ], "sso_tokens": [ "string1" ], "signed_up": true, "timezone": "string" }
401 Unauthorized – Caller is not authenticated
403 Forbidden – Caller does not have the required permissions
404 Not Found – User does not exist
429 Too Many Requests – Rate limit exceeded
- PATCH /api/users/{id}/
Update an existing user. Non-admins can only update themselves.
Admins with the
Assume role
permission can make this call.- Parameters:
id (integer) – User ID
Endpoint properties
active (boolean)
available to admin only
custom_fields (object)
applicant (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
reviewer (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
recommender (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
email (string)
email_subscribed (boolean)
true if user will receive emails
email_verified (boolean)
true if user’s email address has been verified
first_name (string)
language_preference (string)
user’s preferred language
last_active (string)
last time user access the site
last_name (string)
roles (array of string)
user’s roles; only available to an administrator
signed_up (boolean)
timezone (string)
user’s default timezone
Example request:
PATCH /api/users/{id}/ HTTP/1.1 Host: example.com Content-Type: application/json { "active": true, "custom_fields": { "applicant": [ { "id": 1, "name": "string", "value": "string" } ], "reviewer": [ { "id": 1, "name": "string", "value": "string" } ], "recommender": [ { "id": 1, "name": "string", "value": "string" } ] }, "email": "string", "email_subscribed": true, "email_verified": true, "first_name": "string", "language_preference": "string", "last_name": "string", "roles": [ "applicant" ], "signed_up": true, "timezone": "string" }
- Status Codes:
200 OK –
User updated
Endpoint properties
id (integer)
active (boolean)
available to admin only
custom_fields (object)
applicant (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
reviewer (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
recommender (array of object)
id (integer)
custom field ID
name (string)
name of the custom field
value (string)
the custom field’s value
email (string)
email_subscribed (boolean)
true if user will receive emails
email_verified (boolean)
true if user’s email address has been verified
first_name (string)
language_preference (string)
user’s preferred language
last_active (string)
last time user access the site
last_name (string)
roles (array of string)
user’s roles; only available to an administrator
sso_tokens (array of string)
user’s sso tokens; only available to an administrator
signed_up (boolean)
timezone (string)
user’s default timezone
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "active": true, "custom_fields": { "applicant": [ { "id": 1, "name": "string", "value": "string" } ], "reviewer": [ { "id": 1, "name": "string", "value": "string" } ], "recommender": [ {