The ServiceReef API is designed for organizations to pull data about their account. API is a RESTful API that accepts and returns JSON.
Each request must be made over HTTPS and authorized with a unique API Key, discussed in Authentication section below. A 403 status code will be returned if request is made over HTTP.
https://api.servicereef.com
https://api.servicereef.com/v1/events
The ServiceReef API uses OAuth Client Credentials grant. API keys can be generated from API Keys page in organization profile.
First, client must obtain authorization token from Token Endpoint (https://api.servicereef.com/OAuth/Token)
Example request:
POST https://api.servicereef.com/OAuth/Token HTTP/1.1
grant_type=client_credentials&client_id=APPID&client_secret=KEY
Both APP ID and KEY can be generated from the API Keys page
This endpoint will return a bearer token. All of the subsequent requests made to the API must include the Authorization Header with the following format:
Authorization: Bearer TOKENEach API endpoint that returns a list of results includes paging that returns the current page, page size, and total number of records.
Each succesful response will return 200 status code. Invalid request will return 4xx or 5xx codes and an object of class ErrorResult.
Example:
{
"Message":"Invalid request.",
"ValidationErrors":
{
"Title":["The Title field is required."]
}
}
API | Description |
---|---|
GET v1/Activities |
Get all the activities |
API | Description |
---|---|
GET v1/categories |
Get all of the custom categories for your organization |
GET v1/categories/{categoryId} |
Returns the details and available options for a particular category |
API | Description |
---|---|
GET v1/events |
Returns a list of events for organization |
GET v1/events/{eventId} |
Get details for a single event |
GET v1/events/{eventId}/participants |
Returns a list of participants for an event |
GET v1/events/{eventId}/payments |
Returns a list of payments for this event |
POST v1/events/{eventId}/register/{userId} |
Register user for an opportunity |
GET v1/events/{eventId}/tasks |
Returns a list of tasks for this event |
GET v1/events/{eventId}/participants/{participantId}/tasks |
Returns a list of tasks for event and participant |
POST v1/events/{eventId}/tasks/{taskId}/complete |
Complete an opportunity task |
API | Description |
---|---|
GET v1/forms |
Returns organization's forms |
GET v1/forms/{formId} |
Returns organization's form |
GET v1/forms/{formId}/responses |
Returns answers for completed organization's forms |
API | Description |
---|---|
GET v1/groups |
Returns a list of groups for organization |
GET v1/groups/{groupId} |
Get details for a single group |
API | Description |
---|---|
GET v1/members |
Returns a list of members for organization |
GET v1/members/{userId} |
Returns details about a member |
GET v1/members/external/{userExternalId} |
Returns details about a member |
GET v1/members/{userId}/forms |
Returns answers for forms user has completed |
GET v1/members/{userId}/positions |
Returns positions assigned to a member |
GET v1/members/{userId}/donationsreceived |
Returns donations made for a member |
GET v1/members/{userId}/files |
Returns files associated with a member |
POST v1/members/{userId}/externalId |
Set external identifier for a member |
POST v1/members/create |
Create member account in limited status |
API | Description |
---|---|
GET v1/partners |
Returns a list of partners for organization |
GET v1/partners/events |
Returns a list of opportunities for partners |
GET v1/partners/events/{eventId}/participants |
Returns a list of participants for a partner opportunity |
API | Description |
---|---|
GET v1/payments |
Returns a list of transactions for an organization including donations and payments |
POST v1/payments/add |
Create a new donation(transaction) |
POST v1/payments/{transactionId} |
Update an existing donation(transaction) |
DELETE v1/payments/{transactionId} |
Delete a donation(fundraising) |
API | Description |
---|---|
GET v1/positions |
Returns organization's positions |
GET v1/positions/{positionId} |
Returns organization's position |
GET v1/positions/{positionId}/members |
Returns members assigned to a position |
POST v1/positions/add |
Add a new position |
POST v1/positions/{positionId} |
Update a position |
POST v1/positions/{positionId}/archive |
Archive a position |
API | Description |
---|---|
GET v1/tasks |
Returns a list of track tasks |
API | Description |
---|---|
PUT v1/webhooks/{id} |
Updates the specified webhook |
DELETE v1/webhooks/{id} |
Removes the specified webhook |
GET v1/Webhooks |
Lists the webhooks registered for this organization |
POST v1/Webhooks |
Creates a new webhook |