Overview
Recent Updates
Click here for recent updates.
HTTP verbs
The Raken Public API tries to adhere as closely as possible to standard HTTP and REST conventions in its use of HTTP verbs.
Verb | Usage |
---|---|
|
Used to retrieve a resource or a list of resources |
|
Used to create a resource |
|
Used to update a resource. The value of |
HTTP status codes
The Raken Public API tries to adhere as closely as possible to standard HTTP and REST conventions in its use of HTTP status codes.
Status code | Usage |
---|---|
|
The request completed successfully |
|
Indicates the response was not modified from the previous execution (using ETag/If-None-Matches) |
|
The request was malformed. The response body will include an error providing further information |
|
The credentials provided to the request were not sufficient |
|
The requested resource did not exist |
|
The API rate or burst limits are exceeded |
|
The API quota is reached |
HTTP Parameters
The Raken Public API tries to adhere to single-value parameter and multi-valued parameters. When it is multi-valued, generally the parameter naming convention are plural. e.g. projectUuids or classificationUuids
Parameters | Usage |
---|---|
|
GET /workLogs?fromDate=2022-11-01&toDate=2022-12-01&projectUuid=5c0de6b3-c871-4987-962e-f214f958d241 |
|
GET /members?classificationUuids=d8d5e0b2-9232-424a-8fbf-ce689a06a0aa,b516b197-f5c6-4fd7-ac94-530c03b11c06 |
|
GET /members?classificationUuids=d8d5e0b2-9232-424a-8fbf-ce689a06a0aa&classificationUuids=b516b197-f5c6-4fd7-ac94-530c03b11c06 |
Authorization
The Raken Public API is protected by Access Token that can be obtained via an OAuth 2.0 Flow.
The following are Raken OAuth 2.0 Flow properties:
Property | Value |
---|---|
|
|
Authorization URL |
|
Token URL |
|
Redirect URI |
Validation NOT enforced currently in Raken |
Create an OAuth 2.0 App
Create your OAuth 2.0 app at https://app.rakenapp.com/developer/apps (you MUST log in as Account Administrator).
Take note of client_id and client_secret which will be used in later steps in the OAuth 2.0 Flow.
|
Initiate the OAuth 2.0 Flow
OAuth 2.0 Flow can be initiated by calling the Authorization URL with
-
response_type=code
-
client_id=<client_id>
-
redirect_uri=<redirect_uri>
For example:
https://app.rakenapp.com/oauth/authorize?response_type=code&client_id=<client_id>&redirect_uri=https://localhost:8080
As part of the OAuth 2.0 Flow, you will be asked to log in Raken in browser to authorize the access.
Once you have logged in, your application will receive a response, via redirect_uri
, which contains code
that can be used to request an access token.
This is the only step in the Authorization Code OAuth 2.0 Flow that requires a human-interaction. |
An example of response:
{
code: "wCGAk2"
}
Request an Access token
Once your application receives the code
, it can request an access token by calling the Token URL.
For example:
curl -X POST 'https://app.rakenapp.com/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=authorization_code' \
--data-urlencode 'code=<code>' \
--data-urlencode 'client_id=<client_id>' \
--data-urlencode 'client_secret=<client_secret>'
An example of response:
{
"access_token":"vbkNQb6vrsnZe/Sz2c...xbelSdHXCWHwr50pSLmdvn6o3THLjlWYoR3WKpohN3+VX4ubZ5XkNZ4",
"refresh_token":"8bdb2859-031b-4dae-9cbb-2d4b3bf096ca",
"scope":[
"api"
],
"token_type":"bearer",
"expires_in":36000
}
Notes:
|
Request a New Access token
curl -X POST 'https://app.rakenapp.com/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=refresh_token' \
--data-urlencode 'client_id=<client_id>' \
--data-urlencode 'client_secret=<client_secret>' \
--data-urlencode 'refresh_token=<refresh_token>'
An example of response:
{
"access_token":"WuB29cxca/jwrsO9jO...WsMTyYOj88AHP3zgpV3Qe+eMM7WodHzYlsnyvXGNRLAPTdO7dgbeI7i",
"refresh_token":"8bdb2859-031b-4dae-9cbb-2d4b3bf096ca",
"scope":[
"api"
],
"token_type":"bearer",
"expires_in":36000
}
Making an API call
Here is an example API call (using curl) utilizing an access token:
curl -X GET "https://developer.rakenapp.com/api/projects?limit=10&offset=0&statuses=ACTIVE" -H "Accept: application/json" -H "Authorization: Bearer <access_token>"
Request Headers
Name | Description |
---|---|
|
The Authorization Request Header. Format: "Bearer <access_token>". |
Response Headers
Name | Description |
---|---|
|
Identifier representing the response content (May be used for conditional requests) |
|
The Content-Type of the payload, e.g. |
Paging
Many of the requests accept parameters that indicate the paging constraints. This API uses an offset and limit approach to paging. Paged responses return their values within two objects. One describes the page that is being returned, and the other is the collection of items. If the offset is greater than the number of items within the system, a limit of '-1' will be returned.
Page Request
The Common page request parameters:
Parameter | Description | Optional | Constraints |
---|---|---|---|
changedSince |
Return only projects updated at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only projects updated before this time, exclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
offset |
The (zero-based) offset of the first item in the collection to return (Default: 0) |
true |
>= 0 |
limit |
The maximum number of entries to return (Default: 10) |
true |
Min: 1, Max: 1,000 |
Page Response
The Common Page object is described here:
Path | Type | Description |
---|---|---|
next |
String |
URI to request the next page, keeping the limit consistent |
previous |
String |
URI to request the previous page, keeping the limit consistent |
limit |
Number |
The limit used to generate the page Must be at least 1 Must be at most 1000 |
offset |
Number |
The offset value used to generate the page Must be at least 0 |
nextOffset |
String |
The offset of the next element |
totalElements |
Number |
The total number of elements matching the request |
API Rate Limiting
In order to respond quickly to your REST API calls, Raken has implemented overload protection for Public API via rate limiting.
If you are calling the API too frequently or have exceeded the quota available for your company, further API calls would be throttled and fail with HTTP status code 429. In a case where rate limiting occurs, you can retry after the end of the reporting period when API calls will be allowed again.
These limits are enforced on the Public API:
-
Rate limit restricts the maximum number of API requests a user can make per second. When exceeded, the API returns HTTP 429 (Too Many requests).
-
Burst limit restricts the maximum number of API requests a user can make concurrently. When exceeded, the API returns HTTP 429 (Too Many requests).
-
Quota restricts the maximum number of API requests a user can make per day. When exceeded, the API returns HTTP 429 (Limit Exceeded).
The limits are configured by Raken based on your subscription plan. Please contact your customer service manager for details.
Test with Postman
Import Raken Public API 3.0 Postman Collection
-
Make sure you have Postman installed on your system. If you haven’t already done so, you can download and install it from Postman’s official website.
-
Copy this link: Raken Public API 3.0 Postman Collection
-
Open Postman, click
Import
, and paste the link to import the collection.
Obtain Client Id and Secret
To use the Raken Public API, you need to obtain your client_id
and client_secret
. You can do this by following these steps:
-
Visit the Raken Developer Page at https://app.rakenapp.com/developer/apps.
-
Create a new app or use an existing one to obtain your
client_id
andclient_secret
from the App. -
Save the
client_id
andclient_secret
to two variables under theVariables
section on the Postman collection’s home page:-
api_client_id
-
api_client_secret
-
Get a New Access Token
-
Click
Get New Access Token
under theAuthorization
section on the Postman collection’s home page. This action initiates an OAuth2 flow. -
You will be redirected to a browser window where you will be prompted to log in using your Raken user credentials.
-
Once the OAuth2 flow is complete, an access token will be returned.
-
Click
Use Token
to save the token for making public API calls.
Make API Calls
With the access token in place, you can now select and make API calls from the collection. Please note that the payload for some API calls in the collection is for demonstration purposes only. For detailed API information, refer to the API documentation below.
Resources
Notes:
|
Users
Get User Info
A GET
request will return the info of the user who is making the API call.
Refer to OpenID Connect for more details about the standard.
Response fields
Path | Type | Description |
---|---|---|
sub |
String |
Subject Identifier (Unique identifier for the user) |
firstName |
String |
First Name for the user |
lastName |
String |
Last Name for the user |
String |
Email for the user |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/userInfo' -i -X GET
Response body
{
"sub" : "b13da0d7-e7fa-4dc6-a038-6d351f8a845e",
"email" : "Will.Smith@rakenapp.com",
"firstName" : "Will",
"lastName" : "Smith"
}
Projects
List
A GET
request will list all the projects.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectStates |
(Deprecated) Use 'statuses' |
true |
Enums: ACTIVE, INACTIVE, DELETED |
statuses |
Restrict the projects to the projects with this status. Multiple statuses can be specified. |
true |
Enums: ACTIVE, INACTIVE, DELETED |
changedSince |
Return only projects updated at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only projects updated before this time, exclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the project |
name |
String |
Project Name |
number |
String |
Project Number |
startDate |
String |
Project Start Date Format: "yyyy-MM-dd" |
endDate |
String |
Project End Date Format: "yyyy-MM-dd" |
status |
String |
Status of project Enums: ACTIVE, INACTIVE, DELETED |
address.streetAddress1 |
String |
First line of the street address |
address.streetAddress2 |
String |
Second line of the street address |
address.city |
String |
City |
address.state |
String |
State |
address.country |
String |
Country |
address.postalCode |
String |
Postal Code |
externalId |
String |
Unique identifier for the project in an integrated external system |
externalEmailRecipients |
Array |
Email addresses of external recipients for the project |
internalEmailRecipients |
Array |
Email addresses of internal recipients for the project |
createdAt |
String |
Date and Time (UTC) when the project was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the project was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects?statuses=ACTIVE&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/projects?statuses=ACTIVE&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&offset=0&limit=5",
"next" : "/projects?statuses=ACTIVE&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "47f1bf40-895f-44ea-9fe8-87cf6a2f7c1a",
"name" : "Fahey Group",
"number" : "PRJ1",
"address" : {
"streetAddress1" : "65167 Schneider Mill",
"streetAddress2" : "",
"city" : "Farrellshire",
"state" : "Iowa",
"country" : "US",
"postalCode" : "74293-7620"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|876-58-5003",
"externalEmailRecipients" : [ "cornelius.marks@hotmail.com", "susan.dickens@yahoo.com" ],
"internalEmailRecipients" : [ "doug.abbott@hotmail.com" ],
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"uuid" : "b3b3e217-ed54-4244-9539-637185ff71a7",
"name" : "Mann LLC",
"number" : "PRJ2",
"address" : {
"streetAddress1" : "542 Lida Lakes",
"streetAddress2" : "",
"city" : "West Xuan",
"state" : "Indiana",
"country" : "US",
"postalCode" : "88743-7620"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|293-72-3694",
"externalEmailRecipients" : [ "douglass.gutkowski@hotmail.com", "edgar.veum@yahoo.com" ],
"internalEmailRecipients" : [ "collin.nienow@gmail.com" ],
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"uuid" : "1a0c3ded-92c6-4f59-9a9f-37ae58140b51",
"name" : "Ferry, Kshlerin and Frami",
"number" : "PRJ3",
"address" : {
"streetAddress1" : "72743 Runolfsdottir Unions",
"streetAddress2" : "",
"city" : "Louisbury",
"state" : "Pennsylvania",
"country" : "US",
"postalCode" : "05271"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|616-70-4906",
"externalEmailRecipients" : [ "ruthann.pfeffer@gmail.com", "kyra.sporer@hotmail.com" ],
"internalEmailRecipients" : [ "larry.kuphal@hotmail.com" ],
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"uuid" : "14fcb77f-3359-412d-931a-2d10e8fe41fe",
"name" : "Zboncak, Gleichner and O'Connell",
"number" : "PRJ4",
"address" : {
"streetAddress1" : "66449 Antonietta Spurs",
"streetAddress2" : "",
"city" : "East Elmira",
"state" : "Nevada",
"country" : "US",
"postalCode" : "77092-7051"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|224-19-2652",
"externalEmailRecipients" : [ "jayson.grady@hotmail.com", "iris.carter@yahoo.com" ],
"internalEmailRecipients" : [ "chase.hartmann@gmail.com" ],
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"uuid" : "01cc6831-1f8b-46ad-8803-1b776cd6547b",
"name" : "Boyer-Pollich",
"number" : "PRJ5",
"address" : {
"streetAddress1" : "8937 Franecki River",
"streetAddress2" : "",
"city" : "Jacelynville",
"state" : "Arizona",
"country" : "US",
"postalCode" : "04306-3314"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|430-64-7142",
"externalEmailRecipients" : [ "odelia.howe@yahoo.com", "roxann.paucek@yahoo.com" ],
"internalEmailRecipients" : [ "larue.hauck@gmail.com" ],
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
} ]
}
Create
A POST
request will create a new project.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Project Name |
false |
Must not be blank |
number |
String |
Project Number |
true |
|
address |
Object |
Street address |
true |
|
address.streetAddress1 |
String |
First line of the street address |
true |
|
address.streetAddress2 |
String |
Second line of the street address |
true |
|
address.city |
String |
City |
true |
|
address.state |
String |
State |
true |
|
address.country |
String |
Country |
true |
|
address.postalCode |
String |
Postal Code |
true |
|
startDate |
String |
Project Start Date |
false |
Format: "yyyy-MM-dd" Must not be null |
endDate |
String |
Project End Date |
true |
Format: "yyyy-MM-dd" |
status |
String |
Status of project |
true |
Enums: ACTIVE, INACTIVE, DELETED |
externalEmailRecipients |
Array |
Email addresses of external recipients for the project |
true |
Must be valid email address(es) |
internalEmailRecipients |
Array |
Email addresses of internal recipients for the project |
true |
Must be valid email address(es) |
externalId |
String |
Unique identifier for the project in an integrated external system |
true |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the project |
name |
String |
Project Name |
number |
String |
Project Number |
startDate |
String |
Project Start Date Format: "yyyy-MM-dd" |
endDate |
String |
Project End Date Format: "yyyy-MM-dd" |
status |
String |
Status of project Enums: ACTIVE, INACTIVE, DELETED |
address.streetAddress1 |
String |
First line of the street address |
address.streetAddress2 |
String |
Second line of the street address |
address.city |
String |
City |
address.state |
String |
State |
address.country |
String |
Country |
address.postalCode |
String |
Postal Code |
externalId |
String |
Unique identifier for the project in an integrated external system |
externalEmailRecipients |
Array |
Email addresses of external recipients for the project |
internalEmailRecipients |
Array |
Email addresses of internal recipients for the project |
createdAt |
String |
Date and Time (UTC) when the project was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the project was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "Powlowski Inc",
"number" : "PRJ103",
"address" : {
"streetAddress1" : "554 Gregoria Stream",
"streetAddress2" : "",
"city" : "Erdmanfurt",
"state" : "Hawaii",
"country" : "US",
"postalCode" : "55787-9330"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|206-52-0693",
"externalEmailRecipients" : [ "lionel.denesik@gmail.com", "dalton.bins@gmail.com" ],
"internalEmailRecipients" : [ "palma.zulauf@yahoo.com" ]
}'
Response body
{
"uuid" : "0881a3e7-9556-4f03-aefc-f6732ef21196",
"name" : "Powlowski Inc",
"number" : "PRJ103",
"address" : {
"streetAddress1" : "554 Gregoria Stream",
"streetAddress2" : "",
"city" : "Erdmanfurt",
"state" : "Hawaii",
"country" : "US",
"postalCode" : "55787-9330"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|206-52-0693",
"externalEmailRecipients" : [ "lionel.denesik@gmail.com", "dalton.bins@gmail.com" ],
"internalEmailRecipients" : [ "palma.zulauf@yahoo.com" ],
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}
Update
A PATCH
request will update a project.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Project Name |
true |
Must not be blank |
number |
String |
Project Number |
true |
|
address |
Object |
Street address |
true |
|
address.streetAddress1 |
String |
First line of the street address |
true |
|
address.streetAddress2 |
String |
Second line of the street address |
true |
|
address.city |
String |
City |
true |
|
address.state |
String |
State |
true |
|
address.country |
String |
Country |
true |
|
address.postalCode |
String |
Postal Code |
true |
|
startDate |
String |
Project Start Date |
true |
Format: "yyyy-MM-dd" |
endDate |
String |
Project End Date |
true |
Format: "yyyy-MM-dd" |
status |
String |
Status of project |
true |
Enums: ACTIVE, INACTIVE, DELETED |
externalEmailRecipients |
Array |
Email addresses of external recipients for the project |
true |
Must be valid email address(es) |
internalEmailRecipients |
Array |
Email addresses of internal recipients for the project |
true |
Must be valid email address(es) |
externalId |
String |
Unique identifier for the project in an integrated external system |
true |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the project |
name |
String |
Project Name |
number |
String |
Project Number |
startDate |
String |
Project Start Date Format: "yyyy-MM-dd" |
endDate |
String |
Project End Date Format: "yyyy-MM-dd" |
status |
String |
Status of project Enums: ACTIVE, INACTIVE, DELETED |
address.streetAddress1 |
String |
First line of the street address |
address.streetAddress2 |
String |
Second line of the street address |
address.city |
String |
City |
address.state |
String |
State |
address.country |
String |
Country |
address.postalCode |
String |
Postal Code |
externalId |
String |
Unique identifier for the project in an integrated external system |
externalEmailRecipients |
Array |
Email addresses of external recipients for the project |
internalEmailRecipients |
Array |
Email addresses of internal recipients for the project |
createdAt |
String |
Date and Time (UTC) when the project was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the project was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects/0a389f6e-fba7-403f-a682-564f1b1cf311' -i -X PATCH \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "Metz, Streich and Kautzer",
"number" : "PRJ202",
"address" : {
"streetAddress1" : "80374 Farrell Locks",
"streetAddress2" : "",
"city" : "Wanitachester",
"state" : "Maryland",
"country" : "US",
"postalCode" : "65717-9525"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|890-35-7853",
"externalEmailRecipients" : [ "merrill.stehr@yahoo.com", "shameka.koss@gmail.com" ],
"internalEmailRecipients" : [ "xavier.rolfson@yahoo.com" ]
}'
Response body
{
"uuid" : "0a389f6e-fba7-403f-a682-564f1b1cf311",
"name" : "Metz, Streich and Kautzer",
"number" : "PRJ202",
"address" : {
"streetAddress1" : "80374 Farrell Locks",
"streetAddress2" : "",
"city" : "Wanitachester",
"state" : "Maryland",
"country" : "US",
"postalCode" : "65717-9525"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|890-35-7853",
"externalEmailRecipients" : [ "merrill.stehr@yahoo.com", "shameka.koss@gmail.com" ],
"internalEmailRecipients" : [ "xavier.rolfson@yahoo.com" ],
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}
Get Child Projects
A GET
request will return all the child projects for a parent project.
Raken allows a customer to invite external users from other companies to work on a project on the customer’s Raken account. These external users are referred as collaborators
in Raken.
If a collaborator doesn’t have an existing Raken account, Raken will create a new account for the collaborator. Also, a new project will be created on the collaborator’s account, and the collaborator will become a team member on that project.
The original project where a collaborator is invited to is called a Parent
project, while the project created for the collaborator on the other Raken account is called a Child
project.
This API endpoint enables an API user to retrieve information about all child projects for a parent project. Calling this API on a child project will always get empty response.
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the project |
name |
String |
Project Name |
startDate |
String |
Project Start Date Format: "yyyy-MM-dd" |
endDate |
String |
Project End Date Format: "yyyy-MM-dd" |
status |
String |
Status of project Enums: ACTIVE, INACTIVE, DELETED |
company.uuid |
String |
Unique identifier for the company that owns the project |
company.name |
String |
Name of the company that owns the project |
createdBy.uuid |
String |
Unique identifier for the user who created the project |
createdBy.name |
String |
Name of the user who created the project |
updatedBy.uuid |
String |
Unique identifier for the user who last updated the project |
updatedBy.name |
String |
Name of the user who last updated the project |
createdAt |
String |
Date and Time (UTC) when the project was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the project was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects/e314cbf2-1e75-4b07-be50-b61c68dd7e96/childProjects' -i -X GET
Response body
{
"page" : {
"offset" : 0,
"limit" : 3,
"totalElements" : 3
},
"collection" : [ {
"createdAt" : "2022-07-17T22:47:03Z",
"updatedBy" : {
"name" : "Mario Macejkovic DDS",
"uuid" : "dcfa6938-d506-4a69-acef-6bedb9237a92"
},
"endDate" : "2022-12-01",
"createdBy" : {
"name" : "Aleida Walsh",
"uuid" : "590c084f-c605-4104-8050-d2e4a6e94f51"
},
"name" : "Facilis molestias dolorem doloremque inventore inventore.",
"company" : {
"name" : "Koelpin-Armstrong",
"uuid" : "773733bd-7a3e-4414-8340-d9a05a2a6d83"
},
"uuid" : "6a6fe81c-e1e5-4b79-8e17-d934bc515d2e",
"startDate" : "2022-01-01",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"createdAt" : "2022-07-17T22:47:03Z",
"updatedBy" : {
"name" : "Julissa Hettinger",
"uuid" : "f8dc9663-eb5d-4a07-9411-1327ad2050bf"
},
"endDate" : "2022-12-01",
"createdBy" : {
"name" : "Levi Roob",
"uuid" : "84292c4e-5212-45da-9abb-13593fe1bec8"
},
"name" : "Nulla doloremque eos aliquid.",
"company" : {
"name" : "Wehner, Lowe and Gorczany",
"uuid" : "55f186b8-13dc-43df-9ace-619d18abc2aa"
},
"uuid" : "c6e98f3c-714d-4de2-9c2f-92b1b404f739",
"startDate" : "2022-01-01",
"status" : "INACTIVE",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"createdAt" : "2022-07-17T22:47:03Z",
"updatedBy" : {
"name" : "Byron D'Amore I",
"uuid" : "7d4f6f10-3c75-482e-9177-3604b7a32579"
},
"endDate" : "2022-12-01",
"createdBy" : {
"name" : "Russel Jast",
"uuid" : "1635de05-547a-4756-94c7-b3772df2b514"
},
"name" : "Placeat dolore pariatur odit ipsum aut modi.",
"company" : {
"name" : "Ebert and Sons",
"uuid" : "f9e85c44-09dc-43b6-ae83-065365abf521"
},
"uuid" : "c7baff36-4d30-44e9-8b3b-275c9fe323b4",
"startDate" : "2022-01-01",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T20:41:27Z"
} ]
}
Get Project Notes
A GET
request will return all the project notes between a date range on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
fromDate |
Return notes created at or after this date |
false |
Format: "yyyy-MM-dd" |
toDate |
Return notes created at or before this date. The date range between fromDate and toDate must not exceed 31 days |
false |
Format: "yyyy-MM-dd" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the note |
description |
String |
Note description |
category |
String |
Note category Enums: NOTES, QUALITY, SAFETY |
date |
String |
Note date Format: "yyyy-MM-dd" |
attachments |
Array |
Note attachments |
attachments[].uuid |
String |
Unique identifier for this attachment |
attachments[].mediaType |
String |
Media type for this attachment Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
attachments[].url |
String |
URL for this attachment) |
attachments[].thumbnailUrl |
String |
Thumbnail URL for this attachment |
attachments[].contentType |
String |
Content type of the media, e.g., "image/jpeg" |
attachments[].description |
String |
Description of this attachment |
attachments[].fileName |
String |
File name of this attachment |
attachments[].fileSize |
Number |
Size of this attachment in bytes |
createdBy.uuid |
String |
Unique identifier for the user who created the note |
createdBy.name |
String |
Name of the user who created the note |
updatedBy.uuid |
String |
Unique identifier for the user who last updated the note |
updatedBy.name |
String |
Name of the user who last updated the note |
createdAt |
String |
Date and Time (UTC) when the note was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the note was last updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects/f4db4c6d-b00b-409d-a49b-20adc4402bf9/notes?fromDate=2022-07-01&toDate=2022-07-31&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"next" : "/projects/f4db4c6d-b00b-409d-a49b-20adc4402bf9/notes?offset=10&limit=5",
"offset" : 5,
"previous" : "/projects/f4db4c6d-b00b-409d-a49b-20adc4402bf9/notes?offset=0&limit=5",
"limit" : 5,
"nextOffset" : "10",
"totalElements" : 15
},
"collection" : [ {
"date" : "2022-07-17",
"createdAt" : "2022-07-17T22:47:03Z",
"attachments" : [ {
"fileName" : "earum.jpg",
"fileSize" : 23281,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "9a5295a9-dc32-4084-acdc-b01ac018cc96",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
}, {
"fileName" : "assumenda.jpg",
"fileSize" : 3468,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "46d2d2d2-88cd-42cd-8b65-cf28abb09744",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
} ],
"updatedBy" : {
"name" : "Clemente Kutch",
"uuid" : "2b5e7256-d730-4a96-8e7f-46cc0babd54d"
},
"createdBy" : {
"name" : "Terisa Hackett",
"uuid" : "af0f7b63-2f2e-44a9-a75f-60b12efc67da"
},
"description" : "Voluptatem sequi nesciunt nulla reprehenderit.",
"category" : "NOTES",
"uuid" : "f2bd20f1-9cf4-40b2-b027-5fa057ec9310",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"date" : "2022-07-17",
"createdAt" : "2022-07-17T22:47:03Z",
"attachments" : [ {
"fileName" : "sit.jpg",
"fileSize" : 2184,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "049a61f5-786a-4b99-a9d3-44abb6c080b9",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
}, {
"fileName" : "debitis.jpg",
"fileSize" : 67540,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "e5146613-8e0c-45ff-805c-cd862111b7f3",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
} ],
"updatedBy" : {
"name" : "Debby Stehr Jr.",
"uuid" : "fa2933b7-312d-4ce2-83f4-7bedbacbe92f"
},
"createdBy" : {
"name" : "Norman Cremin",
"uuid" : "58f1e0af-84ec-4055-8649-783c1c040307"
},
"description" : "Quia et veniam sint.",
"category" : "NOTES",
"uuid" : "40a9e1cc-b00a-4fcc-a3eb-3acf5a610b92",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"date" : "2022-07-17",
"createdAt" : "2022-07-17T22:47:03Z",
"attachments" : [ {
"fileName" : "praesentium.jpg",
"fileSize" : 3013,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "602f43d1-e6a2-4514-be90-ac47a2266477",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
}, {
"fileName" : "maiores.jpg",
"fileSize" : 21605,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "779a9069-4010-431b-9a0b-bab2f9cd21a2",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
} ],
"updatedBy" : {
"name" : "Filiberto Lowe",
"uuid" : "02791f17-e357-4a80-ab01-b1a5c4630ca8"
},
"createdBy" : {
"name" : "Roseline Leffler",
"uuid" : "f029b7d3-598a-41b1-ae59-eb24425a799f"
},
"description" : "Velit libero dicta optio aliquam aliquid voluptatem ea.",
"category" : "NOTES",
"uuid" : "fe9a0650-6c88-40bb-a585-6cda5e3ea2d5",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"date" : "2022-07-17",
"createdAt" : "2022-07-17T22:47:03Z",
"attachments" : [ {
"fileName" : "quae.jpg",
"fileSize" : 51140,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "5fd02751-e5c6-4fbb-9cbb-6425b229d7e2",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
}, {
"fileName" : "eveniet.jpg",
"fileSize" : 85158,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "e76dfc29-7726-40ee-bebf-461d8dacd982",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
} ],
"updatedBy" : {
"name" : "Ashley Schowalter",
"uuid" : "bcd66ee8-6a58-4e5d-8cc6-90828592f23d"
},
"createdBy" : {
"name" : "Ms. Imelda Schamberger",
"uuid" : "c92cb819-ff2d-4e06-a3c1-26d999fd789b"
},
"description" : "Cupiditate dolorem suscipit at atque.",
"category" : "SAFETY",
"uuid" : "59e8aff3-0ad0-4d65-b2d5-5b93efddbfb7",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"date" : "2022-07-17",
"createdAt" : "2022-07-17T22:47:03Z",
"attachments" : [ {
"fileName" : "itaque.jpg",
"fileSize" : 7083,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "66c43d62-df30-4227-a7bd-dcccbd7e10ed",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
}, {
"fileName" : "est.jpg",
"fileSize" : 27253,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "efaa8af4-bc29-45d2-9def-a2279f064203",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
} ],
"updatedBy" : {
"name" : "Dr. Jennifer Koch",
"uuid" : "f35b564a-85b6-4a65-8082-94375725869a"
},
"createdBy" : {
"name" : "Nicolas Satterfield IV",
"uuid" : "834a0681-9d89-4788-b629-2607e346bcc9"
},
"description" : "Minus ea et possimus consectetur.",
"category" : "QUALITY",
"uuid" : "bc97cfd6-befe-4ab4-83a5-cea6bee10c94",
"updatedAt" : "2022-07-19T20:41:27Z"
} ]
}
Get Project Members
A GET
request will return team members for a project on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
statuses |
Return only members with the given statuses. Multiple statuses can be specified. If not specified, only |
true |
Enums: ACTIVE, INVITED, INACTIVE, DELETED |
classificationUuids |
Return only members for the given classification |
true |
|
roles |
Return only members with the given roles. More than one role may be specified. |
true |
Enums: ROLE_WORKER, ROLE_USER, ROLE_ADMIN, ROLE_PROJECT_MEMBER |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the member |
firstName |
String |
First Name |
lastName |
String |
Last Name |
role |
String |
Role Enums: ROLE_WORKER, ROLE_USER, ROLE_ACCOUNT_ADMIN, ROLE_ADMIN, ROLE_PROJECT_MEMBER |
String |
||
phoneNumber |
String |
Phone Number |
username |
String |
User name (not applicable to ROLE_WORKER that cannot log in Raken |
title |
String |
Title |
employeeId |
String |
Employee Id (Unique if not empty) |
classificationUuid |
String |
Unique identifier of the classification for the member |
createdAt |
String |
Date and Time (UTC) when the member was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the member was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
lastLoginAt |
String |
Date and Time (UTC) when the member last logged in Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Member status Enums: ACTIVE, INVITED, INACTIVE, DELETED |
timeSettings |
Object |
Default times settings for the member |
timeSettings.blockTimeClock |
Boolean |
Flag that indicates whether or not this member may access the Time Clock feature. If true, they may not access the time clock. If true, they may not access the time clock Boolean value: true or false |
timeSettings.defaultCostCode |
String |
The unique identifier of this member’s default cost code |
timeSettings.defaultShift |
String |
The unique identifier of this member’s default shift |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects/eeef41b8-27d8-4d11-afa4-38a51fc8d9ff/members?statuses=ACTIVE,DELETED,INACTIVE,INVITED&roles=ROLE_WORKER,ROLE_USER&classificationUuids=1cff22dd-b9e9-460b-a55d-ddbb3b81690d,27d8d580-b0a8-4a0b-b960-fa79bf978368&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"next" : "/projects/eeef41b8-27d8-4d11-afa4-38a51fc8d9ff/members?statuses=ACTIVE,DELETED,INACTIVE,INVITED&roles=ROLE_WORKER,ROLE_USER&classificationUuids=1cff22dd-b9e9-460b-a55d-ddbb3b81690d,27d8d580-b0a8-4a0b-b960-fa79bf978368&offset=10&limit=5",
"offset" : 5,
"previous" : "/projects/eeef41b8-27d8-4d11-afa4-38a51fc8d9ff/members?statuses=ACTIVE,DELETED,INACTIVE,INVITED&roles=ROLE_WORKER,ROLE_USER&classificationUuids=1cff22dd-b9e9-460b-a55d-ddbb3b81690d,27d8d580-b0a8-4a0b-b960-fa79bf978368&offset=0&limit=5",
"limit" : 5,
"nextOffset" : "10",
"totalElements" : 15
},
"collection" : [ {
"lastName" : "Reynolds",
"role" : "ROLE_USER",
"employeeId" : "EMP00001",
"classificationUuid" : "5eedae48-57b8-41ef-a0e9-f9dc2c188355",
"title" : "Mr",
"uuid" : "e0f71fad-1e42-4637-b205-c382c7028047",
"firstName" : "Len",
"createdAt" : "2022-07-17T22:47:03Z",
"phoneNumber" : "(103) 864-4484 x769",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"email" : "boyd.wisozk@gmail.com",
"timeSettings" : {
"defaultCostCode" : "3bf30275-c967-43d1-baa3-c6100b6dd5a2",
"defaultShift" : "2021eb85-1c38-463d-b848-055ad142ea7d",
"blockTimeClock" : true
},
"username" : "boyd.wisozk@gmail.com",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"lastName" : "Von",
"role" : "ROLE_USER",
"employeeId" : "EMP00002",
"classificationUuid" : "97718c03-b064-44c0-a68c-25f1653b6887",
"title" : "Mrs",
"uuid" : "f3605c42-22f6-490c-9e57-993a246308d9",
"firstName" : "Frida",
"createdAt" : "2022-07-17T22:47:03Z",
"phoneNumber" : "366.723.1626 x7310",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"email" : "sherrie.prosacco@hotmail.com",
"timeSettings" : {
"defaultCostCode" : "8d52b008-4c55-4513-94af-add6f28f906e",
"defaultShift" : "df383020-6e96-48ca-81cb-69d3a17bcfa4",
"blockTimeClock" : true
},
"username" : "sherrie.prosacco@hotmail.com",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"lastName" : "Prosacco",
"role" : "ROLE_USER",
"employeeId" : "EMP00003",
"classificationUuid" : "e4ac1770-e32b-403e-b6b4-c8f0d2a2f8db",
"title" : "Mr",
"uuid" : "b57713fb-77f3-4736-8afe-fe22d3126666",
"firstName" : "Randee",
"createdAt" : "2022-07-17T22:47:03Z",
"phoneNumber" : "902-551-8093 x6830",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"email" : "grady.leannon@hotmail.com",
"timeSettings" : {
"defaultCostCode" : "2a5c0b5c-46f8-40f9-b309-377003c8f9a9",
"defaultShift" : "b3dfac22-6418-4c82-9818-5818e66b36f1",
"blockTimeClock" : true
},
"username" : "grady.leannon@hotmail.com",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"lastName" : "Hammes",
"role" : "ROLE_USER",
"employeeId" : "EMP00004",
"classificationUuid" : "101614b2-e2fe-42bc-93ad-a0333a47653a",
"title" : "Mrs",
"uuid" : "0aa224bd-8f73-4893-9a9f-d2cf9187ed82",
"firstName" : "Aron",
"createdAt" : "2022-07-17T22:47:03Z",
"phoneNumber" : "892.385.5247",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"email" : "alfonzo.durgan@gmail.com",
"timeSettings" : {
"defaultCostCode" : "ccb1c69f-7dc1-4d11-adcc-66450a4bbf90",
"defaultShift" : "0f67bb6e-7d24-4464-91b3-e9684333d9f2",
"blockTimeClock" : true
},
"username" : "alfonzo.durgan@gmail.com",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"lastName" : "Batz",
"role" : "ROLE_USER",
"employeeId" : "EMP00005",
"classificationUuid" : "1899ae0f-e1e5-43be-8e49-225a3f348446",
"title" : "Mr",
"uuid" : "c0f61b31-0aad-44df-b80c-ed305dcb0745",
"firstName" : "Markus",
"createdAt" : "2022-07-17T22:47:03Z",
"phoneNumber" : "670.068.5527 x10659",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"email" : "cyrus.hermiston@yahoo.com",
"timeSettings" : {
"defaultCostCode" : "d8276134-0ca7-4871-ae70-1bedf5f6262e",
"defaultShift" : "30bffc0a-c66c-41bf-b35c-a42107310ec0",
"blockTimeClock" : true
},
"username" : "cyrus.hermiston@yahoo.com",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T22:41:27Z"
} ]
}
Get Production Insights for a Project
A GET
request will return production insights for a project between a date range on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
fromDate |
Return production insights at or after this date. Defaults to the project start date if not provided |
true |
Format: "yyyy-MM-dd" |
toDate |
Return production insights at or before this date. Defaults to today’s date if not provided |
true |
Format: "yyyy-MM-dd" |
manualTracking |
Return projected totals data based on manual percent complete entries. If using automatic tracking based on materials installed, set to FALSE. Defaults to FALSE if not provided |
true |
Boolean value: true or false |
costCodeUuid |
Return production insights for specific cost code uuid |
true |
|
costCodeDivision |
Return production insights for specific cost code division |
true |
Entity response fields
Path | Type | Description |
---|---|---|
division |
String |
Cost Code division name |
budgetedHours |
Number |
Budgeted hours set for the Division |
actualHours |
Number |
Actual hours completed for the Division |
completeHoursPercent |
Number |
Complete percentage of budgeted hours for the Division (actualHours/budgetedHours) |
remainingHours |
Number |
Hours remaining in the division budget (budgetedHours - actualHours) |
completeQuantityPercent |
Number |
Percentage of material completed for the Division |
projectedTotalHours |
Number |
Projected total hours for the Division |
projectedHoursGainOrLoss |
Number |
Projected gain or lost of hours for the Division (budgetedHours - projectedTotalHours) |
costCodes |
Array |
Production insights by Cost Code in the Division |
costCodes[].actualHours |
Number |
Actual hours worked under the Cost Code |
costCodes[].actualQuantity |
Number |
Actual material quantity completed under the Cost Code |
costCodes[].projectedTotalHours |
Number |
Projected total hours on the Cost Code |
costCodes[].projectedHoursGainOrLoss |
Number |
Projected gain or lost of hours on the Cost Code (budgetedHours - projectedTotalHours) |
costCodes[].budgetedHours |
Number |
Budgeted hours set for the Cost Code |
costCodes[].budgetedQuantity |
Number |
Budgeted material quantity set for the Cost Code |
costCodes[].completeHoursPercent |
Number |
Complete percentage of budgeted hours for the Cost Code (actualHours/budgetedHours) |
costCodes[].progressHoursPercent |
Number |
Manual estimate of task completion percentage for the Cost Code entered by user |
costCodes[].remainingHours |
Number |
Remaining hours left in the budgeted hours for the Cost Code (budgetedHours - actualHours) |
costCodes[].costCode |
Object |
Details of the Cost Code |
costCodes[].costCode.uuid |
String |
Unique identifier for the Cost Code |
costCodes[].costCode.code |
String |
Code for the Cost Code |
costCodes[].costCode.division |
String |
Division for the Cost Code |
costCodes[].costCode.description |
String |
Description of the Cost Code |
costCodes[].materialStats |
Array |
Statistics of material consumption on the Cost Code |
costCodes[].materialStats[].budgetedQuantity |
Number |
Budgeted quantity of the Material |
costCodes[].materialStats[].actualQuantity |
Number |
Actual quantity installed for the Material |
costCodes[].materialStats[].completeQuantityPercent |
Number |
Percentage of actual quantity installed vs budgeted quantity of the Material (actualQuantity / budgetedQuantity) |
costCodes[].materialStats[].material |
Object |
Details of the Material |
costCodes[].materialStats[].material.uuid |
String |
Unique identifier of the Material |
costCodes[].materialStats[].material.name |
String |
Name of the Material |
costCodes[].materialStats[].material.materialUnit |
Object |
Material unit |
costCodes[].materialStats[].material.materialUnit.uuid |
String |
Unique identifier of the material unit |
costCodes[].materialStats[].material.materialUnit.name |
String |
Name of the material unit |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects/ce6c8a18-c545-48d9-b4bb-201e8652562f/productionInsights?fromDate=2022-07-01&toDate=2022-07-31&manualTracking=true&costCodeUuid=a55b52b7-589f-42d4-9bcb-8006f9964e0f&costCodeDivision=division&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"next" : "/projects/ce6c8a18-c545-48d9-b4bb-201e8652562f/notes?offset=10&limit=5",
"offset" : 5,
"previous" : "/projects/ce6c8a18-c545-48d9-b4bb-201e8652562f/notes?offset=0&limit=5",
"limit" : 5,
"nextOffset" : "10",
"totalElements" : 15
},
"collection" : [ {
"division" : "01",
"completeQuantityPercent" : 0.88,
"budgetedHours" : 268.54,
"costCodes" : [ {
"materialStats" : [ {
"completeQuantityPercent" : 1.01,
"material" : {
"name" : "Sand",
"uuid" : "036b5759-fc5f-4691-a0d8-051d3339728b",
"materialUnit" : {
"name" : "inch",
"uuid" : "6d92eb98-e504-4699-9e24-f2c6a9dec9f9"
}
},
"actualQuantity" : 604.2,
"budgetedQuantity" : 596.9
}, {
"completeQuantityPercent" : 1.2,
"material" : {
"name" : "Sand",
"uuid" : "15c6e045-8c8a-4344-9f02-c6d9c9e36d2e",
"materialUnit" : {
"name" : "inch",
"uuid" : "ced46a29-e7ab-432e-ab18-01fc7107be3c"
}
},
"actualQuantity" : 663.69,
"budgetedQuantity" : 549.75
} ],
"costCode" : {
"division" : "01",
"code" : "34-12725",
"description" : "Fugit harum minima.",
"uuid" : "75de5f86-f8a9-4465-9071-f71bd7d2da94"
},
"budgetedHours" : 492.41,
"actualQuantity" : 67.2,
"remainingHours" : -93.75,
"budgetedQuantity" : 18.88,
"projectedHoursGainOrLoss" : 142.36,
"projectedTotalHours" : 634.78,
"actualHours" : 586.15,
"completeHoursPercent" : 1.19,
"progressHoursPercent" : 0.42
}, {
"materialStats" : [ {
"completeQuantityPercent" : 0.97,
"material" : {
"name" : "Sand",
"uuid" : "4de1a976-d918-4428-9ce6-50c2d20fdcf5",
"materialUnit" : {
"name" : "inch",
"uuid" : "005e87a6-af0a-4519-95e0-153ea9eb16a7"
}
},
"actualQuantity" : 535.32,
"budgetedQuantity" : 551.86
}, {
"completeQuantityPercent" : 0.9,
"material" : {
"name" : "Sand",
"uuid" : "d70239c8-22c5-4953-aac5-7be4deadf7e4",
"materialUnit" : {
"name" : "inch",
"uuid" : "aef12a92-3dda-4868-8469-38dfc5c98bb8"
}
},
"actualQuantity" : 703.27,
"budgetedQuantity" : 778.42
} ],
"costCode" : {
"division" : "01",
"code" : "70-38065",
"description" : "Facilis ab aut.",
"uuid" : "72a9a84d-bcec-496c-9f08-7b580fa3e993"
},
"budgetedHours" : 906.57,
"actualQuantity" : 61.61,
"remainingHours" : 240.9,
"budgetedQuantity" : 6.75,
"projectedHoursGainOrLoss" : 800.77,
"projectedTotalHours" : 1707.35,
"actualHours" : 665.67,
"completeHoursPercent" : 0.73,
"progressHoursPercent" : 0.35
} ],
"remainingHours" : 31.14,
"projectedHoursGainOrLoss" : 1.72,
"projectedTotalHours" : 270.27,
"actualHours" : 237.4,
"completeHoursPercent" : 0.88
}, {
"division" : "02",
"completeQuantityPercent" : 1.06,
"budgetedHours" : 696.53,
"costCodes" : [ {
"materialStats" : [ {
"completeQuantityPercent" : 0.6,
"material" : {
"name" : "Sand",
"uuid" : "b52398dd-c14c-4ae8-bd06-6e2c359b965b",
"materialUnit" : {
"name" : "inch",
"uuid" : "4fcefe73-347f-42c3-9730-7d7d2bd5170e"
}
},
"actualQuantity" : 41.64,
"budgetedQuantity" : 69.35
}, {
"completeQuantityPercent" : 1.28,
"material" : {
"name" : "Sand",
"uuid" : "0c137039-bc1b-4a52-8d1e-e049f7a8273d",
"materialUnit" : {
"name" : "inch",
"uuid" : "a658570c-ea98-4dec-a914-25ee4e90a9cf"
}
},
"actualQuantity" : 1271.48,
"budgetedQuantity" : 991.65
} ],
"costCode" : {
"division" : "02",
"code" : "18-34158",
"description" : "Aut reprehenderit repellendus.",
"uuid" : "7392e71e-d72b-4d65-9321-ee5ef7e034cf"
},
"budgetedHours" : 623.01,
"actualQuantity" : 85.44,
"remainingHours" : 135.44,
"budgetedQuantity" : 38.34,
"projectedHoursGainOrLoss" : 343.11,
"projectedTotalHours" : 966.13,
"actualHours" : 487.57,
"completeHoursPercent" : 0.78,
"progressHoursPercent" : 0.34
}, {
"materialStats" : [ {
"completeQuantityPercent" : 0.04,
"material" : {
"name" : "Sand",
"uuid" : "e048edc1-bd47-4213-aef1-6e530e398e57",
"materialUnit" : {
"name" : "inch",
"uuid" : "78ea632a-2553-4ad0-a5a4-b489dc16dda3"
}
},
"actualQuantity" : 12.45,
"budgetedQuantity" : 287.06
}, {
"completeQuantityPercent" : 0,
"material" : {
"name" : "Sand",
"uuid" : "118f173b-fef2-48ca-be29-8eaec91ef057",
"materialUnit" : {
"name" : "inch",
"uuid" : "6e70eb2e-2864-4dbc-bbc9-cc9038eac901"
}
},
"actualQuantity" : 1.64,
"budgetedQuantity" : 186.77
} ],
"costCode" : {
"division" : "02",
"code" : "33-13322",
"description" : "Nihil ut aut.",
"uuid" : "9af37519-6e35-468d-ad22-2f3ba7bb39ac"
},
"budgetedHours" : 995.46,
"actualQuantity" : 43.2,
"remainingHours" : 326.32,
"budgetedQuantity" : 52.33,
"projectedHoursGainOrLoss" : 609.67,
"projectedTotalHours" : 1605.14,
"actualHours" : 669.14,
"completeHoursPercent" : 0.67,
"progressHoursPercent" : 0.55
} ],
"remainingHours" : -44.87,
"projectedHoursGainOrLoss" : 571.37,
"projectedTotalHours" : 1267.9,
"actualHours" : 741.4,
"completeHoursPercent" : 1.06
}, {
"division" : "03",
"completeQuantityPercent" : 0.05,
"budgetedHours" : 423.7,
"costCodes" : [ {
"materialStats" : [ {
"completeQuantityPercent" : 0.59,
"material" : {
"name" : "Sand",
"uuid" : "8ca3dfba-1c3f-4756-9723-250200efab9d",
"materialUnit" : {
"name" : "inch",
"uuid" : "d8f08d97-ec63-4c1b-a213-9a5b32a126b3"
}
},
"actualQuantity" : 334.81,
"budgetedQuantity" : 562.57
}, {
"completeQuantityPercent" : 1.03,
"material" : {
"name" : "Sand",
"uuid" : "e82b5197-a242-405a-ae99-be9cd9c5d2c9",
"materialUnit" : {
"name" : "inch",
"uuid" : "77b8e266-a2cd-4a68-b677-c735a6c2a0e8"
}
},
"actualQuantity" : 932.05,
"budgetedQuantity" : 899.94
} ],
"costCode" : {
"division" : "03",
"code" : "60-32054",
"description" : "Et excepturi.",
"uuid" : "28ed4ef7-dfa9-4f2b-a254-7576715db525"
},
"budgetedHours" : 728.37,
"actualQuantity" : 89.81,
"remainingHours" : 103.39,
"budgetedQuantity" : 18.92,
"projectedHoursGainOrLoss" : 30.74,
"projectedTotalHours" : 759.11,
"actualHours" : 624.98,
"completeHoursPercent" : 0.85,
"progressHoursPercent" : 0.85
} ],
"remainingHours" : 401.9,
"projectedHoursGainOrLoss" : 383.55,
"projectedTotalHours" : 807.26,
"actualHours" : 21.8,
"completeHoursPercent" : 0.05
}, {
"division" : "04",
"completeQuantityPercent" : 0.38,
"budgetedHours" : 330.42,
"costCodes" : [ {
"materialStats" : [ {
"completeQuantityPercent" : 0.27,
"material" : {
"name" : "Sand",
"uuid" : "9d023e17-3036-437c-816c-a8205b9e4264",
"materialUnit" : {
"name" : "inch",
"uuid" : "5fddac81-b0d8-41b6-aecc-6e62bea431ab"
}
},
"actualQuantity" : 21.51,
"budgetedQuantity" : 79.02
}, {
"completeQuantityPercent" : 0.4,
"material" : {
"name" : "Sand",
"uuid" : "57035b7f-b441-4731-87b7-134a036d8945",
"materialUnit" : {
"name" : "inch",
"uuid" : "1643f044-78f7-4c0d-938f-4b150f5ba0ba"
}
},
"actualQuantity" : 360.73,
"budgetedQuantity" : 900.78
} ],
"costCode" : {
"division" : "04",
"code" : "73-63748",
"description" : "Deserunt expedita nisi accusantium.",
"uuid" : "d895d715-dddd-4aeb-9084-346c24c3f795"
},
"budgetedHours" : 947.47,
"actualQuantity" : 66.35,
"remainingHours" : 136,
"budgetedQuantity" : 56.05,
"projectedHoursGainOrLoss" : 323.09,
"projectedTotalHours" : 1270.56,
"actualHours" : 811.46,
"completeHoursPercent" : 0.85,
"progressHoursPercent" : 0.24
} ],
"remainingHours" : 203.39,
"projectedHoursGainOrLoss" : 32.88,
"projectedTotalHours" : 363.31,
"actualHours" : 127.02,
"completeHoursPercent" : 0.38
}, {
"division" : "05",
"completeQuantityPercent" : 0.06,
"budgetedHours" : 180.46,
"costCodes" : [ {
"materialStats" : [ {
"completeQuantityPercent" : 1.07,
"material" : {
"name" : "Sand",
"uuid" : "1043fbd5-21c7-44af-9929-4663ffc8942f",
"materialUnit" : {
"name" : "inch",
"uuid" : "f836219d-acb2-4218-b085-631bc1065b1d"
}
},
"actualQuantity" : 692.19,
"budgetedQuantity" : 642.59
}, {
"completeQuantityPercent" : 0.88,
"material" : {
"name" : "Sand",
"uuid" : "95925e5d-5572-4ae3-b1c4-b24454bada16",
"materialUnit" : {
"name" : "inch",
"uuid" : "5b76dcb2-2f9f-4e67-9ec9-d38d306bed0e"
}
},
"actualQuantity" : 58.66,
"budgetedQuantity" : 66.46
} ],
"costCode" : {
"division" : "05",
"code" : "06-99344",
"description" : "Quo aspernatur nam a.",
"uuid" : "29752082-36ad-4135-ba8b-0d61ae2876c3"
},
"budgetedHours" : 954.85,
"actualQuantity" : 54.29,
"remainingHours" : 157.51,
"budgetedQuantity" : 85.56,
"projectedHoursGainOrLoss" : 304.25,
"projectedTotalHours" : 1259.11,
"actualHours" : 797.34,
"completeHoursPercent" : 0.83,
"progressHoursPercent" : 0.54
} ],
"remainingHours" : 168.36,
"projectedHoursGainOrLoss" : 129.52,
"projectedTotalHours" : 309.98,
"actualHours" : 12.09,
"completeHoursPercent" : 0.06
} ]
}
Members
List
A GET
request will list all the members on your Raken account.
When a Raken worker is assigned to a project, we call the worker a project member. A worker can be a member of multiple projects.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
statuses |
Return only members with the given statuses. Multiple statuses can be specified. If not specified, only |
true |
Enums: ACTIVE, INVITED, INACTIVE, DELETED |
projectUuid |
Return only members for the given project |
true |
|
classificationUuids |
Return only members for the given classification |
true |
|
roles |
Return only members with the given roles. More than one role may be specified. |
true |
Enums: ROLE_WORKER, ROLE_USER, ROLE_ADMIN, ROLE_PROJECT_MEMBER |
changedSince |
Return only members updated at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only members updated before this time, exclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Notes about the By default, members of all roles are returned. Please reference the list below for notes on the access level of each role and include the appropriate role query parameter in your request.
|
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the member |
firstName |
String |
First Name |
lastName |
String |
Last Name |
role |
String |
Role Enums: ROLE_WORKER, ROLE_USER, ROLE_ACCOUNT_ADMIN, ROLE_ADMIN, ROLE_PROJECT_MEMBER |
String |
||
phoneNumber |
String |
Phone Number |
username |
String |
User name (not applicable to ROLE_WORKER that cannot log in Raken |
title |
String |
Title |
employeeId |
String |
Employee Id (Unique if not empty) |
classificationUuid |
String |
Unique identifier of the classification for the member |
createdAt |
String |
Date and Time (UTC) when the member was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the member was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
lastLoginAt |
String |
Date and Time (UTC) when the member last logged in Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Member status Enums: ACTIVE, INVITED, INACTIVE, DELETED |
timeSettings |
Object |
Default times settings for the member |
timeSettings.blockTimeClock |
Boolean |
Flag that indicates whether or not this member may access the Time Clock feature. If true, they may not access the time clock. If true, they may not access the time clock Boolean value: true or false |
timeSettings.defaultCostCode |
String |
The unique identifier of this member’s default cost code |
timeSettings.defaultShift |
String |
The unique identifier of this member’s default shift |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/members?statuses=ACTIVE&roles=ROLE_WORKER&roles=ROLE_USER&projectUuid=c4b7826d-1de0-41dd-8315-58aa8f6ebf49&classificationUuids=65884d51-a1ff-4496-87e5-b723676f9397,d9c8a817-79f4-4dd7-9b33-f755f0dba402&changedSince=2024-02-03T14:00:00Z&changedUntil=2024-02-13T14:00:00Z&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/members?statuses=ACTIVE&roles=ROLE_WORKER&roles=ROLE_USER&projectUuid=c4b7826d-1de0-41dd-8315-58aa8f6ebf49&classificationUuids=65884d51-a1ff-4496-87e5-b723676f9397,d9c8a817-79f4-4dd7-9b33-f755f0dba402&changedSince=2024-02-03T14:00:00Z&changedUntil=2024-02-13T14:00:00Z&offset=0&limit=5",
"next" : "/members?statuses=ACTIVE&roles=ROLE_WORKER&roles=ROLE_USER&projectUuid=c4b7826d-1de0-41dd-8315-58aa8f6ebf49&classificationUuids=65884d51-a1ff-4496-87e5-b723676f9397,d9c8a817-79f4-4dd7-9b33-f755f0dba402&changedSince=2024-02-03T14:00:00Z&changedUntil=2024-02-13T14:00:00Z&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "34ae0792-e936-4638-b80b-dd0f709d00cf",
"firstName" : "Leon",
"lastName" : "Torp",
"role" : "ROLE_USER",
"email" : "shari.pfeffer@yahoo.com",
"employeeId" : "EMP00001",
"username" : "shari.pfeffer@yahoo.com",
"classificationUuid" : "079436df-4721-4e13-82fd-c47479eb04f9",
"status" : "ACTIVE",
"phoneNumber" : "1-239-725-2100",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "d415d883-52ff-4a05-86d9-ae2492a1c926",
"defaultShift" : "05dd9d94-9af9-4cbb-b596-b3e96410b0f0"
}
}, {
"uuid" : "c594ff69-8f9c-40c3-9d59-2e46a45e027c",
"firstName" : "Kali",
"lastName" : "Yost",
"role" : "ROLE_USER",
"email" : "colton.turcotte@gmail.com",
"employeeId" : "EMP00002",
"username" : "colton.turcotte@gmail.com",
"classificationUuid" : "6864ad4f-212c-424a-a94e-e95479e07240",
"status" : "ACTIVE",
"phoneNumber" : "482-089-8115",
"title" : "Mrs",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "6697f742-bda9-44fd-8ca5-240477b72261",
"defaultShift" : "1ad62af8-d24e-49c5-bfe3-db5147fbbefb"
}
}, {
"uuid" : "c2116ce8-562b-4e42-92a7-ae3c620dcb25",
"firstName" : "Gaylord",
"lastName" : "Little",
"role" : "ROLE_USER",
"email" : "genevie.stiedemann@yahoo.com",
"employeeId" : "EMP00003",
"username" : "genevie.stiedemann@yahoo.com",
"classificationUuid" : "9b1c1e01-ba49-454a-889d-7fd388d1907b",
"status" : "ACTIVE",
"phoneNumber" : "030-765-3617",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "21c10229-b872-417a-a126-6097bf83136e",
"defaultShift" : "e65c88bc-db19-4312-b395-6309359f8f2e"
}
}, {
"uuid" : "52422be7-3f83-4178-9f45-896741a0a74f",
"firstName" : "Errol",
"lastName" : "Carroll",
"role" : "ROLE_USER",
"email" : "timothy.willms@gmail.com",
"employeeId" : "EMP00004",
"username" : "timothy.willms@gmail.com",
"classificationUuid" : "76722dd5-458e-4b92-9fcc-40ed1dd0f01a",
"status" : "ACTIVE",
"phoneNumber" : "(384) 252-2762 x94961",
"title" : "Mrs",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "19ec4d5c-7f10-44c6-80b3-8df225b3ba28",
"defaultShift" : "b2257572-1a6a-46a8-bdef-99b8d143cf62"
}
}, {
"uuid" : "eb883344-a893-4894-a8ff-e80a1be8fe0c",
"firstName" : "Annalisa",
"lastName" : "Ondricka",
"role" : "ROLE_USER",
"email" : "weldon.deckow@gmail.com",
"employeeId" : "EMP00005",
"username" : "weldon.deckow@gmail.com",
"classificationUuid" : "2017f616-3b56-4a03-bd68-1ac340601f0f",
"status" : "ACTIVE",
"phoneNumber" : "716-216-2729 x50911",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "d92326ca-819d-43ae-8d30-edbced117306",
"defaultShift" : "b1d9f967-80e6-441b-b80c-5f9e7181dbb0"
}
} ]
}
Get
A GET
request will get a member by UUID on your Raken account.
It returns more details including projectUuids
for the member, compared to the list request.
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the member |
firstName |
String |
First Name |
lastName |
String |
Last Name |
role |
String |
Role Enums: ROLE_WORKER, ROLE_USER, ROLE_ACCOUNT_ADMIN, ROLE_ADMIN, ROLE_PROJECT_MEMBER |
String |
||
phoneNumber |
String |
Phone Number |
username |
String |
User name (not applicable to ROLE_WORKER that cannot log in Raken |
title |
String |
Title |
employeeId |
String |
Employee Id (Unique if not empty) |
classificationUuid |
String |
Unique identifier of the classification for the member |
createdAt |
String |
Date and Time (UTC) when the member was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the member was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
lastLoginAt |
String |
Date and Time (UTC) when the member last logged in Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Member status Enums: ACTIVE, INVITED, INACTIVE, DELETED |
timeSettings |
Object |
Default times settings for the member |
timeSettings.blockTimeClock |
Boolean |
Flag that indicates whether or not this member may access the Time Clock feature. If true, they may not access the time clock. If true, they may not access the time clock Boolean value: true or false |
timeSettings.defaultCostCode |
String |
The unique identifier of this member’s default cost code |
timeSettings.defaultShift |
String |
The unique identifier of this member’s default shift |
projectUuids |
Array |
List of unique identifiers for projects that the member is assigned to |
memberCertifications |
Array |
A list of this member’s certifications |
memberCertifications[].uuid |
String |
Unique identifier for this certification |
memberCertifications[].certificationName |
String |
Certification name |
memberCertifications[].expired |
Boolean |
A flag that indicates whether or not this certification is expired |
memberCertifications[].description |
String |
The description of this certification |
memberCertifications[].attachments |
Array |
A list of attachments on this certification |
memberCertifications[].attachments[].uuid |
String |
Unique Identifier for this attachment |
memberCertifications[].attachments[].url |
String |
URL for this attachment |
memberCertifications[].attachments[].description |
String |
Description of this attachment |
memberCertifications[].attachments[].thumbnailUrl |
String |
Thumbnail URL for this attachment |
memberCertifications[].attachments[].contentType |
String |
Content type for this attachment (e.g. ‘image/jpeg', ‘image/png’) |
memberCertifications[].attachments[].mediaType |
String |
Media type for this attachment |
memberCertifications[].attachments[].fileName |
String |
File name of this attachment |
memberCertifications[].attachments[].fileSize |
Number |
Size of this attachment in bytes |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/members/333e9871-c65e-4615-b500-b403127dc3ae' -i -X GET
Response body
{
"uuid" : "333e9871-c65e-4615-b500-b403127dc3ae",
"firstName" : "Kim",
"lastName" : "Wilderman",
"role" : "ROLE_WORKER",
"email" : "karl.hilpert@gmail.com",
"employeeId" : "EMP00001",
"username" : "karl.hilpert@gmail.com",
"classificationUuid" : "999cd2f8-e686-46ce-802f-2b6fe485b2fb",
"status" : "ACTIVE",
"phoneNumber" : "897.907.1851",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "e0f4721a-44d2-4aad-8015-a762868bcb0e",
"defaultShift" : "d84744f1-790a-4a46-8780-dcf6f90c5f34"
},
"projectUuids" : [ "13cfa466-4aba-44f4-9b97-118fcea25358", "d172d0d9-1f86-4a08-8590-5e0694839415" ],
"memberCertifications" : [ {
"uuid" : "a5f539c0-ca43-4d7c-9d38-582916aa77bd",
"certificationName" : "Harum dolor.",
"expired" : false,
"description" : "Adipisci praesentium est et eligendi possimus deleniti.",
"attachments" : [ {
"uuid" : "e1be4915-8b4d-4d86-b016-2bcaa8d076b6",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "quos.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 92604
} ]
} ]
}
List Member Projects
A GET
request will get projects of a member by UUID on your Raken account.
It returns subset of project information, compared to the list request.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
statuses |
Return only projects with the given statuses. Multiple statuses can be specified. If not specified, only |
true |
Enums: ACTIVE, INACTIVE, DELETED |
Path parameters
Parameter | Description |
---|---|
|
Return only projects for the given member |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the project |
name |
String |
Project Name |
teamType |
String |
Team type Enums: GENERAL_CONTRACTOR, COLLABORATOR |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/members/bec29588-ca97-4c99-af0a-970aad391644/projects?statuses=ACTIVE&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/members/bec29588-ca97-4c99-af0a-970aad391644/projects?statuses=ACTIVE&offset=0&limit=5",
"next" : "/members/bec29588-ca97-4c99-af0a-970aad391644/projects?statuses=ACTIVE&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "795ea798-e331-46a4-9ed9-918b59179d49",
"name" : "Candy Kane",
"teamType" : "GENERAL_CONTRACTOR"
}, {
"uuid" : "1bf34a07-f4f5-48b5-8821-e8bd69a67ee2",
"name" : "Laura Norder",
"teamType" : "GENERAL_CONTRACTOR"
}, {
"uuid" : "90cae867-c6af-4a4c-9990-0f201151e5f7",
"name" : "Telly Vision",
"teamType" : "GENERAL_CONTRACTOR"
}, {
"uuid" : "f76f8479-bfa1-491d-8d7b-2cb11efb8fb9",
"name" : "Bess Twishes",
"teamType" : "GENERAL_CONTRACTOR"
}, {
"uuid" : "70e69aae-f327-48ef-89b6-2feeb48720ad",
"name" : "Kenny Dewitt",
"teamType" : "GENERAL_CONTRACTOR"
} ]
}
Create
A POST
request will create a new member on your Raken account.
Members can be either Workers (ROLE_WORKER
) or Team Members who can log in (One of: ROLE_USER
, ROLE_PROJECT_MEMBER
, ROLE_PROJECT_ADMIN
, or ROLE_ACCOUNT_ADMIN
).
The email
field is only required when creating a team member. New members will receive an invite on the email address for them to set up their Raken account.
For a worker, the email
field is optional.
Notes about project membership:
Notes for
Notes for other roles:
|
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
firstName |
String |
First Name |
false |
Must not be blank |
lastName |
String |
Last Name |
false |
Must not be blank |
role |
String |
Role |
false |
Must not be null Role Enums: ROLE_ACCOUNT_ADMIN, ROLE_ADMIN, ROLE_PROJECT_MEMBER, ROLE_USER, ROLE_WORKER |
projectUuids |
Array |
List of unique identifiers for projects that the member is assigned to |
false |
Must not be null |
String |
Email (optional for workers but mandatory for team members) |
true |
Must not be blank |
|
phoneNumber |
String |
Phone Number |
true |
|
title |
String |
Title |
true |
|
employeeId |
String |
Employee Id (Unique if not empty) |
true |
|
classificationUuid |
String |
Unique identifier of the classification for the member |
true |
|
timeSettings |
Object |
Default times settings for the member |
true |
|
timeSettings.blockTimeClock |
Boolean |
Flag that indicates whether or not this member may access the Time Clock feature. If true, they may not access the time clock. If true, they may not access the time clock |
true |
Boolean value: true or false |
timeSettings.defaultCostCode |
String |
The unique identifier of this member’s default cost code |
true |
|
timeSettings.defaultShift |
String |
The unique identifier of this member’s default shift |
true |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the member |
firstName |
String |
First Name |
lastName |
String |
Last Name |
role |
String |
Role Enums: ROLE_WORKER, ROLE_USER, ROLE_ACCOUNT_ADMIN, ROLE_ADMIN, ROLE_PROJECT_MEMBER |
String |
||
phoneNumber |
String |
Phone Number |
username |
String |
User name (not applicable to ROLE_WORKER that cannot log in Raken |
title |
String |
Title |
employeeId |
String |
Employee Id (Unique if not empty) |
classificationUuid |
String |
Unique identifier of the classification for the member |
createdAt |
String |
Date and Time (UTC) when the member was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the member was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
lastLoginAt |
String |
Date and Time (UTC) when the member last logged in Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Member status Enums: ACTIVE, INVITED, INACTIVE, DELETED |
timeSettings |
Object |
Default times settings for the member |
timeSettings.blockTimeClock |
Boolean |
Flag that indicates whether or not this member may access the Time Clock feature. If true, they may not access the time clock. If true, they may not access the time clock Boolean value: true or false |
timeSettings.defaultCostCode |
String |
The unique identifier of this member’s default cost code |
timeSettings.defaultShift |
String |
The unique identifier of this member’s default shift |
projectUuids |
Array |
List of unique identifiers for projects that the member is assigned to |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/members' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"firstName" : "Jenine",
"lastName" : "Miller",
"role" : "ROLE_WORKER",
"email" : "testing+100@rakenapp.com",
"projectUuids" : [ "2d219842-9dc4-47ee-bcc3-b334ca217a50" ],
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "d195a92c-9d5d-437f-98d1-05987d291ec4",
"defaultShift" : "5dd37a2f-4aff-4e30-ad24-b80de4270d99"
}
}'
Response body
{
"uuid" : "6636c6ca-8903-46b3-ad26-b23488db349f",
"firstName" : "Jenine",
"lastName" : "Miller",
"role" : "ROLE_WORKER",
"email" : "royal.lang@yahoo.com",
"employeeId" : "EMP00001",
"username" : "royal.lang@yahoo.com",
"classificationUuid" : "216a01d0-1d6f-4e98-ba9b-ad37ae988b95",
"status" : "ACTIVE",
"phoneNumber" : "1-760-854-7053 x378",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "7cadf425-c691-4364-ab70-9f38fc8e64e2",
"defaultShift" : "3e2640d2-7caa-4edb-a37e-a4142a32b1da"
},
"projectUuids" : [ "0909a60d-a324-4c46-8be8-22da67a6c04d", "20fff9bd-9857-41c8-b7fb-98ee3037601a" ]
}
Update
A PATCH
request will update a project member. Please note that for team members with a role other than ROLE_WORKER
, the email
field is not patchable.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
firstName |
String |
First Name |
true |
Must not be blank |
lastName |
String |
Last Name |
true |
Must not be blank |
role |
String |
Role |
true |
Role Enums: ROLE_ACCOUNT_ADMIN, ROLE_ADMIN, ROLE_PROJECT_MEMBER, ROLE_USER, ROLE_WORKER |
projectUuids |
Array |
List of unique identifiers for projects that the member is assigned to |
true |
|
String |
Email (optional for workers but mandatory for team members) |
true |
Must not be blank |
|
phoneNumber |
String |
Phone Number |
true |
|
title |
String |
Title |
true |
|
employeeId |
String |
Employee Id (Unique if not empty) |
true |
|
classificationUuid |
String |
Unique identifier of the classification for the member |
true |
|
timeSettings |
Object |
Default times settings for the member |
true |
|
timeSettings.blockTimeClock |
Boolean |
Flag that indicates whether or not this member may access the Time Clock feature. If true, they may not access the time clock. If true, they may not access the time clock |
true |
Boolean value: true or false |
timeSettings.defaultCostCode |
String |
The unique identifier of this member’s default cost code |
true |
|
timeSettings.defaultShift |
String |
The unique identifier of this member’s default shift |
true |
|
status |
String |
Member status |
true |
MemberStatus Enums: ACTIVE, DELETED, INACTIVE, INVITED |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the member |
firstName |
String |
First Name |
lastName |
String |
Last Name |
role |
String |
Role Enums: ROLE_WORKER, ROLE_USER, ROLE_ACCOUNT_ADMIN, ROLE_ADMIN, ROLE_PROJECT_MEMBER |
String |
||
phoneNumber |
String |
Phone Number |
username |
String |
User name (not applicable to ROLE_WORKER that cannot log in Raken |
title |
String |
Title |
employeeId |
String |
Employee Id (Unique if not empty) |
classificationUuid |
String |
Unique identifier of the classification for the member |
createdAt |
String |
Date and Time (UTC) when the member was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the member was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
lastLoginAt |
String |
Date and Time (UTC) when the member last logged in Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Member status Enums: ACTIVE, INVITED, INACTIVE, DELETED |
timeSettings |
Object |
Default times settings for the member |
timeSettings.blockTimeClock |
Boolean |
Flag that indicates whether or not this member may access the Time Clock feature. If true, they may not access the time clock. If true, they may not access the time clock Boolean value: true or false |
timeSettings.defaultCostCode |
String |
The unique identifier of this member’s default cost code |
timeSettings.defaultShift |
String |
The unique identifier of this member’s default shift |
projectUuids |
Array |
List of unique identifiers for projects that the member is assigned to |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/members/93b5e466-a353-44f2-bf3c-2591fc544288' -i -X PATCH \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"firstName" : "Rob"
}'
Response body
{
"uuid" : "93b5e466-a353-44f2-bf3c-2591fc544288",
"firstName" : "Rob",
"lastName" : "Murphy",
"role" : "ROLE_WORKER",
"email" : "karri.hackett@gmail.com",
"employeeId" : "EMP00001",
"username" : "karri.hackett@gmail.com",
"classificationUuid" : "7d2158db-9b89-4b4c-8a5c-d224d650a062",
"status" : "ACTIVE",
"phoneNumber" : "1-084-487-7797 x9407",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "9e2742f3-62d6-48c6-8d3c-f85eb8777108",
"defaultShift" : "72d29fad-c6d2-4491-bc14-bc17e0117d55"
},
"projectUuids" : [ "a6da5274-51c5-4059-940e-0090b87559f5", "78d7755d-cc55-4b14-9520-e4b9e5159003" ]
}
Update members project assignment
A POST
request will change project assignments for members, in batch, on your Raken account.
Depending on projectAssignmentType
, it can add, remove or replace project assignment for multiple members from selected projects.
Projects can be selected by their UUIDs via projectUuids
, or by the project state via projectState
.
For example, if projectState
is ACTIVE
, the project assignment change will involve all active projects on your Raken account.
One of the filed must be provided. If projectUuids
is specified, projectState
will be ignored.
Since it is a batch operation, the API operates on a best efforts basis and will ignore any issues encountered during the process. For example, when a team member can’t be removed from a project because the member is the last member of the project, if you call the API to remove the member from the project, you will still receive a successful response, even if the member hasn’t been removed due to the constraint.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
memberUuids |
Array |
List of unique identifiers for members to change project assignment for |
false |
Must not be null Size must be between 1 and 100 inclusive |
projectAssignmentType |
String |
Project assignment type |
false |
Must not be null ProjectMembershipUpdateMode Enums: APPEND, REPLACE, REMOVE |
projectUuids |
Array |
List of unique identifiers for projects that members will be assigned, removed or replaced according to projectAssignmentType. Either projectUuids or projectState must be provided |
true |
Size must be between 0 and 10 inclusive |
projectState |
String |
Select projects with the given state. If projectUuids is provided, projectState will be ignored. |
true |
ProjectState Enums: ACTIVE, INACTIVE, DELETED |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/members/projectAssignment' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"memberUuids" : [ "a27eb16b-3ac2-4138-bccb-5309697358bf" ],
"projectAssignmentType" : "APPEND",
"projectUuids" : [ "2b1cf59e-2f65-40b9-941b-8854a9f80adc", "fcdd005a-9325-48e1-b9b4-46c0c5eb00a4" ],
"projectState" : "ACTIVE"
}'
Cost Codes
List
A GET
request will list all the cost codes.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Restrict the cost codes to the projects represented by this UUID. |
true |
|
changedSince |
Return only time cards updated at or after this time, inclusive. The date is capped to a month to changedUntil. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only time cards updated before this time, exclusive. The date is capped to a month to changedSince. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the cost code |
code |
String |
Code for the cost code |
division |
String |
Division for the cost code |
description |
String |
Description for the cost code |
createdAt |
String |
Date and Time (UTC) when the cost code was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the cost code was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/costCodes?projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/costCodes?projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&offset=0&limit=5",
"next" : "/costCodes?projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "0d1056a7-4bfd-4e12-a2c1-f633a653207b",
"code" : "0110",
"division" : "01 - General Conditions",
"description" : "Mockups",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"uuid" : "3cacdce8-0136-4520-8699-f97801866a37",
"code" : "0300",
"division" : "03 - Structural & Architectural Concrete",
"description" : "Structural Concrete",
"createdAt" : "2022-07-07T21:41:13Z",
"updatedAt" : "2022-07-09T21:41:17Z"
} ]
}
Create
A POST
request will create a new cost code.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
code |
String |
Code for the cost code |
false |
Must not be blank Size must be between 0 and 20 inclusive |
division |
String |
Division for the cost code |
false |
Must not be blank Size must be between 0 and 50 inclusive |
projectUuid |
String |
Project UUID which the cost code is created for |
false |
Must not be blank |
description |
String |
Description for the cost code |
true |
Size must be between 0 and 60 inclusive |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the cost code |
code |
String |
Code for the cost code |
division |
String |
Division for the cost code |
description |
String |
Description for the cost code |
createdAt |
String |
Date and Time (UTC) when the cost code was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the cost code was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/costCodes' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"code" : "0110",
"division" : "01 - General Conditions",
"description" : "Mockups",
"projectUuid" : "8169fd06-0997-4673-b537-4d9d401b8922"
}'
Response body
{
"uuid" : "861903f0-ba8b-4f5b-b789-d02efb9cb251",
"code" : "0110",
"division" : "01 - General Conditions",
"description" : "Mockups",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}
Update
A PATCH
request will update a cost code.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
division |
String |
Division for the cost code |
true |
Must not be blank Size must be between 0 and 50 inclusive |
description |
String |
Description for the cost code |
true |
Size must be between 0 and 60 inclusive |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the cost code |
code |
String |
Code for the cost code |
division |
String |
Division for the cost code |
description |
String |
Description for the cost code |
createdAt |
String |
Date and Time (UTC) when the cost code was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the cost code was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/costCodes/c28bde8c-5a95-4958-8f01-2cfbda56f0dd' -i -X PATCH \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"division" : "01 - General Conditions",
"description" : "Mockups"
}'
Response body
{
"uuid" : "c28bde8c-5a95-4958-8f01-2cfbda56f0dd",
"code" : "0110",
"division" : "01 - General Conditions",
"description" : "Mockups",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}
Classifications
List
A GET
request will list all the classifications.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
statuses |
Restrict the classifications to those with these statuses. Multiple statuses can be specified. |
true |
Enums: ACTIVE, DELETED |
changedSince |
Filters results to include only entities that were updated at or after the specified time (inclusive). Must be used with a corresponding |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Filters results to include only entities that were updated before the specified time (exclusive) |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the classification |
name |
String |
Classification Name |
status |
String |
Classification status Enums: ACTIVE, DELETED |
createdAt |
String |
Date and Time (UTC) when the classification was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the classification was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/classifications?statuses=ACTIVE&changedSince=2024-02-24T16:37:26Z&changedUntil=2024-02-25T16:37:26Z&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/classifications?statuses=ACTIVE&changedSince=2024-02-24T16:37:26Z&changedUntil=2024-02-25T16:37:26Z&offset=0&limit=5",
"next" : "/classifications?statuses=ACTIVE&changedSince=2024-02-24T16:37:26Z&changedUntil=2024-02-25T16:37:26Z&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "726a3ec7-e4c0-40c3-abab-ce479d92e611",
"name" : "Foreman",
"status" : "ACTIVE",
"updatedAt" : "2025-09-03T22:23:01Z",
"createdAt" : "2025-08-27T11:13:35Z"
}, {
"uuid" : "96531fe3-a114-44aa-b468-7e50f967247d",
"name" : "Journeyman",
"status" : "ACTIVE",
"updatedAt" : "2025-07-11T10:52:22Z",
"createdAt" : "2025-07-10T01:32:56Z"
} ]
}
Create
A POST
request will create a new classification on your Raken account.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Classification Name |
false |
Must not be blank Size must be between 0 and 255 inclusive |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the classification |
name |
String |
Classification Name |
status |
String |
Classification status Enums: ACTIVE, DELETED |
createdAt |
String |
Date and Time (UTC) when the classification was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the classification was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/classifications' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "FOREMAN"
}'
Response body
{
"uuid" : "ff7a1166-7949-4089-bd44-93088fc5282a",
"name" : "FOREMAN",
"status" : "ACTIVE",
"updatedAt" : "2025-09-02T12:41:26Z",
"createdAt" : "2025-08-25T05:52:38Z"
}
Work Logs
List
A GET
request will list the matching work logs.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Return work logs for this project. This could also be a child project identifier |
false |
|
fromDate |
Return work logs starting on this date. The date is capped to a month to toDate. Provide either |
true |
Format: "yyyy-MM-dd" |
toDate |
Return work logs ending on this date. The date is capped to a month from fromDate. |
true |
Format: "yyyy-MM-dd" |
changedSince |
Filters results to include only entities that were updated at or after the specified time (inclusive). Must be used with a corresponding |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Filters results to include only entities that were updated before the specified time (exclusive) |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
statuses |
Return work logs with this status. Default to COMPLETED |
true |
Enums: COMPLETED, CREATED |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the work log |
date |
String |
Date of the work log Format: "yyyy-MM-dd" |
status |
String |
Work log status Enums: COMPLETED, CREATED |
totalHours |
Number |
Total hours on this work log |
description |
String |
Description of the work log |
projectUuid |
String |
Project this work log is for |
workLogType |
String |
Type of work log Enums: CREW, STANDARD |
subcontractor |
String |
Subcontractor name |
name |
String |
Work Log name |
hours |
Number |
For standard work logs, the hours for a single worker |
workerCount |
Number |
Number of workers for this work log |
createdAt |
String |
Date and Time (UTC) when the work log was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the work log was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
timeCards[].note |
String |
Note for the time card |
timeCards[].breaks[].name |
String |
Break name |
timeCards[].breaks[].startTime |
String |
Break start time |
timeCards[].breaks[].duration |
Number |
Duration of break in minutes |
timeCards[].uuid |
String |
Unique identifier for this time card |
timeCards[].workerUuid |
String |
Unique identifier for the worker for this time card |
timeCards[].totalHours |
Number |
Total number of hours for this time card |
timeCards[].startTime |
String |
Start time for this time card |
timeCards[].endTime |
String |
End time for this time card |
timeCards[].createdAt |
String |
Date and Time (UTC) when this time card was created Format: "yyyy-MM-ddThh:mm:ssZ" |
timeCards[].updatedAt |
String |
Date and Time (UTC) when this time card was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
timeCards[].createdBy.uuid |
String |
Unique identifier for the user who created this time card |
timeCards[].createdBy.name |
String |
Name of the user who created this time card |
timeCards[].updatedBy.uuid |
String |
Unique identifier for the user who updated this time card |
timeCards[].updatedBy.name |
String |
Name of the user who updated this time card |
timeCards[].attachments[].uuid |
String |
Unique identifier for this attachment |
timeCards[].attachments[].url |
String |
Url for this attachment |
timeCards[].attachments[].description |
String |
Description for this attachment |
timeCards[].attachments[].thumbnailUrl |
String |
Thumbnail Url for this attachment |
timeCards[].attachments[].contentType |
String |
Content Type for this attachment (e.g. 'image/jpeg', 'image/png') |
timeCards[].attachments[].mediaType |
String |
Media Type for this attachment Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
timeCards[].attachments[].fileName |
String |
File name of the attachment |
timeCards[].attachments[].fileSize |
Number |
Size of the attachment in bytes |
timeCards[].timeEntries[].shift.uuid |
String |
Unique identifier for the shift on the time entry |
timeCards[].timeEntries[].shift.name |
String |
Name for the shift on the time entry |
timeCards[].timeEntries[].shift.code |
String |
Code for the shift on the time entry |
timeCards[].timeEntries[].payType.uuid |
String |
Unique identifier for the pay type for the time entry |
timeCards[].timeEntries[].payType.name |
String |
Name for the pay type for the time entry |
timeCards[].timeEntries[].payType.code |
String |
Code for the pay type for the time entry |
timeCards[].timeEntries[].hours |
Number |
Hours in the time entry |
timeCards[].timeEntries[].classification.uuid |
String |
Unique identifier for the classification for the time entry |
timeCards[].timeEntries[].classification.name |
String |
Name for the classification for the time entry |
timeCards[].timeEntries[].costCode.uuid |
String |
Unique identifier for the cost code for the time entry |
timeCards[].timeEntries[].costCode.code |
String |
Code for the cost code for the time entry |
timeCards[].timeEntries[].costCode.division |
String |
Division for the cost code for the time entry |
attachments[].uuid |
String |
Unique identifier for this attachment on the work log |
attachments[].url |
String |
Url for this attachment on the work log |
attachments[].description |
String |
Description of this attachment on the work log |
attachments[].thumbnailUrl |
String |
Thumbnail Url for this attachment on the work log |
attachments[].contentType |
String |
Content type for this attachment on the work log (e.g. 'image/jpeg', 'image/png') |
attachments[].mediaType |
String |
Media type for this attachment on the work log Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
attachments[].fileName |
String |
File name of this attachment on the work log |
attachments[].fileSize |
Number |
Size of this attachment on the work log in bytes |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/workLogs?fromDate=2011-01-01&toDate=2012-01-01&changedSince=2024-02-24T16:37:26Z&changedUntil=2024-02-25T16:37:26Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/workLogs?fromDate=2011-01-01&toDate=2012-01-01&changedSince=2024-02-24T16:37:26Z&changedUntil=2024-02-25T16:37:26Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&offset=0&limit=5",
"next" : "/workLogs?fromDate=2011-01-01&toDate=2012-01-01&changedSince=2024-02-24T16:37:26Z&changedUntil=2024-02-25T16:37:26Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "c8e673a2-9080-4d4f-be20-835c9bbbb1e4",
"totalHours" : 8.0,
"date" : "2020-10-15",
"timeCards" : [ {
"uuid" : "e70415ed-ea9a-4f27-9bf8-710a71d00f59",
"workerUuid" : "735560d4-d515-480c-b8ff-e8deec3f55d9",
"totalHours" : 8.0,
"startTime" : "05:00:00",
"endTime" : "17:00:00",
"attachments" : [ {
"uuid" : "71e6884c-463e-415c-9fbc-ef2b362b339c",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "suscipit.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 9226
} ],
"timeEntries" : [ {
"hours" : 8.0,
"payType" : {
"uuid" : "b76e25a4-2f94-4e0c-928b-60e15a1b384c",
"name" : "Regular Time",
"code" : "RT"
},
"shift" : {
"uuid" : "f3e52ad7-c2a8-4d95-b976-4334d2ec4572",
"name" : "Night Shift",
"code" : "NS"
},
"classification" : {
"uuid" : "191280eb-d34b-4117-92dc-cc1d05263408",
"name" : "Apprentice"
},
"costCode" : {
"uuid" : "abec50f7-10cf-4720-a894-30425793f8ec",
"code" : "C1",
"division" : "D1"
}
} ],
"note" : "Payroll Note",
"createdAt" : "2020-10-16T12:00:00Z",
"updatedAt" : "2020-10-16T12:30:00Z",
"createdBy" : {
"uuid" : "e4a57316-4807-44c7-80ad-a93704960848",
"name" : "Naomi Zulauf"
},
"updatedBy" : {
"uuid" : "c0d76947-64ca-4545-b759-46c6fe9b63a4",
"name" : "Ms. Jonelle Skiles"
},
"breaks" : [ {
"name" : "Meal Break",
"duration" : 30.0,
"startTime" : "10:00:00"
} ]
} ],
"status" : "COMPLETED",
"description" : "Description",
"projectUuid" : "d3494510-2033-4c02-a492-ff2b04fbda47",
"attachments" : [ {
"uuid" : "fc4c3ab5-6789-4142-811c-9b294a874747",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "enim.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 82327
} ],
"subcontractor" : "SC",
"name" : "Crew working in 1st floor",
"workerCount" : 0,
"workLogType" : "CREW",
"hours" : 8,
"createdAt" : "2020-10-16T12:00:00Z",
"updatedAt" : "2020-10-16T12:30:00Z"
} ]
}
Equipment Logs
List
A GET
request will list the matching equipment logs grouped by their deployment.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuids |
UUID of the projects to retrieve equipment deployments for |
true |
|
equipmentUuids |
UUID of the equipment to retrieve equipment deployments for |
true |
|
statuses |
List of statuses to filter equipment logs on |
true |
|
fromDate |
Return equipment deployments starting on, or after, this date |
true |
Format: "yyyy-MM-dd" |
toDate |
Return equipment deployments ending on, or before, this date |
true |
Format: "yyyy-MM-dd" |
query |
Retrieve equipment deployments that has a match for the provided query string |
true |
|
changedSince |
Return only equipment deployments updated at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only equipment deployments updated before this time, exclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
fromCreatedAt |
Return only equipment deployments created at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
toCreatedAt |
Return only equipment deployments created before this time, exclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the equipment deployment |
startDate |
String |
Date on which the equipment deployment started Format: "yyyy-MM-dd" |
endDate |
String |
Date on which the equipment deployment ended Format: "yyyy-MM-dd" |
equipment |
Object |
Equipment associated with the equipment deployment |
equipment.uuid |
String |
Unique identifier of the equipment associated with the equipment deployment |
equipment.equipmentId |
String |
External ID for the equipment associated with the equipment deployment |
equipment.name |
String |
Name of the equipment associated with the equipment deployment |
projectUuid |
String |
Unique identifier for the project this equipment deployment is associated with |
daysOnsite |
Number |
Number of days the equipment has been on site for this equipment deployment |
daysNotInUse |
Number |
Number of days during the equipment deployment on which no equipment logs were recorded |
createdBy |
String |
Unique identifier for the user who created the equipment deployment |
createdAt |
String |
Date and Time (UTC) when the equipment deployment was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedBy |
String |
Unique identifier for the user who updated the equipment log |
updatedAt |
String |
Date and Time (UTC) when the equipment deployement was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
logs[] |
Array |
Collection of equipment log on this equipment deployment |
logs[].uuid |
String |
Unique identifier of this equipment log |
logs[].description |
String |
Description of this equipment log |
logs[].date |
String |
Date of this equipment log Format: "yyyy-MM-dd" |
logs[].hours |
Number |
Total hours for this equipment log |
logs[].idleHours |
Number |
Total idle hours for this equipment log |
logs[].status |
String |
Status of this equipment log Enums: WITHDRAWN, NOT_IN_USE, IN_USE |
logs[].operator |
String |
Unique identifier for the operator on this equipment log |
logs[].odometerReading |
Number |
Odometer reading for this equipment log. Mileage tracking units can be found by querying for the equipment used on this equipment log on the Equipment endpoint |
logs[].fuelConsumption |
Number |
Volume of fuel consumed on this equipment log. Fuel consumption units can be found by querying for the equipment used on this equipment log on the Equipment endpoint |
logs[].equipmentDeficiencies |
Array |
Collection of equipment deficiencies associated with this equipment log |
logs[].equipmentDeficiencies[].faultCode |
String |
Fault code of this equipment deficiency |
logs[].equipmentDeficiencies[].description |
String |
Description of this equipment deficiency |
logs[].attachments[] |
Array |
Collection of attachments on this equipment log |
logs[].attachments[].uuid |
String |
Unique identifier for this attachment |
logs[].attachments[].url |
String |
URL for this attachment |
logs[].attachments[].description |
String |
Description for this attachment |
logs[].attachments[].thumbnailUrl |
String |
Thumbnail URL for this attachment |
logs[].attachments[].contentType |
String |
Content type for this attachment (e.g. ‘image/jpeg’, ‘image/png’) |
logs[].attachments[].mediaType |
String |
Media type for this attachment Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
logs[].attachments[].fileName |
String |
File name of this attachment |
logs[].attachments[].fileSize |
Number |
Size of this attachment in bytes |
logs[].createdBy |
String |
Unique identifier of the user who created this equipment log |
logs[].createdAt |
String |
Date and Time (UTC) when the equipment log was created Format: "yyyy-MM-ddThh:mm:ssZ" |
logs[].updatedBy |
String |
Unique identifier of the user who updated this equipment log |
logs[].updatedAt |
String |
Date and Time (UTC) when the equipment log was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
costCode |
Object |
Cost code associated with this equipment log |
costCode.uuid |
String |
Unique identifier of this cost code |
costCode.code |
String |
Code of this cost code |
costCode.division |
String |
Division of this cost code |
costCode.description |
String |
Description of this cost code |
costCode.createdAt |
Null |
Date and Time (UTC) when this cost code was created Format: "yyyy-MM-ddThh:mm:ssZ" |
costCode.updatedAt |
Null |
Date and Time (UTC) when this cost code was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
logs[].costCode |
Object |
Cost code associated with this equipment log |
logs[].costCode.uuid |
String |
Unique identifier of this cost code |
logs[].costCode.code |
String |
Code of this cost code |
logs[].costCode.division |
String |
Division of this cost code |
logs[].costCode.description |
String |
Description of this cost code |
logs[].costCode.createdAt |
Null |
Date and Time (UTC) when this cost code was created Format: "yyyy-MM-ddThh:mm:ssZ" |
logs[].costCode.updatedAt |
Null |
Date and Time (UTC) when this cost code was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/equipmentLogs?fromDate=2024-01-01&toDate=2024-01-25&projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&equipmentUuids=8229fd06-0967-4673-b537-4d9d401b8521&statuses=IN_USE,NOT_IN_USE,WITHDRAWN&query=query&fromCreatedAt=2024-03-03T14:00:00Z&toCreatedAt=2024-03-13T14:00:00Z&changedSince=2024-03-03T14:00:00Z&changedUntil=2024-03-13T14:00:00Z&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/equipmentLogs?fromDate=2024-01-01&toDate=2024-01-25&projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&equipmentUuids=8229fd06-0967-4673-b537-4d9d401b8521&statuses=IN_USE,NOT_IN_USE,WITHDRAWN&query=query&fromCreatedAt=2024-03-03T14:00:00Z&toCreatedAt=2024-03-13T14:00:00Z&changedSince=2024-03-03T14:00:00Z&changedUntil=2024-03-13T14:00:00Z&offset=0&limit=5",
"next" : "/equipmentLogs?fromDate=2024-01-01&toDate=2024-01-25&projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&equipmentUuids=8229fd06-0967-4673-b537-4d9d401b8521&statuses=IN_USE,NOT_IN_USE,WITHDRAWN&query=query&fromCreatedAt=2024-03-03T14:00:00Z&toCreatedAt=2024-03-13T14:00:00Z&changedSince=2024-03-03T14:00:00Z&changedUntil=2024-03-13T14:00:00Z&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"createdBy" : "adbfacce-6d8c-4017-9bf9-8ad1b9ebbf5e",
"createdAt" : "2025-09-03T22:28:39.848325405Z",
"updatedBy" : "bdef71c4-e8b2-443b-b94c-40ffb6ffc48b",
"updatedAt" : "2025-09-03T22:28:39.848325234Z",
"uuid" : "3a8066f4-ce97-4ead-9fff-138fe83e7129",
"equipment" : {
"uuid" : "970b5e09-4b02-440e-8ee3-2a6dac448822",
"name" : "Compactor",
"equipmentId" : "EQ-1"
},
"projectUuid" : "bddc5f4b-d1c0-4ac8-b4b2-e9b69aaaea72",
"startDate" : "2020-10-10",
"endDate" : "2020-10-13",
"logs" : [ {
"createdBy" : "5102d4b7-66fb-4ec4-b0b1-a55c175e44a0",
"createdAt" : "2025-09-03T22:28:39.848314046Z",
"updatedBy" : "bdc99e74-423d-4322-a0ef-304a880e53c1",
"updatedAt" : "2025-09-03T22:28:39.848312692Z",
"uuid" : "cfbb409e-2aab-4dbd-aa3b-5a974ec25e79",
"description" : "Delivered @ 8am",
"date" : "2020-10-11",
"hours" : 3.0,
"idleHours" : 1.0,
"status" : "IN_USE",
"attachments" : [ {
"uuid" : "d7385623-5c8c-4354-a0bc-622771f7447f",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "dolore.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 11462
} ],
"operator" : "8f9dead1-2374-4922-b896-715d31fcd058",
"odometerReading" : 45.0,
"fuelConsumption" : 10.0,
"costCode" : {
"uuid" : "961164ba-4727-43ee-9b74-a39f59e6445a",
"code" : "code",
"division" : "division",
"description" : "description",
"createdAt" : null,
"updatedAt" : null
},
"equipmentDeficiencies" : [ {
"faultCode" : "101",
"description" : "Fault description"
} ]
} ],
"costCode" : {
"uuid" : "59ea845a-12f0-40e2-940d-241120ab1ca3",
"code" : "code",
"division" : "division",
"description" : "description",
"createdAt" : null,
"updatedAt" : null
},
"daysOnsite" : 10,
"daysNotInUse" : 5
} ]
}
Equipment
List
A GET
request will list the matching equipment.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
conditions |
List of equipment conditions to filter on |
true |
Enums: AVAILABLE, UNDER_MAINTENANCE, DEPLOYED, RETURNED_RETIRED |
deployedToProjectUuids |
UUIDs to filter equipment deployed projects on |
true |
|
query |
Retrieve equipment that has a match for the provided query string |
true |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the equipment |
name |
String |
Name of the equipment |
rate |
Number |
Billing rate for rented equipment. Omitted from response for owned equipment |
frequency |
String |
Rate period frequency for rental equipment billing. Omitted from response for owned equipment Enums: WEEKLY, DAILY, MONTHLY, HOURLY |
equipmentId |
String |
External ID for the equipment |
owned |
Boolean |
Flag indicating whether the equipment is owned or rentedBoolean value: true or false Boolean value: true or false |
make |
String |
Make for the equipment |
model |
String |
Model for the equipment |
type |
String |
Type for this equipment |
category |
String |
Category for the equipment |
serialNumber |
String |
Serial number of the equipment |
supplier |
String |
Supplier for rented equipment. Omitted from response for owned equipment |
condition |
String |
Condition of the equipment Enums: AVAILABLE, UNDER_MAINTENANCE, DEPLOYED, RETURNED_RETIRED |
totalHours |
Number |
Total operating hours for this equipment for all equipment deployments |
totalHoursAvailablePerWeek |
Number |
Total hours per week that this equipment is available for use |
idleHours |
Number |
Total idle hours for this equipment for all equipment deployments |
odometerType |
String |
Odometer measurement unit type for the equipment Enums: MILES, KILOMETERS |
odometerReading |
Number |
Current odometer reading for the equipment |
fuelGaugeType |
String |
Fuel gauge measurement unit type for the equipment Enums: GALLONS, LITERS |
lifeTimeFuelConsumption |
Number |
Lifetime fuel consumption for this equipment for all equipment deployments |
year |
Number |
Model year of the equipment. Format: “yyyy” |
returnDate |
String |
Rental return date for rented equipment. Omitted from response for owned equipment Format: "yyyy-MM-dd" |
deficiencyCount |
Number |
Number of deficiencies for the equipment with the status OPEN |
nextAvailableDate |
String |
Date on which the equipment will next be available Format: "yyyy-MM-dd" |
nextMaintenance |
String |
Operation hours or distance until the next required maintenance for this equipment |
deployment |
Object |
Current equipment deployment for the equipment. Omitted from response if the equipment is not currently deployed |
deployment.uuid |
String |
Unique identifier for this equipment deployment |
deployment.projectUuid |
String |
Unique identifier for the project that this equipment deployment is associated with |
deployment.startDate |
String |
Start date for this equipment deployment Format: "yyyy-MM-dd" |
deployment.endDate |
String |
End date for this equipment deployment Format: "yyyy-MM-dd" |
createdBy |
String |
Unique identifier for the user who created the equipment |
createdAt |
String |
Date and Time (UTC) when the equipment was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedBy |
String |
Unique identifier for the user who updated the equipment log |
updatedAt |
String |
Date and Time (UTC) when the equipment deployement was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/equipment?conditions=AVAILABLE,DEPLOYED&deployedToProjectUuids=86b7344c-39bd-4bb6-bbeb-8afed3c239ca&query=query&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/equipment?conditions=AVAILABLE,DEPLOYED&deployedToProjectUuids=86b7344c-39bd-4bb6-bbeb-8afed3c239ca&query=query&offset=0&limit=5",
"next" : "/equipment?conditions=AVAILABLE,DEPLOYED&deployedToProjectUuids=86b7344c-39bd-4bb6-bbeb-8afed3c239ca&query=query&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"createdBy" : "6801c004-8ce0-4201-9e6a-ffd26538f2a3",
"createdAt" : "2025-09-03T22:28:39.328285034Z",
"updatedBy" : "5a412030-58d9-4de4-87ca-b4c3727c1701",
"updatedAt" : "2025-09-03T22:28:39.328286107Z",
"uuid" : "ecc11847-6476-4031-a49a-1f6ef68664de",
"name" : "Compactor",
"rate" : 150.0,
"frequency" : "DAILY",
"equipmentId" : "EQ-1",
"owned" : false,
"make" : "Make",
"model" : "Model",
"type" : "Type",
"category" : "Category",
"serialNumber" : "123",
"supplier" : "Supplier",
"condition" : "DEPLOYED",
"totalHours" : 25.0,
"totalHoursAvailablePerWeek" : 40.0,
"idleHours" : 10.0,
"odometerType" : "KILOMETERS",
"odometerReading" : 1000.0,
"fuelGaugeType" : "LITERS",
"lifeTimeFuelConsumption" : 500.0,
"year" : 2024,
"returnDate" : "2025-09-03",
"deficiencyCount" : 2,
"nextAvailableDate" : "2025-09-13",
"nextMaintenance" : "2024-10-12",
"deployment" : {
"uuid" : "41906604-60ab-4f76-936d-e3fc37a67fab",
"projectUuid" : "f95944d0-639a-4f1c-8f87-69f01b3e79f9",
"startDate" : "2025-09-03",
"endDate" : "2025-09-13"
}
} ]
}
Checklist Types
List
A GET
request will list all the checklist types on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
classes |
Return only checklist types with these classes |
true |
Enums: COMMISSIONING, EQUIPMENT, QUALITY, ENVIRONMENTAL, SAFETY, GENERAL |
statuses |
Return only checklist types with this statuses |
true |
Enums: ACTIVE, DELETED |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the checklist type |
createdAt |
String |
Date and Time (UTC) when the checklist type was created Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Status of the checklist type Enums: ACTIVE, DELETED |
class |
String |
Class of the checklist type |
name |
String |
Name of the checklist type |
createdBy.uuid |
String |
Unique identifier for the user who created the checklist type |
createdBy.name |
String |
Name of the user who created the checklist |
updatedAt |
String |
Date and Time (UTC) when the checklist type was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/checklistTypes?classes=GENERAL&classes=QUALITY&statuses=ACTIVE&statuses=DELETED&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/checklistTypes?classes=GENERAL&classes=QUALITY&statuses=ACTIVE&statuses=DELETED&offset=0&limit=5",
"next" : "/checklistTypes?classes=GENERAL&classes=QUALITY&statuses=ACTIVE&statuses=DELETED&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "13d7b545-541c-4669-a08d-2f90ab0f6b74",
"createdAt" : "2025-09-03T22:28:33.586021314Z",
"status" : "ACTIVE",
"createdBy" : {
"uuid" : "a05e188f-ffbc-4ac7-b389-8e5e439baffc",
"name" : "User Name"
},
"updatedAt" : "2025-09-03T22:28:33.586050378Z",
"class" : "GENERAL",
"name" : "Hazard Mitigation"
}, {
"uuid" : "a396ade2-bd5f-4b7c-8017-71b2161773e0",
"createdAt" : "2025-09-03T22:28:33.586068322Z",
"status" : "ACTIVE",
"createdBy" : {
"uuid" : "50b06f31-db6e-4637-99ee-0af0ce484e69",
"name" : "User Name"
},
"updatedAt" : "2025-09-03T22:28:33.586079488Z",
"class" : "GENERAL",
"name" : "Hazard Mitigation"
}, {
"uuid" : "fbc815cc-c693-405b-a430-56e878e18245",
"createdAt" : "2025-09-03T22:28:33.586090269Z",
"status" : "ACTIVE",
"createdBy" : {
"uuid" : "d22489a8-6fed-476c-a84c-18a41c5646bc",
"name" : "User Name"
},
"updatedAt" : "2025-09-03T22:28:33.586104438Z",
"class" : "GENERAL",
"name" : "Hazard Mitigation"
}, {
"uuid" : "1e43fd11-9029-4df6-903d-689350a9b561",
"createdAt" : "2025-09-03T22:28:33.586108691Z",
"status" : "ACTIVE",
"createdBy" : {
"uuid" : "49b0199e-00d6-43df-abab-82591ccdfc6c",
"name" : "User Name"
},
"updatedAt" : "2025-09-03T22:28:33.586118458Z",
"class" : "GENERAL",
"name" : "Hazard Mitigation"
}, {
"uuid" : "fe23eb7d-a166-4204-bd7b-83b99367bad3",
"createdAt" : "2025-09-03T22:28:33.586130099Z",
"status" : "ACTIVE",
"createdBy" : {
"uuid" : "ffb27a2a-69aa-4e7c-9f28-9d5a49cfcbcf",
"name" : "User Name"
},
"updatedAt" : "2025-09-03T22:28:33.586139951Z",
"class" : "GENERAL",
"name" : "Hazard Mitigation"
} ]
}
Checklists
List
A GET
request will list all the checklists on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Return only checklists for the project |
true |
|
statuses |
Return only checklists with these statuses |
true |
Enums: COMPLETED, DRAFT, DELETED |
createdByUuid |
Return only checklists created by a user identified by the unique identifier |
true |
|
templateUuid |
Return only checklists created from a template identified by the unique identifier |
true |
|
fromCreatedAt |
Return only checklists created at or after this time, inclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
toCreatedAt |
Return only checklists created before this time, exclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
checklistDateFrom |
Return only checklists with the checklist date at or after this time, inclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
checklistDateTo |
Return only checklists with the checklist date at or before this time, inclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
checklistTypeUuid |
Return only checklists with a checklist type identified by the unique identifier |
true |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the checklist |
name |
String |
Name of the checklist |
projectUuid |
String |
Unique identifier for the project that the checklist belongs to |
templateUuid |
String |
Unique identifier for the template of the checklist |
pdfUrl |
String |
URL for downloading the checklist PDF |
createdAt |
String |
Date and Time (UTC) when the checklist was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the checklist was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Status of the checklist Enums: COMPLETED, DRAFT, DELETED |
createdBy.uuid |
String |
Unique identifier for the user who created the checklist |
createdBy.name |
String |
Name of the user who created the checklist |
location.name |
String |
Location where the checklist was made |
location.fullPath |
String |
Full path location where the checklist was made |
checklistTypeUuid |
String |
Unique identifier for the checklist type |
observationsClosedCount |
Number |
The number of observations raised on the checklist that have been closed |
observationsRaisedCount |
Number |
The number of observations raised on the checklist |
responsibleClassificationUuid |
String |
Unique identifier for the responsible party classification |
checklistDate |
String |
Date and Time (UTC) for this checklist |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/checklists?projectUuid=d6a6c636-2ef9-44e7-8846-16c2d73c3a68&templateUuid=392a95e1-3ca3-45da-a3b3-81c03704928e&createdByUuid=4ccde5a9-fdb7-4b80-8ae5-eb93b4bffca1&fromCreatedAt=2025-09-02T22:28:34Z&toCreatedAt=2025-09-03T22:28:34Z&checklistTypeUuid=a4ad57e7-6207-4eff-9989-14709607cc60&statuses=COMPLETED&statuses=DRAFT&checklistDateFrom=2025-09-02T22:28:34Z&checklistDateTo=2025-09-03T22:28:34Z&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/checklists?projectUuid=d6a6c636-2ef9-44e7-8846-16c2d73c3a68&templateUuid=392a95e1-3ca3-45da-a3b3-81c03704928e&createdByUuid=4ccde5a9-fdb7-4b80-8ae5-eb93b4bffca1&fromCreatedAt=2025-09-02T22:28:34Z&toCreatedAt=2025-09-03T22:28:34Z&checklistTypeUuid=a4ad57e7-6207-4eff-9989-14709607cc60&statuses=COMPLETED&statuses=DRAFT&checklistDateFrom=2025-09-02T22:28:34Z&checklistDateTo=2025-09-03T22:28:34Z&offset=0&limit=5",
"next" : "/checklists?projectUuid=d6a6c636-2ef9-44e7-8846-16c2d73c3a68&templateUuid=392a95e1-3ca3-45da-a3b3-81c03704928e&createdByUuid=4ccde5a9-fdb7-4b80-8ae5-eb93b4bffca1&fromCreatedAt=2025-09-02T22:28:34Z&toCreatedAt=2025-09-03T22:28:34Z&checklistTypeUuid=a4ad57e7-6207-4eff-9989-14709607cc60&statuses=COMPLETED&statuses=DRAFT&checklistDateFrom=2025-09-02T22:28:34Z&checklistDateTo=2025-09-03T22:28:34Z&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "051c5986-e9a5-47a6-863f-8ba84804454a",
"templateUuid" : "1bc3f3e7-6176-47b4-852d-3955e7d64c4d",
"name" : "Activity Risk Assessment",
"status" : "COMPLETED",
"projectUuid" : "2922b3d4-cb1a-4d23-8297-60541da980e8",
"pdfUrl" : "www.nichole-kohler.name",
"createdBy" : {
"uuid" : "8f5cdb4c-6134-4392-aa57-e8cd50c634c2",
"name" : "Mrs. Shane Orn"
},
"createdAt" : "2025-02-01T10:51:00Z",
"updatedAt" : "2025-07-25T01:35:32Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Gleason Row"
},
"checklistTypeUuid" : "2deb579d-d6ab-48e8-b9bd-af1dc2e1f7f1",
"observationsClosedCount" : 2,
"observationsRaisedCount" : 4,
"responsibleClassificationUuid" : "6c044abb-f73d-4359-a086-93b60bad6a72",
"checklistDate" : "2025-09-03T22:28:34.82322859"
}, {
"uuid" : "12b11c62-5f65-4c9d-b6ef-9a2d7a78ef16",
"templateUuid" : "84ff3291-4030-4a43-b2de-68fb4f465e4c",
"name" : "Construction Quality Control",
"status" : "DRAFT",
"projectUuid" : "6ce51f11-a8fd-4ff8-92b8-e6fb6d39a2d4",
"pdfUrl" : "www.harley-schimmel.com",
"createdBy" : {
"uuid" : "2d154fb9-c7f8-4132-a793-baccd28c29e2",
"name" : "Violeta Stracke DDS"
},
"createdAt" : "2024-08-23T18:32:41Z",
"updatedAt" : "2025-06-12T13:40:21Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Kertzmann Mount"
},
"checklistTypeUuid" : "d81f6be9-ae52-4dab-8a7f-721448ee2364",
"observationsClosedCount" : 4,
"observationsRaisedCount" : 4,
"responsibleClassificationUuid" : "f6cdc52d-8a56-419d-86ad-fe018dcb2c32",
"checklistDate" : "2025-09-03T22:28:34.858393635"
}, {
"uuid" : "df70920e-f470-4749-8444-6a0f6648a0ac",
"templateUuid" : "f90cf4ab-ed5b-4c84-9f63-eb767e17d365",
"name" : "Covid-19 Inspection",
"status" : "COMPLETED",
"projectUuid" : "7e9b97b0-be14-4ab3-babd-747c4be1e464",
"pdfUrl" : "www.logan-schaden.net",
"createdBy" : {
"uuid" : "c380664f-efc1-4dd8-b68c-4b084abd0b0d",
"name" : "Cary Labadie"
},
"createdAt" : "2025-05-10T13:59:42Z",
"updatedAt" : "2025-07-17T23:57:11Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Darrick Gardens"
},
"checklistTypeUuid" : "9b872942-b41a-4a32-a5d8-9570341e969d",
"observationsClosedCount" : 9,
"observationsRaisedCount" : 3,
"responsibleClassificationUuid" : "2492e549-953d-4309-9917-752c23b42ac8",
"checklistDate" : "2025-09-03T22:28:34.890240578"
}, {
"uuid" : "53cc1fac-c6b0-407f-a078-11ace18bf180",
"templateUuid" : "5dd5f2c4-e3b2-4a44-985a-7b586addb7a5",
"name" : "Framing Pre-Inspection",
"status" : "COMPLETED",
"projectUuid" : "7b05a1df-d7c8-4ab5-a57b-2f3830502782",
"pdfUrl" : "www.emanuel-jacobs.biz",
"createdBy" : {
"uuid" : "5e457754-06a9-49ef-bbe3-dd85affb2267",
"name" : "Miss Bernice Trantow"
},
"createdAt" : "2025-01-12T00:54:07Z",
"updatedAt" : "2025-08-26T06:18:33Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Carroll Union"
},
"checklistTypeUuid" : "7b4db706-5f14-40bb-b51e-2e4e0117a234",
"observationsClosedCount" : 6,
"observationsRaisedCount" : 3,
"responsibleClassificationUuid" : "33873d15-2c22-4f54-b617-e39343536c9f",
"checklistDate" : "2025-09-03T22:28:34.919982826"
}, {
"uuid" : "a53d9455-7e36-4d90-9afc-d43fd60a7f68",
"templateUuid" : "3c4377c4-6dda-447e-8f8e-972ce8ce9d33",
"name" : "Material Delivery",
"status" : "DRAFT",
"projectUuid" : "0fd5d35b-56d5-49bd-a3bd-1a4b970b34bf",
"pdfUrl" : "www.emogene-kessler.com",
"createdBy" : {
"uuid" : "e2bf1607-00c9-4c29-9945-01256a17692b",
"name" : "Lenny Gerlach MD"
},
"createdAt" : "2024-03-22T20:40:38Z",
"updatedAt" : "2025-04-04T05:15:01Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Dicki Turnpike"
},
"checklistTypeUuid" : "38d861cc-6e74-4dd2-b962-a18e64625357",
"observationsClosedCount" : 8,
"observationsRaisedCount" : 2,
"responsibleClassificationUuid" : "8bd58718-fa6c-44c8-99d6-c1dc3683bc3c",
"checklistDate" : "2025-09-03T22:28:34.949591525"
} ]
}
Get
A GET
request will get a checklist by UUID on your Raken account.
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the checklist |
name |
String |
Name of the checklist |
projectUuid |
String |
Unique identifier for the project that the checklist belongs to |
templateUuid |
String |
Unique identifier for the template of the checklist |
pdfUrl |
String |
URL for downloading the checklist PDF |
createdAt |
String |
Date and Time (UTC) when the checklist was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the checklist was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Status of the checklist Enums: COMPLETED, DRAFT, DELETED |
createdBy.uuid |
String |
Unique identifier for the user who created the checklist |
createdBy.name |
String |
Name of the user who created the checklist |
location.name |
String |
Location where the checklist was made |
location.fullPath |
String |
Full path location where the checklist was made |
checklistTypeUuid |
String |
Unique identifier for the checklist type |
observationsClosedCount |
Number |
The number of observations raised on the checklist that have been closed |
observationsRaisedCount |
Number |
The number of observations raised on the checklist |
responsibleClassificationUuid |
String |
Unique identifier for the responsible party classification |
checklistDate |
String |
Date and Time (UTC) for this checklist |
checklistSections |
Array |
Sections of the checklist |
checklistSections[].position |
Number |
Order of the section in the list |
checklistSections[].title |
String |
Title of the section |
checklistSections[].description |
String |
Description of the section |
checklistSections[].checklistQuestions |
Array |
Questions under the section |
checklistSections[].checklistQuestions[].questionText |
String |
Question text |
checklistSections[].checklistQuestions[].responseType |
String |
Response type Enums: MULTI_CHOICE, CHECKBOX, YES_NO_NA, TEXT, YES_NO, SIGNATURE |
checklistSections[].checklistQuestions[].position |
Number |
Order of the question in the section |
checklistSections[].checklistQuestions[].required |
Boolean |
Flag that indicates whether or not the question must be answered Boolean value: true or false |
checklistSections[].checklistQuestions[].checklistResponses |
Array |
Question responses |
checklistSections[].checklistQuestions[].checklistResponses[].value |
String |
Response to the question |
checklistSections[].checklistQuestions[].checklistResponses[].note |
String |
Response notes |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments |
Array |
Response attachments |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments[].uuid |
String |
Unique identifier for this attachment |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments[].mediaType |
String |
Media type for this attachment Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments[].url |
String |
URL for this attachment |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments[].thumbnailUrl |
String |
Thumbnail URL for this attachment |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments[].contentType |
String |
Content type for this attachment (e.g. 'image/jpeg', 'image/png') |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments[].description |
String |
Description of this attachment |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments[].fileName |
String |
File name of this attachment |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments[].fileSize |
Number |
Size of this attachment in bytes |
checklistSections[].checklistQuestions[].checklistResponses[].choices |
Array |
Response choices |
checklistSections[].checklistQuestions[].checklistResponses[].choices[].position |
Number |
Order of the choice in the list |
checklistSections[].checklistQuestions[].checklistResponses[].choices[].description |
String |
Description of the choice |
checklistSections[].checklistQuestions[].checklistResponses[].choices[].selected |
Boolean |
Flag that indicates whether or not the choice is selected Boolean value: true or false |
checklistSections[].checklistQuestions[].checklistResponses[].observations[].uuid |
String |
Unique identifier of the observation on this checklist response |
checklistSections[].checklistQuestions[].checklistResponses[].observations[].category |
String |
Category of the observation on this checklist response |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/checklists/6a4ef641-a2de-47aa-8179-e0c1b4a17b85' -i -X GET
Response body
{
"uuid" : "6a4ef641-a2de-47aa-8179-e0c1b4a17b85",
"templateUuid" : "dc4541fa-d61a-4ff4-9efc-4759b2f4d6ef",
"name" : "Construction Quality Control",
"status" : "COMPLETED",
"projectUuid" : "0c1f10da-c52f-48a4-a4bb-09592037646a",
"pdfUrl" : "www.joesph-monahan.biz",
"createdBy" : {
"uuid" : "e308b36d-9e70-436c-aeb3-fc1f541a75c3",
"name" : "Karyl Swift"
},
"createdAt" : "2024-10-19T11:43:39Z",
"updatedAt" : "2025-05-07T16:02:05Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Kihn Extensions"
},
"checklistTypeUuid" : "8175f6be-73ec-49a3-948f-df7606abcec9",
"observationsClosedCount" : 3,
"observationsRaisedCount" : 4,
"responsibleClassificationUuid" : "ec64448b-5574-4e1e-a42f-6feca8b4541e",
"checklistDate" : "2025-09-03T22:28:34.684658222",
"checklistSections" : [ {
"checklistQuestions" : [ {
"checklistResponses" : [ {
"value" : "Aut a pariatur magnam et eligendi provident ut.",
"note" : "Sint sint et veritatis ratione hic voluptate. Minus quasi accusamus minima.",
"checklistResponseAttachments" : [ {
"uuid" : "e08b1936-aa21-4e6d-b993-603ba9732533",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "beatae.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 27609
} ],
"choices" : [ {
"description" : "Choice 2",
"position" : 2,
"selected" : false
}, {
"description" : "Choice 1",
"position" : 1,
"selected" : true
} ],
"observations" : [ {
"uuid" : "ed2c621b-80d9-4f20-81d5-71fef14260d7",
"category" : "NEGATIVE"
} ]
} ],
"questionText" : "Do edges that people could fall from have suitable edge protection?",
"responseType" : "CHECKBOX",
"position" : 2,
"required" : false
}, {
"checklistResponses" : [ {
"value" : "Consequuntur quia hic placeat temporibus quas.",
"note" : "Temporibus optio omnis suscipit. Officia vitae neque rerum.",
"checklistResponseAttachments" : [ {
"uuid" : "12d36448-1652-4421-8869-f492e693714a",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "amet.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 24003
} ],
"choices" : [ {
"description" : "Choice 2",
"position" : 2,
"selected" : false
}, {
"description" : "Choice 1",
"position" : 1,
"selected" : true
} ],
"observations" : [ {
"uuid" : "9d93dbcf-f579-4a23-9997-1bf10c45c326",
"category" : "NEGATIVE"
} ]
} ],
"questionText" : "Are access routes in good condition and clearly signposted?",
"responseType" : "CHECKBOX",
"position" : 1,
"required" : true
} ],
"position" : 1,
"title" : "Section 1",
"description" : "Description about the section"
} ]
}
List Checklist Templates
A GET
request will list all the checklist templates on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
statuses |
Return only checklist templates with given statuses. The default is ACTIVE |
true |
Enums: ACTIVE, DRAFT, DELETED |
checklistTypeUuids |
Return only checklist templates with the specified checklist type(s) by the unique identifier |
true |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the checklist template |
name |
String |
Name of the checklist template |
createdAt |
String |
Date and Time (UTC) when the checklist template was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the checklist template was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Status of the checklist template Enums: ACTIVE, DRAFT, DELETED |
checklistType.uuid |
String |
Unique identifier for the checklist type |
checklistType.class |
String |
Class for the checklist type |
checklistType.name |
String |
Name for the checklist type |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/checklists/templates?statuses=ACTIVE&statuses=DRAFT&checklistTypeUuids=596230ac-ddf1-4a1f-b1d7-bbd3ef229d50&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/checklists/templates?statuses=ACTIVE&statuses=DRAFT&checklistTypeUuids=596230ac-ddf1-4a1f-b1d7-bbd3ef229d50&offset=0&limit=5",
"next" : "/checklists/templates?statuses=ACTIVE&statuses=DRAFT&checklistTypeUuids=596230ac-ddf1-4a1f-b1d7-bbd3ef229d50&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "5d1a080b-c5e5-4b9a-97f1-ba506b9e8d63",
"name" : "Activity Risk Assessment",
"status" : "ACTIVE",
"createdAt" : "2025-03-03T12:45:30Z",
"updatedAt" : "2025-06-02T20:02:44Z",
"checklistType" : {
"uuid" : "fd440ac1-4317-49f8-a2dd-31666400db1a",
"class" : "SAFETY",
"name" : "Raken Safety Checklists"
}
}, {
"uuid" : "07c4ee63-dd3b-4285-a717-1d0e2511f109",
"name" : "Construction Quality Control",
"status" : "ACTIVE",
"createdAt" : "2023-07-20T21:03:31Z",
"updatedAt" : "2025-01-29T12:09:33Z",
"checklistType" : {
"uuid" : "f421b3b4-06bc-4c03-915c-e5e90f77bcc2",
"class" : "EQUIPMENT",
"name" : "Raken Equipment Checklists"
}
}, {
"uuid" : "26e6815d-62ce-4c6f-adb5-6a8f7559669b",
"name" : "Covid-19 Inspection",
"status" : "DRAFT",
"createdAt" : "2024-01-16T09:56:48Z",
"updatedAt" : "2025-07-26T19:20:30Z",
"checklistType" : {
"uuid" : "9b0129ec-894d-46a1-9cc4-94d45cdd18db",
"class" : "EQUIPMENT",
"name" : "Raken Equipment Checklists"
}
}, {
"uuid" : "6e6c7c17-13e4-45d5-89ac-f8c995cfd654",
"name" : "Framing Pre-Inspection",
"status" : "DRAFT",
"createdAt" : "2023-05-19T16:55:11Z",
"updatedAt" : "2023-11-20T09:18:01Z",
"checklistType" : {
"uuid" : "eb0b20cf-3fc3-435c-a7dc-670e9efa4805",
"class" : "EQUIPMENT",
"name" : "Raken Equipment Checklists"
}
}, {
"uuid" : "c4981ce3-7858-41ba-8db6-d9c8a6942ae9",
"name" : "Material Delivery",
"status" : "DRAFT",
"createdAt" : "2025-01-30T09:24:52Z",
"updatedAt" : "2025-04-10T18:34:58Z",
"checklistType" : {
"uuid" : "90e19ffa-8d8d-4bf3-8054-6b038f5ddab1",
"class" : "QUALITY",
"name" : "Raken Quality Checklists"
}
} ]
}
Materials
List
A GET
request will list all the materials on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
If specified, return materials only for this project |
true |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier of the material |
name |
String |
Name of the material |
materialUnit |
Object |
Material unit |
materialUnit.uuid |
String |
Unique identifier of the material unit |
materialUnit.name |
String |
Name of the material unit |
projects |
Array |
List of projects that the material is assigned to |
projects[].uuid |
String |
Unique identifier of the project |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/materials?projectUuid=3041f6d9-8c78-4cc8-8f3d-2730b2f33d4b&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/materials?projectUuid=3041f6d9-8c78-4cc8-8f3d-2730b2f33d4b&offset=0&limit=5",
"next" : "/materials?projectUuid=3041f6d9-8c78-4cc8-8f3d-2730b2f33d4b&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "6647e02b-ec68-409d-83d8-863a62c2c954",
"name" : "Cement",
"materialUnit" : {
"uuid" : "7785ef5d-6650-4b0a-a388-5953bd5eaab3",
"name" : "kg"
},
"projects" : [ {
"uuid" : "1c4b2bb0-1b2e-49e2-a038-4c55a8631420"
} ]
}, {
"uuid" : "cee32c05-a48f-431e-9dc2-17cefece843c",
"name" : "Sand",
"materialUnit" : {
"uuid" : "d0e03170-722f-47c6-b2cc-7360c04592aa",
"name" : "kg"
},
"projects" : [ {
"uuid" : "f1bee25d-7344-4d2e-a095-e09d88ce80cf"
} ]
}, {
"uuid" : "4ea48564-8791-4759-86be-cd20c930e487",
"name" : "Steel",
"materialUnit" : {
"uuid" : "843cf751-d276-4a89-892d-5e6a025880ff",
"name" : "kg"
},
"projects" : [ {
"uuid" : "54dc277a-a289-45b1-9b10-34d30f58bd0e"
} ]
}, {
"uuid" : "01dbc81c-dcf9-4441-a3da-d2a2bf78964f",
"name" : "Concrete",
"materialUnit" : {
"uuid" : "e9eeb80d-db24-4565-bf84-22c0fbfaae6e",
"name" : "kg"
},
"projects" : [ {
"uuid" : "988c42ec-43ea-4dfe-892f-c10e7a41fe0f"
} ]
}, {
"uuid" : "90ef99d0-431c-4307-83aa-0979bb1fef5f",
"name" : "Bricks",
"materialUnit" : {
"uuid" : "ffd17bd8-987a-4079-b450-65e36b2373dc",
"name" : "kg"
},
"projects" : [ {
"uuid" : "cf5c8411-2051-4781-a153-f086d52b5f36"
} ]
} ]
}
Create
A POST
request will create a new material on your Raken account.
-
If
projectUuid
is specified when creating a material, the material will be only available to the project. -
If
projectUuid
is not specified when creating a material, the material will be available to use by any project on your Raken account.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Name of the material |
false |
Must not be blank Size must be between 0 and 255 inclusive |
materialUnitUuid |
String |
Unique identifier for the unit of the material |
false |
Must not be null |
projectUuid |
String |
If specified, a material is created for this project and can’t be used by other projects. If not specified, a company level material is created which is available to use by all projects. |
true |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier of the material |
name |
String |
Name of the material |
materialUnit |
Object |
Material unit |
materialUnit.uuid |
String |
Unique identifier of the material unit |
materialUnit.name |
String |
Name of the material unit |
projects |
Array |
List of projects that the material is assigned to |
projects[].uuid |
String |
Unique identifier of the project |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/materials' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "Sand",
"materialUnitUuid" : "09854ad8-b75c-403a-911b-6d54c14836b3",
"projectUuid" : "94d6f4c4-a409-4bfd-9441-13fac9ebdc48"
}'
Response body
{
"uuid" : "05ee4ffa-cce9-439a-aa39-39ce1d96b152",
"name" : "Sand",
"materialUnit" : {
"uuid" : "09854ad8-b75c-403a-911b-6d54c14836b3",
"name" : "kg"
},
"projects" : [ {
"uuid" : "94d6f4c4-a409-4bfd-9441-13fac9ebdc48"
} ]
}
Update
A PATCH
request will update a material.
You can change a material’s name or unit, and also configure which projects the material can be used by.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Name of the material |
true |
Must not be blank Size must be between 0 and 255 inclusive |
materialUnitUuid |
String |
Unique identifier of the unit for the material |
true |
|
projectUuids |
Array |
List of unique identifiers for projects that the material is assigned to |
true |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier of the material |
name |
String |
Name of the material |
materialUnit |
Object |
Material unit |
materialUnit.uuid |
String |
Unique identifier of the material unit |
materialUnit.name |
String |
Name of the material unit |
projects |
Array |
List of projects that the material is assigned to |
projects[].uuid |
String |
Unique identifier of the project |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/materials/55132002-a50d-40d1-b183-442188a3792b' -i -X PATCH \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "Steel"
}'
Response body
{
"uuid" : "55132002-a50d-40d1-b183-442188a3792b",
"name" : "Steel",
"materialUnit" : {
"uuid" : "4735fd7b-9b37-408d-b5cf-5de8d93a1269",
"name" : "kg"
},
"projects" : [ {
"uuid" : "71cd2658-54cd-4001-ab9c-2e2b0d287a98"
} ]
}
Material Units
List
A GET
request will list all the material units on your Raken account
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the unit |
name |
String |
Name of the unit |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/materialUnits?limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/materialUnits?offset=0&limit=5",
"next" : "/materialUnits?offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "e79967b1-9793-42a9-b3f8-62a7703e35e3",
"name" : "m"
}, {
"uuid" : "34abbf5f-2f2b-4576-86af-3dcf61ddfac4",
"name" : "inch"
}, {
"uuid" : "fbfb2a9f-ffcd-482d-85a7-e0b9dbf5d23f",
"name" : "gallon"
}, {
"uuid" : "899770c8-4bf1-4f23-8186-42a553c66754",
"name" : "m²"
}, {
"uuid" : "372ec29f-f92e-4e76-ac98-02aa1a834b11",
"name" : "ea"
} ]
}
Create
A POST
request will create a new material unit.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Name of the unit |
false |
Must not be blank Size must be between 0 and 255 inclusive |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the unit |
name |
String |
Name of the unit |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/materialUnits' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "inch"
}'
Response body
{
"uuid" : "bb1fb7b6-7cb8-4c6c-a024-1731a5047feb",
"name" : "inch"
}
Material Logs
List
A GET
request will list the matching material logs.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Return material logs for this project |
false |
|
fromDate |
Return material logs starting on this date |
true |
Format: "yyyy-MM-dd" |
toDate |
Return material logs ending on this date |
true |
Format: "yyyy-MM-dd" |
changedSince |
Return only material logs updated at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only material logs updated before this time, exclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the material log |
date |
String |
Date of this log Format: "yyyy-MM-dd" |
updatedAt |
String |
Date and Time (UTC) when the material log was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
material |
Object |
Details of the Material |
material.uuid |
String |
Unique identifier of the Material |
material.name |
String |
Name of the Material |
material.materialUnit |
Object |
Material unit |
material.materialUnit.uuid |
String |
Unique identifier of the material unit |
material.materialUnit.name |
String |
Name of the material unit |
quantity |
Number |
Quantity of this material |
costCode |
Object |
Details of the Cost Code |
costCode.uuid |
String |
Unique identifier for the Cost Code |
costCode.code |
String |
Code for the Cost Code |
costCode.division |
String |
Division for the Cost Code |
costCode.description |
String |
Description of the Cost Code |
attachments[].uuid |
String |
Unique identifier for this attachment on the material log |
attachments[].url |
String |
Url for this attachment on the material log |
attachments[].description |
String |
Description of this attachment on the material log |
attachments[].thumbnailUrl |
String |
Thumbnail Url for this attachment on the material log |
attachments[].contentType |
String |
Content type for this attachment on the material log (e.g. 'image/jpeg', 'image/png') |
attachments[].mediaType |
String |
Media type for this attachment on the material log Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
attachments[].fileName |
String |
File name of this attachment on the material log |
attachments[].fileSize |
Number |
Size of this attachment on the material log in bytes |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/materialLogs?fromDate=2011-01-01&toDate=2012-01-01&changedSince=2024-03-03T14:00:00Z&changedUntil=2024-03-13T14:00:00Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/materialLogs?fromDate=2011-01-01&toDate=2012-01-01&changedSince=2024-03-03T14:00:00Z&changedUntil=2024-03-13T14:00:00Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&offset=0&limit=5",
"next" : "/materialLogs?fromDate=2011-01-01&toDate=2012-01-01&changedSince=2024-03-03T14:00:00Z&changedUntil=2024-03-13T14:00:00Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "f417b725-4ce4-41fb-a9b4-39d3a3f4fde7",
"material" : {
"uuid" : "358bbb9e-b0db-4926-a1f6-4d924e324a5b",
"name" : "Concrete",
"materialUnit" : {
"uuid" : "b992130c-5c07-4dfd-947c-94c60592aa7d",
"name" : "Cubic Ft"
}
},
"costCode" : {
"uuid" : "2254229a-f4ba-42e5-b2df-871cdb5b775b",
"code" : "0110",
"division" : "division",
"description" : "Structural Concrete"
},
"attachments" : [ {
"uuid" : "e8fe71a4-99a3-4698-b948-2ba13c309805",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "commodi.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 3888
} ],
"quantity" : 50.0,
"date" : "2020-10-10",
"updatedAt" : "2025-09-03T22:28:40.928564389Z"
} ]
}
Pay Types
List
A GET
request will list all the pay types.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuids |
Restrict the pay types to the projects represented by these UUIDs. (Parameter may be included multiple times) |
true |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the pay type |
name |
String |
Name for the pay type |
code |
String |
Code for the pay type |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/payTypes?projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/payTypes?projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&offset=0&limit=5",
"next" : "/payTypes?projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "757342d8-135b-430a-9b1e-c4d87518b3b2",
"name" : "Regular Time",
"code" : "RT"
}, {
"uuid" : "2dadcdf3-7636-45e3-b16d-f53f3ce7a605",
"name" : "Over Time",
"code" : "OT"
}, {
"uuid" : "912dbbc5-83a2-4b1c-9de0-4a71979e17b4",
"name" : "Double Time",
"code" : "DT"
} ]
}
Budgets
List
A GET
request will list all the budgets.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Restrict the budgets to the projects represented by this UUID. |
false |
Entity response fields
Path | Type | Description |
---|---|---|
costCode.uuid |
String |
Unique identifier for the cost code |
budgetedHours |
Number |
Budgeted hours for the cost code |
budgetedMaterials |
Array |
Materials included in the budget |
budgetedMaterials[].quantity |
Number |
Budgeted quantity of material |
budgetedMaterials[].material.uuid |
String |
Unique identifier for this material |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/budgets?projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/budgets?projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&offset=0&limit=5",
"next" : "/budgets?projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"budgetedHours" : 6.17,
"costCode" : {
"uuid" : "e6a174b6-3856-4bc3-9a83-13516078439c"
},
"budgetedMaterials" : [ {
"quantity" : 15.0,
"material" : {
"uuid" : "5466365d-01a1-49d6-95dd-2e8ea7ad9b3c"
}
}, {
"quantity" : 23.0,
"material" : {
"uuid" : "c739f527-d6c2-4eae-a791-e1e4e1f5dfad"
}
} ]
}, {
"budgetedHours" : 25.98,
"costCode" : {
"uuid" : "345d14dc-0322-4076-af2e-0e013f89b72b"
},
"budgetedMaterials" : [ {
"quantity" : 22.0,
"material" : {
"uuid" : "d47979df-5416-4168-bfd9-263da8b9ff59"
}
}, {
"quantity" : 79.0,
"material" : {
"uuid" : "6e4fd8f9-877c-44c1-9515-628e42e02105"
}
} ]
} ]
}
Daily Reports
List
A GET
request will list all the daily reports on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Return only daily reports for the project. |
false |
|
fromDate |
Return daily reports created on or after this date |
true |
Format: "yyyy-MM-dd" |
toDate |
Return daily reports created on or before this date. The date range between fromDate and toDate must not exceed 31 days |
true |
Format: "yyyy-MM-dd" |
statuses |
Return only daily reports with given statuses. The default is COMPLETED |
true |
Enums: COMPLETED, UNSIGNED, NO_WORK_DONE |
changedSince |
Return only daily reports updated at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only daily reports updated before this time, exclusive. The date range between changedSince and changedUntil must not exceed 31 days |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the report |
status |
String |
Status of the report Enums: COMPLETED, UNSIGNED, NO_WORK_DONE |
projectUuid |
String |
Unique identifier for the project that the report is in |
reportDate |
String |
Date of the report Format: "yyyy-MM-dd" |
createdBy.name |
String |
Name of the user who created the report |
createdBy.uuid |
String |
Unique identifier for the user who created the report |
updatedBy.name |
String |
Name of the user who last updated the report |
updatedBy.uuid |
String |
Unique identifier for the user who last updated the report |
signedBy.name |
String |
Name of the user who signed the report |
signedBy.uuid |
String |
Unique identifier for the user who signed the report |
signedAt |
String |
Date and Time (UTC) when the report was signed Format: "yyyy-MM-ddThh:mm:ssZ" |
createdAt |
String |
Date and Time (UTC) when the report was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the report was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
reportLinks.superDaily |
String |
URL of the PDF file for the super daily report |
reportLinks.daily |
String |
URL of the PDF file for the daily report |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/dailyReports?projectUuid=7eb76edc-91f8-4480-ad31-3628fc0a96de&fromDate=2025-09-03&toDate=2025-09-23&statuses=UNSIGNED,COMPLETED&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/dailyReports?projectUuid=7eb76edc-91f8-4480-ad31-3628fc0a96de&fromDate=2025-09-03&toDate=2025-09-23&statuses=UNSIGNED,COMPLETED&offset=0&limit=5",
"next" : "/dailyReports?projectUuid=7eb76edc-91f8-4480-ad31-3628fc0a96de&fromDate=2025-09-03&toDate=2025-09-23&statuses=UNSIGNED,COMPLETED&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "9a6d5006-b03e-4e97-a777-924461099c21",
"status" : "COMPLETED",
"reportDate" : "2025-06-05",
"projectUuid" : "fac9b2d2-6c93-4c53-b598-ae383442c225",
"signedBy" : {
"uuid" : "c86191c5-4468-449e-a9b5-eaf50e510b5f",
"name" : "Taylor Schoen"
},
"signedAt" : "2025-06-19T18:35:28Z",
"createdBy" : {
"uuid" : "de4932ed-a3da-402f-a7a1-43667074b81c",
"name" : "Roberto Abshire"
},
"createdAt" : "2025-06-05T07:04:38Z",
"updatedBy" : {
"uuid" : "4c64e9f1-7173-4d7a-99d5-3d0c1cb592f8",
"name" : "William Stanton Sr."
},
"updatedAt" : "2025-06-18T09:29:36Z",
"reportLinks" : {
"daily" : "http://cdn.rakenapp.com/projects/reports/my-projects_2025-06-05_B19255EC.pdf",
"superDaily" : "http://cdn.rakenapp.com/projects/reports/superdaily/my-projects_2025-06-05_3D2CDDAB.pdf"
}
}, {
"uuid" : "98e98414-be3f-43fc-9a0a-82635b606220",
"status" : "NO_WORK_DONE",
"reportDate" : "2023-07-11",
"projectUuid" : "e7558034-df7b-468f-ad00-49edd0c010ae",
"createdBy" : {
"uuid" : "7c67ad92-ae13-4158-a9a3-3b5514c70c4d",
"name" : "Joey Bahringer"
},
"createdAt" : "2023-07-11T03:16:15Z",
"updatedBy" : {
"uuid" : "c057959b-dcef-4936-880f-0fcaf113626f",
"name" : "Richard Keeling"
},
"updatedAt" : "2024-03-04T01:19:47Z",
"reportLinks" : {
"daily" : "http://cdn.rakenapp.com/projects/reports/my-projects_2023-07-11_26924BEE.pdf",
"superDaily" : "http://cdn.rakenapp.com/projects/reports/superdaily/my-projects_2023-07-11_248BDEFB.pdf"
}
}, {
"uuid" : "c257ae9e-4c41-4e6b-b80f-38aee8673941",
"status" : "UNSIGNED",
"reportDate" : "2023-08-13",
"projectUuid" : "1a40c755-03a9-45e3-9ce9-b1f332d35425",
"createdBy" : {
"uuid" : "63015a22-0f3e-4092-96d1-282bd8e15723",
"name" : "Dr. Leeanna Yundt"
},
"createdAt" : "2023-08-13T17:29:02Z",
"updatedBy" : {
"uuid" : "089d0e0a-4046-48f1-9061-035d44e7618f",
"name" : "Kenny Medhurst"
},
"updatedAt" : "2024-07-31T13:08:15Z",
"reportLinks" : {
"daily" : "http://cdn.rakenapp.com/projects/reports/my-projects_2023-08-13_C3BEBD5A.pdf",
"superDaily" : "http://cdn.rakenapp.com/projects/reports/superdaily/my-projects_2023-08-13_F5212F00.pdf"
}
}, {
"uuid" : "72e1b21a-9ba6-49a9-af99-048e60505cb3",
"status" : "UNSIGNED",
"reportDate" : "2024-09-13",
"projectUuid" : "0899eefe-935b-4fab-8c2f-8d67d4b356f7",
"createdBy" : {
"uuid" : "e539fdcc-2b84-4985-add6-083b3885b088",
"name" : "Warner Luettgen DVM"
},
"createdAt" : "2024-09-13T10:07:09Z",
"updatedBy" : {
"uuid" : "f6f04ecc-0f12-47be-9f8f-38399f5db759",
"name" : "Russell Altenwerth"
},
"updatedAt" : "2024-10-21T18:12:00Z",
"reportLinks" : {
"daily" : "http://cdn.rakenapp.com/projects/reports/my-projects_2024-09-13_0EB81138.pdf",
"superDaily" : "http://cdn.rakenapp.com/projects/reports/superdaily/my-projects_2024-09-13_CEE8DD87.pdf"
}
}, {
"uuid" : "77b90b1b-0ff9-421a-bd10-425da78f9ffd",
"status" : "COMPLETED",
"reportDate" : "2024-12-19",
"projectUuid" : "6bcf0335-5023-4a94-902a-407f7fc3c7f9",
"signedBy" : {
"uuid" : "3aadb79c-7601-4ba4-aee8-7928aa4af284",
"name" : "Colene Heller Jr."
},
"signedAt" : "2025-07-07T10:45:50Z",
"createdBy" : {
"uuid" : "4dac7ac4-cf47-490c-8f56-346b8fa99c3a",
"name" : "Asha Johns PhD"
},
"createdAt" : "2024-12-19T16:51:13Z",
"updatedBy" : {
"uuid" : "a980d437-e9ed-4b22-b252-6da3875a515d",
"name" : "Margarito Halvorson"
},
"updatedAt" : "2025-05-11T00:00:12Z",
"reportLinks" : {
"daily" : "http://cdn.rakenapp.com/projects/reports/my-projects_2024-12-19_B030AD48.pdf",
"superDaily" : "http://cdn.rakenapp.com/projects/reports/superdaily/my-projects_2024-12-19_F645BF2D.pdf"
}
} ]
}
Toolbox Talks
List
A GET
request will list all the toolbox talks on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
statuses |
Return only toolbox talks with given statuses. The default is ACTIVE |
true |
Enums: ACTIVE, DELETED |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the talk |
name |
String |
Name of the talk |
status |
String |
Status of the talk Enums: ACTIVE, DELETED |
contentUrl |
String |
A URL for downloading the content of the talk |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/toolboxTalks?statuses=ACTIVE,DELETED&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/toolboxTalks?statuses=ACTIVE,DELETED&offset=0&limit=5",
"next" : "/toolboxTalks?statuses=ACTIVE,DELETED&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "a5bbb8a8-be32-4ac1-be3f-ed373bae5890",
"name" : "Molestias repellendus culpa voluptas similique atque sed nostrum.",
"status" : "DELETED",
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-1FC5CD59.pdf"
}, {
"uuid" : "66c5ca5f-5a43-47f4-8f05-2d0e539115a0",
"name" : "Illum explicabo repellat architecto velit.",
"status" : "ACTIVE",
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-5C6632ED.pdf"
}, {
"uuid" : "b006327f-7bef-4d82-b1cf-b017cfae2893",
"name" : "Tempore vel et voluptate sapiente.",
"status" : "DELETED",
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-0E3D6AF1.pdf"
}, {
"uuid" : "cb5cc93b-5614-4d0a-957c-364e9b8cac71",
"name" : "At ipsa beatae illum sapiente autem.",
"status" : "DELETED",
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-CED38A19.pdf"
}, {
"uuid" : "bb28033e-2838-4069-8948-9edb5c9fe7de",
"name" : "Maiores magnam omnis ut sed nihil ipsum ut.",
"status" : "ACTIVE",
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-0F3A2884.pdf"
} ]
}
List Past Talks
A GET
request will list all past toolbox talks on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Return talks for this project |
true |
|
talkUuid |
Return the talk represented by this identifier |
true |
|
memberUuids |
Return talks attended by this members |
true |
|
fromCreatedAt |
Return talks created in this range, this is start range |
true |
Format: "yyyy-MM-dd" |
toCreatedAt |
Return talks created in this range, this is end range. If not specified, it is capped to a month from fromCreatedAt |
true |
Format: "yyyy-MM-dd" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the project talk |
project.uuid |
String |
Unique identifier for the project |
scheduleDate |
String |
Scheduled date for the talk Format: "yyyy-MM-dd" |
status |
String |
Status of the talk Enums: COMPLETED, INCOMPLETE, MISSED |
talk.uuid |
String |
Unique identifier for the talk |
talk.name |
String |
Name of the talk |
type |
String |
Type of the talk Enums: TAKEN_PHOTO, UNDEFINED, DIGITAL_SIGNATURES |
attendees[].member.uuid |
String |
Unique identifier of the member who attended the talk |
attendees[].member.name |
String |
Name of the member who attended the talk |
attendees[].signatureDate |
String |
Signature date of member who attended the talk |
signaturePhotos[].contentUrl |
String |
Link to the photo. Only available when talk type is TAKEN_PHOTO |
signaturePhotos[].thumbnailUrl |
String |
Link to the thumbnail of the photo. Only available when talk type is TAKEN_PHOTO |
pdfUrl |
String |
A URL for downloading the content of the talk |
createdAt |
String |
Date and Time (UTC) when the project talk was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the project talk was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
createdBy.uuid |
String |
Unique identifier of the user who created this talk |
updatedBy.uuid |
String |
Unique identifier of the user who updated this talk |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/toolboxTalks/past?projectUuid=baed7afb-272e-4d31-b40d-abd321c65b40&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/toolboxTalks/past?projectUuid=baed7afb-272e-4d31-b40d-abd321c65b40&offset=0&limit=5",
"next" : "/toolboxTalks/past?projectUuid=baed7afb-272e-4d31-b40d-abd321c65b40&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "3d2a0841-e70c-4b5b-9d21-56665221d25b",
"project" : {
"uuid" : "213fc366-de2e-4b44-88c3-34ce32dce2ef"
},
"scheduleDate" : "2025-09-05",
"createdAt" : "2025-09-03T22:28:48.168388111Z",
"updatedAt" : "2025-09-03T22:28:48.168410468Z",
"talk" : {
"uuid" : "5d6cfc83-45f6-48e9-9c3b-2e53ed5026fc",
"name" : "Error iure qui accusantium est quos."
},
"status" : "COMPLETED",
"type" : "DIGITAL_SIGNATURES",
"attendees" : [ {
"member" : {
"uuid" : "764d2b6e-60f6-40e5-879a-dda252f83b98",
"name" : "Mrs. Vanesa Schmeler"
},
"signatureDate" : "2025-09-03T22:28:48.165926628"
} ],
"signaturePhotos" : [ {
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-E17A5631.pdf",
"thumbnailUrl" : "http://cdn.rakenapp.com/toolbox-talks-92E5F6BA.pdf"
} ],
"pdfUrl" : "http://cdn.rakenapp.com/toolbox-talks-D82CD301.pdf",
"createdBy" : {
"uuid" : "ae3920bc-ce77-4547-9b18-b333d53d3c8c"
},
"updatedBy" : {
"uuid" : "0d79d15a-f736-4dcd-b6d8-bd2ad838ac89"
}
}, {
"uuid" : "43c1440d-30a4-4250-8948-d7bacbd1a865",
"project" : {
"uuid" : "b501d768-f4b9-41d8-9c99-b7959a967682"
},
"scheduleDate" : "2025-09-05",
"createdAt" : "2025-09-03T22:28:48.177578964Z",
"updatedAt" : "2025-09-03T22:28:48.177589735Z",
"talk" : {
"uuid" : "689c25d6-6e0f-4071-ae10-cb5779edf52d",
"name" : "Repellendus inventore vero quasi."
},
"status" : "COMPLETED",
"type" : "DIGITAL_SIGNATURES",
"attendees" : [ {
"member" : {
"uuid" : "0e157e7f-0a6a-4e3a-9504-de429e6b05f4",
"name" : "Milagro Hagenes"
},
"signatureDate" : "2025-09-03T22:28:48.176065707"
} ],
"signaturePhotos" : [ {
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-A7292BDF.pdf",
"thumbnailUrl" : "http://cdn.rakenapp.com/toolbox-talks-AD304ECE.pdf"
} ],
"pdfUrl" : "http://cdn.rakenapp.com/toolbox-talks-4D48CC33.pdf",
"createdBy" : {
"uuid" : "b883069b-ebc9-4a4b-96cf-c175a4d53a39"
},
"updatedBy" : {
"uuid" : "6e01107b-104f-4c50-80e2-d86daaeb037e"
}
}, {
"uuid" : "acbb3eb4-2dff-44b1-8964-f0ec548117b7",
"project" : {
"uuid" : "0d891176-59a0-445c-b548-e0e61feb5381"
},
"scheduleDate" : "2025-09-05",
"createdAt" : "2025-09-03T22:28:48.186756195Z",
"updatedAt" : "2025-09-03T22:28:48.186763844Z",
"talk" : {
"uuid" : "73bcb780-1816-4c4b-9e5c-3529905d019d",
"name" : "Ut quae."
},
"status" : "MISSED",
"type" : "DIGITAL_SIGNATURES",
"attendees" : [ {
"member" : {
"uuid" : "178b00db-76d1-4872-9cb2-a5e28d3fbcbf",
"name" : "Mrs. Caitlyn Will"
},
"signatureDate" : "2025-09-03T22:28:48.185227764"
} ],
"signaturePhotos" : [ {
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-0BA14CD3.pdf",
"thumbnailUrl" : "http://cdn.rakenapp.com/toolbox-talks-0AA86241.pdf"
} ],
"pdfUrl" : "http://cdn.rakenapp.com/toolbox-talks-745FE29E.pdf",
"createdBy" : {
"uuid" : "2abeb5ad-7203-406a-a77a-eb77c1b43380"
},
"updatedBy" : {
"uuid" : "d2abe1bd-62e7-4784-afb9-dd02309db5ad"
}
}, {
"uuid" : "5f71a4a5-57b8-4348-91d2-2f3f7abee144",
"project" : {
"uuid" : "247b192e-d566-4887-a66e-523fca15883a"
},
"scheduleDate" : "2025-09-05",
"createdAt" : "2025-09-03T22:28:48.196452460Z",
"updatedAt" : "2025-09-03T22:28:48.196464411Z",
"talk" : {
"uuid" : "122ca0f5-0148-46f3-8d53-604781ac7cf7",
"name" : "Consectetur fugit culpa."
},
"status" : "MISSED",
"type" : "DIGITAL_SIGNATURES",
"attendees" : [ {
"member" : {
"uuid" : "f2c8109f-dc3a-4dd0-ab36-0d87e473356a",
"name" : "Mack Paucek"
},
"signatureDate" : "2025-09-03T22:28:48.194516706"
} ],
"signaturePhotos" : [ {
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-476E7835.pdf",
"thumbnailUrl" : "http://cdn.rakenapp.com/toolbox-talks-B7424ABC.pdf"
} ],
"pdfUrl" : "http://cdn.rakenapp.com/toolbox-talks-EEA50161.pdf",
"createdBy" : {
"uuid" : "73e80c47-df0e-4872-9f24-d6c88df34ac5"
},
"updatedBy" : {
"uuid" : "3a3e0517-c544-4a5a-99a7-569c33ae7e19"
}
}, {
"uuid" : "eb17c823-f584-4e36-b7df-f7f58960cb38",
"project" : {
"uuid" : "b809bb03-91f7-4689-93d4-4bb50d113050"
},
"scheduleDate" : "2025-09-05",
"createdAt" : "2025-09-03T22:28:48.205916546Z",
"updatedAt" : "2025-09-03T22:28:48.205925408Z",
"talk" : {
"uuid" : "2df10b50-da59-4cf7-a6db-91fdf6b3e238",
"name" : "Veniam alias."
},
"status" : "COMPLETED",
"type" : "DIGITAL_SIGNATURES",
"attendees" : [ {
"member" : {
"uuid" : "fe0a2198-f453-4ce7-bf14-57ba050b245a",
"name" : "Tyler Bernhard DVM"
},
"signatureDate" : "2025-09-03T22:28:48.204369308"
} ],
"signaturePhotos" : [ {
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-BAAD015F.pdf",
"thumbnailUrl" : "http://cdn.rakenapp.com/toolbox-talks-7A127540.pdf"
} ],
"pdfUrl" : "http://cdn.rakenapp.com/toolbox-talks-A5DB527D.pdf",
"createdBy" : {
"uuid" : "8316fcaf-05f6-48dc-9d5d-0edac2c5b011"
},
"updatedBy" : {
"uuid" : "bd692e5e-c5df-4bc7-b377-19a6c43e7f63"
}
} ]
}
Shifts
List
A GET
request will list all the shifts.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuids |
Restrict the shifts to the projects represented by this UUID. |
true |
|
statuses |
Restrict the shifts to those with these statuses. Multiple statuses can be specified |
true |
Enums: ACTIVE, DELETED |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the shift |
code |
String |
Code for the shift |
name |
String |
Name for the shift |
status |
String |
Status for the shift Enums: ACTIVE, DELETED |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/shifts?projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&statuses=ACTIVE&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/shifts?projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&statuses=ACTIVE&offset=0&limit=5",
"next" : "/shifts?projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&statuses=ACTIVE&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "dbf34bec-4dae-41ca-85b3-359106452dcc",
"name" : "Night Shift",
"code" : "NS",
"status" : "ACTIVE"
}, {
"uuid" : "dfd35bc1-9783-4485-90fe-f3c80cca7531",
"name" : "Swing Shift",
"code" : "SS",
"status" : "ACTIVE"
} ]
}
Create
A POST
request will create a new shift on your Raken account.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
code |
String |
Code for the shift |
false |
Must not be blank Size must be between 0 and 5 inclusive |
name |
String |
Name for the shift |
false |
Size must be between 0 and 30 inclusive |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the shift |
code |
String |
Code for the shift |
name |
String |
Name for the shift |
status |
String |
Status for the shift Enums: ACTIVE, DELETED |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/shifts' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "Night Shift",
"code" : "NS"
}'
Response body
{
"uuid" : "c0732121-9525-432d-bc3b-85471258d255",
"name" : "Night Shift",
"code" : "NS",
"status" : "ACTIVE"
}
Update
A PATCH
request will update a shift.
You can change a shifts’s name or code but their combination have to be unique.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
code |
String |
Code for the shift |
true |
Must not be blank Size must be between 0 and 5 inclusive |
name |
String |
Name for the shift |
true |
Must not be blank Size must be between 0 and 30 inclusive |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the shift |
code |
String |
Code for the shift |
name |
String |
Name for the shift |
status |
String |
Status for the shift Enums: ACTIVE, DELETED |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/shifts/469dd598-b348-406b-bc0a-565513804d40' -i -X PATCH \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "Night Shift",
"code" : "NS"
}'
Response body
{
"uuid" : "469dd598-b348-406b-bc0a-565513804d40",
"name" : "Night Shift",
"code" : "NS",
"status" : "ACTIVE"
}
Time Cards
List
A GET
request will list all the time cards.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Return time cards for this project |
true |
|
workerUuid |
Return time cards for this worker |
true |
|
fromDate |
Return time cards starting on this date. The date is capped to a month to toDate. |
true |
Format: "yyyy-MM-dd" |
toDate |
Return time cards ending on this date. The date is capped to a month from fromDate. |
true |
Format: "yyyy-MM-dd" |
changedSince |
Return only time cards updated at or after this time, inclusive. The date is capped to a month to changedUntil. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only time cards updated before this time, exclusive. The date is capped to a month to changedSince. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
deletedFrom |
Return only time cards deleted at or after this time, inclusive. The date is capped to a month to deletedTo. NOTE: when this, together with deletedTo, are provided ONLY deleted time cards will be fetched and other date params will be ignored. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
deletedTo |
Return only time cards deleted before this time, exclusive. The date is capped to a month to deletedFrom. NOTE: when this, together with deletedFrom, are provided ONLY deleted time cards will be fetched and other date params will be ignored. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
createdAt |
Return time cards created on this date |
true |
Format: "yyyy-MM-dd" |
updatedAt |
Return time cards updated on this date |
true |
Format: "yyyy-MM-dd" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the time card |
date |
String |
Date of the time card Format: "yyyy-MM-dd" |
totalHours |
Number |
Total hours on this time card |
project.uuid |
String |
Unique identifier for the Project for this time card |
worker.uuid |
String |
Unique identifier for the worker for this time card |
approved |
Boolean |
Flag indicating the approval status of the time card |
signed.uuid |
String |
Unique identifier for the user who signed the time card |
startTime |
String |
Start time for this time card. Exists only for project tracking start and end Time |
endTime |
String |
End time for this time card. Exists only for project tracking start and end Time |
note |
String |
Note for the time card |
createdAt |
String |
Date and Time (UTC) when this time card was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when this time card was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
deletedAt |
String |
Date and Time (UTC) when this time card was deleted |
createdBy.uuid |
String |
Unique identifier for the user who created the time card |
createdBy.name |
String |
Name of the user who created the time card |
updatedBy.uuid |
String |
Unique identifier for the user who updated the time card |
updatedBy.name |
String |
Name of the user who updated the time card |
breaks[].name |
String |
Break name |
breaks[].startTime |
String |
Break start time |
breaks[].duration |
Number |
Duration of break in minutes |
timeEntries[].shift.uuid |
String |
Unique identifier for the shift on the time entry |
timeEntries[].shift.name |
String |
Name for the shift on the time entry |
timeEntries[].shift.code |
String |
Code for the shift on the time entry |
timeEntries[].payType.uuid |
String |
Unique identifier for the pay type for the time entry |
timeEntries[].payType.name |
String |
Name for the pay type for the time entry |
timeEntries[].payType.code |
String |
Code for the pay type for the time entry |
timeEntries[].hours |
Number |
Hours in the time entry |
timeEntries[].classification.uuid |
String |
Unique identifier for the classification for the time entry |
timeEntries[].classification.name |
String |
Name for the classification for the time entry |
timeEntries[].costCode.uuid |
String |
Unique identifier for the cost code for the time entry |
timeEntries[].costCode.code |
String |
Code for the cost code for the time entry |
timeEntries[].costCode.division |
String |
Division for the cost code for the time entry |
attachments[].uuid |
String |
Unique identifier for this attachment on the time card |
attachments[].url |
String |
Url for this attachment on the time card |
attachments[].description |
String |
Description of this attachment on the time card |
attachments[].thumbnailUrl |
String |
Thumbnail Url for this attachment on the time card |
attachments[].contentType |
String |
Content type for this attachment on the time card (e.g. 'image/jpeg', 'image/png') |
attachments[].mediaType |
String |
Media type for this attachment on the time card Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
attachments[].fileName |
String |
File name of this attachment on the time card |
attachments[].fileSize |
Number |
Size of this attachment on the time card in bytes |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/timeCards?fromDate=2022-09-01&toDate=2022-10-01&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&deletedFrom=2024-02-21T01:00:00Z&deletedTo=2024-02-28T01:00:00Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&workerUuid=9169fd06-0997-4673-b537-4d9d401b8922&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/timeCards?fromDate=2022-09-01&toDate=2022-10-01&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&deletedFrom=2024-02-21T01:00:00Z&deletedTo=2024-02-28T01:00:00Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&workerUuid=9169fd06-0997-4673-b537-4d9d401b8922&offset=0&limit=5",
"next" : "/timeCards?fromDate=2022-09-01&toDate=2022-10-01&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&deletedFrom=2024-02-21T01:00:00Z&deletedTo=2024-02-28T01:00:00Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&workerUuid=9169fd06-0997-4673-b537-4d9d401b8922&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "9d7fbab3-53fb-4ac8-a913-1eb0f6bda310",
"worker" : {
"uuid" : "9169fd06-0997-4673-b537-4d9d401b8922"
},
"totalHours" : 8.0,
"startTime" : "05:00:00",
"endTime" : "17:00:00",
"attachments" : [ {
"uuid" : "dacd614c-bca9-474a-a531-f16817e9b4a1",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "saepe.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 19576
} ],
"timeEntries" : [ {
"hours" : 8.0,
"payType" : {
"uuid" : "ffd1a12a-e58b-4b3b-99c7-4fc93bb05dca",
"name" : "Regular Time",
"code" : "RT"
},
"shift" : {
"uuid" : "a7c6bd43-5788-4427-9d19-be845c361d01",
"name" : "Night Shift",
"code" : "NS"
},
"classification" : {
"uuid" : "faa5f148-e8b3-48cb-9a99-9fd3a7c8b21f",
"name" : "Apprentice"
},
"costCode" : {
"uuid" : "bc193365-94d2-49c6-bd1e-13820d8618e6",
"code" : "C1",
"division" : "D1"
}
} ],
"note" : "Payroll Note",
"createdAt" : "2020-10-16T12:00:00Z",
"updatedAt" : "2020-10-16T12:30:00Z",
"createdBy" : {
"uuid" : "794a75c1-1406-4209-a720-73057a29c327",
"name" : "Claude Nienow"
},
"updatedBy" : {
"uuid" : "91a2d675-cf32-44c0-87c9-2a5fbc4bbed4",
"name" : "Kim McCullough"
},
"breaks" : [ {
"name" : "Meal Break",
"duration" : 30.0,
"startTime" : "10:00:00"
} ],
"deletedAt" : "2020-10-18T12:00:00Z",
"project" : {
"uuid" : "249b4f26-dd34-4e99-a968-3744d91ab113"
},
"date" : "2020-10-15",
"approved" : false,
"signed" : {
"uuid" : "231d8000-fb74-42d3-9cee-dd5211004adb"
}
} ]
}
Observations
List
A GET
request will list all the observations on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Return only observations for the project |
true |
|
statuses |
Return only observations with these statuses |
true |
Enums: PENDING_REVIEW, RECORD_ONLY, CLOSED, OPEN, REJECTED |
categories |
Return only observations with this category |
true |
Enums: POSITIVE, NEGATIVE |
types |
Return only observations with these types |
true |
|
priorities |
Return only observations with these priorities |
true |
Enums: HIGH, MEDIUM, LOW, CRITICAL |
fromCreatedAt |
Return only observations created at or after this time, inclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
toCreatedAt |
Return only observations created before this time, exclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedSince |
Filters results to include only entities that were updated at or after the specified time (inclusive). Must be used with a corresponding |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Filters results to include only entities that were updated before the specified time (exclusive) |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the observation |
assignees |
Array |
Observation assignees |
assignees[].company |
String |
Company name for this assignee |
assignees[].name |
String |
Full name of this assignee |
assignees[].dueAt |
String |
Corrective action due date for this assignee |
assignees[].correctiveAction |
String |
Corrective action description for this assignee |
assignees[].status |
String |
The status of this assignee’s corrective action |
attachments |
Array |
Response attachments |
attachments[].uuid |
String |
Unique Identifier for this attachment |
attachments[].mediaType |
String |
Media type for this attachment Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
attachments[].url |
String |
URL for this attachment |
attachments[].thumbnailUrl |
String |
Thumbnail URL for this attachment |
attachments[].contentType |
String |
Content type for this attachment |
attachments[].description |
String |
Description of this attachment |
attachments[].fileName |
String |
File name of this attachment |
attachments[].fileSize |
Number |
Size of this attachment in bytes |
category |
String |
Category of this observation |
createdAt |
String |
Date and Time (UTC) when the observation was created |
createdBy.uuid |
String |
Unique identifier for the user who created the observation |
createdBy.name |
String |
Name of the user who created the observation |
description |
String |
Description of the observation |
location.fullPath |
String |
Full path location where the observation was made |
location.name |
String |
Location where the observation was made |
observationDate |
String |
Date in project timezone when the observation was created |
priority |
String |
Priority of the observation |
projectUuid |
String |
Unique identifier for the project on which the observation was made |
referenceNumber |
String |
Reference number of the observation that was automatically generated when the observation was created |
status |
String |
Status of the observation Enums: PENDING_REVIEW, RECORD_ONLY, CLOSED, OPEN, REJECTED |
type.subType |
String |
Sub type of the observation |
type.type |
String |
Type of the observation |
type.typeClass |
String |
Type class of the observation |
updatedBy.uuid |
String |
Unique identifier for the user who updated the observation |
updatedBy.name |
String |
Name of the user who updated the observation |
updatedAt |
String |
Date and Time (UTC) when the observation was updated |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/observations?projectUuid=b5040853-e933-4754-8e1f-5c111d481ae0&statuses=OPEN&statuses=REJECTED&priorities=MEDIUM&priorities=LOW&fromCreatedAt=2025-09-02T22:28:44Z&toCreatedAt=2025-09-03T22:28:44Z&categories=POSITIVE&categories=NEGATIVE&types=Mechanical&changedSince=2025-09-03T22:28:44Z&changedUntil=2025-09-03T22:29:44Z&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/observations?projectUuid=b5040853-e933-4754-8e1f-5c111d481ae0&statuses=OPEN&statuses=REJECTED&priorities=MEDIUM&priorities=LOW&fromCreatedAt=2025-09-02T22:28:44Z&toCreatedAt=2025-09-03T22:28:44Z&categories=POSITIVE&categories=NEGATIVE&types=Mechanical&changedSince=2025-09-03T22:28:44Z&changedUntil=2025-09-03T22:29:44Z&offset=0&limit=5",
"next" : "/observations?projectUuid=b5040853-e933-4754-8e1f-5c111d481ae0&statuses=OPEN&statuses=REJECTED&priorities=MEDIUM&priorities=LOW&fromCreatedAt=2025-09-02T22:28:44Z&toCreatedAt=2025-09-03T22:28:44Z&categories=POSITIVE&categories=NEGATIVE&types=Mechanical&changedSince=2025-09-03T22:28:44Z&changedUntil=2025-09-03T22:29:44Z&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "8319d861-fd99-4d2a-8416-561447b6bec9",
"assignees" : [ {
"company" : "Ebert, Jerde and Schoen",
"name" : "Virgil Kassulke",
"dueAt" : "2025-09-09",
"correctiveAction" : "In perferendis illum commodi aut. Nulla itaque sunt minima sunt ut rem. Velit ut vel nihil consectetur.",
"status" : "OPEN"
}, {
"company" : "Kub-Kerluke",
"name" : "Eduardo Kris",
"dueAt" : "2025-09-06",
"correctiveAction" : "Magni quis voluptatem reiciendis. Adipisci aliquam qui delectus sit sint omnis.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "989f505f-14d0-4f2a-a747-8d9dd19ce03d",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "recusandae.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 49721
}, {
"uuid" : "2cd7d6a2-4b90-4540-8333-779b7d4e519a",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "alias.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 37003
} ],
"category" : "POSITIVE",
"createdAt" : "2025-08-29T10:10:46.712Z",
"createdBy" : {
"uuid" : "c96b2421-ef39-4145-9299-fb80673648e9",
"name" : "Keith Crooks"
},
"description" : "Nulla rem dicta. Accusantium temporibus autem beatae nam vitae.",
"location" : {
"fullPath" : "Amet soluta quo deleniti et eos illo.",
"name" : "Iusto officiis repudiandae ut."
},
"observationDate" : "2025-09-09",
"priority" : "MEDIUM",
"projectUuid" : "b4929981-332e-4cc4-8be7-6eec08426095",
"referenceNumber" : "180-96-5350",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2025-08-28T21:54:29.324Z",
"updatedBy" : {
"uuid" : "c8eab705-834d-4d2a-b261-87854f6709f5",
"name" : "Lynsey Torphy"
}
}, {
"uuid" : "65bef8fd-fc50-491d-b554-209f17371fb3",
"assignees" : [ {
"company" : "Oberbrunner-Gleason",
"name" : "Virgil Grady",
"dueAt" : "2025-09-06",
"correctiveAction" : "Et id eos saepe. Molestias harum et exercitationem consequatur. Quae eum quas.",
"status" : "OPEN"
}, {
"company" : "Kiehn Group",
"name" : "Joey Wilkinson",
"dueAt" : "2025-09-05",
"correctiveAction" : "Cupiditate voluptatem iure id quis earum.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "76fcaec7-43bb-4f44-b40e-fe264bb119ca",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "non.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 49328
}, {
"uuid" : "a235d81e-8fd9-4256-874c-961804e4843f",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "ut.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 54737
} ],
"category" : "POSITIVE",
"createdAt" : "2025-08-31T10:47:47.253Z",
"createdBy" : {
"uuid" : "ac395089-7c50-438d-91e1-a91c88a4401e",
"name" : "Siobhan Goldner"
},
"description" : "Voluptatem incidunt cupiditate eaque. Et iure dolorem doloremque veniam. Et adipisci vero expedita ad.",
"location" : {
"fullPath" : "Vel in explicabo facere alias odit ea explicabo perspiciatis.",
"name" : "Dolorum velit molestias voluptas sint ut nulla cumque."
},
"observationDate" : "2025-09-04",
"priority" : "MEDIUM",
"projectUuid" : "159fe1a5-2b21-4512-943f-fb58e016d5c6",
"referenceNumber" : "315-10-6249",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2025-08-30T22:47:17.146Z",
"updatedBy" : {
"uuid" : "ab49aff0-c49f-41d0-935c-6e6d00ad554f",
"name" : "Ms. Tuan Pollich"
}
}, {
"uuid" : "5b8b02eb-6381-406d-aa75-89276df82b4c",
"assignees" : [ {
"company" : "Gislason-Roberts",
"name" : "Ms. Michaela Brakus",
"dueAt" : "2025-09-09",
"correctiveAction" : "Consequatur aut qui quos totam dolores ut rerum.",
"status" : "OPEN"
}, {
"company" : "Gutkowski LLC",
"name" : "Long Weber",
"dueAt" : "2025-09-09",
"correctiveAction" : "Dolor expedita dolor. Provident ipsam eos et aut. Laboriosam non perspiciatis.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "5ab295db-5fef-4b5e-b83c-0e3adac3e585",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "deserunt.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 88125
}, {
"uuid" : "2245e039-43ba-451e-9c7d-1acd09c9d534",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "impedit.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 47980
} ],
"category" : "POSITIVE",
"createdAt" : "2025-09-03T08:18:46.353Z",
"createdBy" : {
"uuid" : "3fb66454-53e7-496e-b2ec-533e44a3a987",
"name" : "Jamie Wilderman"
},
"description" : "Sed voluptatum magni atque eos ut in numquam. Autem cum cumque omnis quasi nobis error.",
"location" : {
"fullPath" : "Voluptatem fugit atque veniam ratione illum aut.",
"name" : "Ullam et tempora."
},
"observationDate" : "2025-09-05",
"priority" : "MEDIUM",
"projectUuid" : "97aa2a54-3cca-4ea8-8983-1ce437e30b72",
"referenceNumber" : "651-64-7705",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2025-08-28T11:30:20.156Z",
"updatedBy" : {
"uuid" : "f4d5cd4b-fb7f-4c44-8cf0-a32280ea88d6",
"name" : "Nola Windler Sr."
}
}, {
"uuid" : "cd81446e-0931-45bb-87ef-c4505733f6ac",
"assignees" : [ {
"company" : "Reichert-Mante",
"name" : "Chester Stracke",
"dueAt" : "2025-09-08",
"correctiveAction" : "Ut eum ea laborum veritatis maxime. Tempore culpa sit in eius et. Voluptatem alias ea incidunt iste eveniet.",
"status" : "OPEN"
}, {
"company" : "Cronin and Sons",
"name" : "Sandi Prohaska",
"dueAt" : "2025-09-06",
"correctiveAction" : "Explicabo qui fuga incidunt maxime ut veritatis aut. Illo odio voluptatibus similique nam incidunt omnis.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "a0acfe82-9946-42b1-bc65-04959dbab3aa",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "doloribus.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 35348
}, {
"uuid" : "f668f6fd-4cd1-41f9-a77d-7fb95732972e",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "consequatur.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 4578
} ],
"category" : "POSITIVE",
"createdAt" : "2025-08-31T23:05:22.119Z",
"createdBy" : {
"uuid" : "308087d6-2f96-4332-85f4-ced728b3e4c4",
"name" : "Adelaida Haley Sr."
},
"description" : "Aliquam alias nam ad omnis fuga pariatur.",
"location" : {
"fullPath" : "Repudiandae dicta quis facere ducimus.",
"name" : "At ea amet impedit a qui odio."
},
"observationDate" : "2025-09-04",
"priority" : "MEDIUM",
"projectUuid" : "d37756ae-41e2-49e6-9d90-5751d71b0950",
"referenceNumber" : "374-17-0015",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2025-08-29T21:28:40.996Z",
"updatedBy" : {
"uuid" : "adb3769c-e1c7-45db-ba34-f3d0682f65f1",
"name" : "Malcolm Lueilwitz"
}
}, {
"uuid" : "997b38e8-e0cd-4b11-a5d9-286755b4d897",
"assignees" : [ {
"company" : "McKenzie LLC",
"name" : "Denny Morissette",
"dueAt" : "2025-09-09",
"correctiveAction" : "Harum voluptates officia aliquam officiis ratione.",
"status" : "OPEN"
}, {
"company" : "Rogahn Group",
"name" : "Ruthann Marks",
"dueAt" : "2025-09-10",
"correctiveAction" : "Impedit corrupti est.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "8dee4fb5-a7bc-401a-8666-13057fef246f",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "eos.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 36749
}, {
"uuid" : "8879e46f-1fbd-4216-a3f8-59e532b99bf9",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "distinctio.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 10492
} ],
"category" : "POSITIVE",
"createdAt" : "2025-09-02T03:15:49.342Z",
"createdBy" : {
"uuid" : "90b72bfd-1820-4177-9205-4e8343fb7717",
"name" : "Mr. Sonny Conn"
},
"description" : "Omnis hic corrupti sed accusantium ducimus.",
"location" : {
"fullPath" : "Ut sit dolorem molestiae nihil reiciendis.",
"name" : "Sed perferendis et odio."
},
"observationDate" : "2025-09-08",
"priority" : "MEDIUM",
"projectUuid" : "dcb20351-bedd-4c5a-8c4a-a6b90e41083d",
"referenceNumber" : "288-93-9550",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2025-08-30T13:58:28.632Z",
"updatedBy" : {
"uuid" : "cb059d71-ca2c-48d0-b10b-0f505cbab735",
"name" : "Kathline Huels"
}
} ]
}
Get
A GET
request will get an observation by UUID on your Raken account.
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the observation |
assignees |
Array |
Observation assignees |
assignees[].company |
String |
Company name for this assignee |
assignees[].name |
String |
Full name of this assignee |
assignees[].dueAt |
String |
Corrective action due date for this assignee |
assignees[].correctiveAction |
String |
Corrective action description for this assignee |
assignees[].status |
String |
The status of this assignee’s corrective action |
attachments |
Array |
Response attachments |
attachments[].uuid |
String |
Unique Identifier for this attachment |
attachments[].mediaType |
String |
Media type for this attachment Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
attachments[].url |
String |
URL for this attachment |
attachments[].thumbnailUrl |
String |
Thumbnail URL for this attachment |
attachments[].contentType |
String |
Content type for this attachment |
attachments[].description |
String |
Description of this attachment |
attachments[].fileName |
String |
File name of this attachment |
attachments[].fileSize |
Number |
Size of this attachment in bytes |
category |
String |
Category of this observation |
createdAt |
String |
Date and Time (UTC) when the observation was created |
createdBy.uuid |
String |
Unique identifier for the user who created the observation |
createdBy.name |
String |
Name of the user who created the observation |
description |
String |
Description of the observation |
location.fullPath |
String |
Full path location where the observation was made |
location.name |
String |
Location where the observation was made |
observationDate |
String |
Date in project timezone when the observation was created |
priority |
String |
Priority of the observation |
projectUuid |
String |
Unique identifier for the project on which the observation was made |
referenceNumber |
String |
Reference number of the observation that was automatically generated when the observation was created |
status |
String |
Status of the observation Enums: PENDING_REVIEW, RECORD_ONLY, CLOSED, OPEN, REJECTED |
type.subType |
String |
Sub type of the observation |
type.type |
String |
Type of the observation |
type.typeClass |
String |
Type class of the observation |
updatedBy.uuid |
String |
Unique identifier for the user who updated the observation |
updatedBy.name |
String |
Name of the user who updated the observation |
updatedAt |
String |
Date and Time (UTC) when the observation was updated |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/observations/9185c5a7-b7ce-46c0-ae3f-5f2b185c68e6' -i -X GET
Response body
{
"uuid" : "9185c5a7-b7ce-46c0-ae3f-5f2b185c68e6",
"assignees" : [ {
"company" : "Cole LLC",
"name" : "Jamey Boyer",
"dueAt" : "2025-09-09",
"correctiveAction" : "Fugiat provident sint dicta dolorum officiis animi et. Illum similique et beatae sunt ut ipsam. Quidem ullam inventore ut.",
"status" : "OPEN"
}, {
"company" : "Waters Group",
"name" : "Elda Hirthe",
"dueAt" : "2025-09-03",
"correctiveAction" : "Necessitatibus molestias corporis dolorem velit omnis quaerat itaque.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "d4a2d79a-256e-485e-b380-d9c5db875c01",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "voluptas.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 31385
}, {
"uuid" : "0c70dd6f-0e55-45f9-92c6-44bb6c3a7779",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "aliquid.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 31001
} ],
"category" : "POSITIVE",
"createdAt" : "2025-09-01T12:56:25.110Z",
"createdBy" : {
"uuid" : "4f126526-bd19-4df8-89db-02601a54776a",
"name" : "Mr. Eura Tromp"
},
"description" : "Possimus aliquam quo velit ea aut qui et. Excepturi provident perferendis aliquam in quibusdam temporibus eos.",
"location" : {
"fullPath" : "Minus consequatur quam velit ipsum aut officiis.",
"name" : "Nulla dolorem amet similique."
},
"observationDate" : "2025-09-05",
"priority" : "MEDIUM",
"projectUuid" : "e12e101d-4618-4b65-ac9e-3da210018581",
"referenceNumber" : "349-89-3469",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2025-08-30T20:44:44.283Z",
"updatedBy" : {
"uuid" : "11e8e5fe-728f-4978-b6f0-6071d34d1483",
"name" : "Rocco Johnson"
}
}
Groups
List
A GET
request will list all groups for your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
query |
Search for groups based on group name and class |
true |
|
classNames |
Return only groups with the specified group class names. Must be an exact match |
true |
|
changedSince |
Return only groups updated at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only groups updated before this time, exclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
fromCreatedAt |
Return only groups created at or after this time, inclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
toCreatedAt |
Return only groups created before this time, exclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the group |
class |
String |
Name of the class that the group belongs to |
createdBy |
Object |
Member who created the group |
createdBy.uuid |
String |
Unique identifier for the user who created the group |
createdBy.name |
String |
Name of the user who created the group |
updatedBy |
Object |
Member who last updated the group |
updatedBy.uuid |
String |
Unique identifier for the user who updated the group |
updatedBy.name |
String |
Name of the user who updated the group |
createdAt |
String |
Date and Time (UTC) when the group was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the group was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
name |
String |
Group name |
projectUuids |
Array |
Collection of all projects that are assigned to the group |
memberUuids |
Array |
Collection of all members that are assigned to the group |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/groups?query=query&classNames=groupCLass&fromCreatedAt=2024-03-03T14:00:00Z&toCreatedAt=2024-03-13T14:00:00Z&changedSince=2024-03-03T14:00:00Z&changedUntil=2024-03-13T14:00:00Z&limit=10&offset=0' -i -X GET
Response body
{
"page" : {
"offset" : 0,
"limit" : 10,
"totalElements" : 10,
"previous" : null,
"next" : null,
"nextOffset" : null
},
"collection" : [ {
"uuid" : "43b4ca9c-a896-4962-b07a-5a4206e50b30",
"createdBy" : {
"uuid" : "26bde99c-6e51-4c0d-9e67-9f533d56086e",
"name" : "rona.moen"
},
"updatedBy" : {
"uuid" : "27a6f1de-271b-4618-b791-26dc15f9e5ec",
"name" : "norris.greenholt"
},
"createdAt" : "2025-09-03T22:28:40.414731570Z",
"updatedAt" : "2025-09-03T22:28:40.414733449Z",
"name" : "Emergency Department",
"projectUuids" : [ "a29e68fa-890a-4972-b4b9-b36737a77704", "4e618fdd-71e8-4e94-b88a-7e25c5c727ea", "b0f506cb-0214-4d6d-898c-5d1b56e415bb" ],
"memberUuids" : [ "38637c0a-7c15-49bb-9742-1309127bf022", "72cdfd2a-30cf-4f73-a089-8c415aeadf6b" ],
"class" : "Departments"
} ]
}
Create
A POST
request will create a new group on your Raken account.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Group name |
false |
Must not be blank Size must be between 0 and 255 inclusive |
class |
String |
Name of the class that the group belongs to |
false |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the group |
class |
String |
Name of the class that the group belongs to |
createdBy |
Object |
Member who created the group |
createdBy.uuid |
String |
Unique identifier for the user who created the group |
createdBy.name |
String |
Name of the user who created the group |
updatedBy |
Object |
Member who last updated the group |
updatedBy.uuid |
String |
Unique identifier for the user who updated the group |
updatedBy.name |
String |
Name of the user who updated the group |
createdAt |
String |
Date and Time (UTC) when the group was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the group was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
name |
String |
Group name |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/groups' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "Emergency Department",
"class" : "Departments"
}'
Response body
{
"uuid" : "9fecd5dd-7076-4022-857a-bcf00b4fe154",
"createdBy" : {
"uuid" : "f967983a-8886-412d-9485-2cc9e0b00b8e",
"name" : "warren.cummerata"
},
"updatedBy" : {
"uuid" : "d00f8a16-8f1a-4e1b-98e1-f572422a2ebb",
"name" : "shenika.ullrich"
},
"createdAt" : "2025-09-03T22:28:40.357116230Z",
"updatedAt" : "2025-09-03T22:28:40.357118948Z",
"name" : "Emergency Department",
"class" : "Departments"
}
Update
A PATCH
request will update a group on your Raken account.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Group name |
false |
Must not be blank Size must be between 0 and 255 inclusive |
class |
String |
Name of the class that the group belongs to |
false |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the group |
class |
String |
Name of the class that the group belongs to |
createdBy |
Object |
Member who created the group |
createdBy.uuid |
String |
Unique identifier for the user who created the group |
createdBy.name |
String |
Name of the user who created the group |
updatedBy |
Object |
Member who last updated the group |
updatedBy.uuid |
String |
Unique identifier for the user who updated the group |
updatedBy.name |
String |
Name of the user who updated the group |
createdAt |
String |
Date and Time (UTC) when the group was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the group was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
name |
String |
Group name |
projectUuids |
Array |
Collection of all projects that are assigned to the group |
memberUuids |
Array |
Collection of all members that are assigned to the group |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/groups/cebdd41d-8d4f-4e0d-990f-69152e232b50' -i -X PATCH \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "Emergency Department",
"class" : "Departments"
}'
Response body
{
"uuid" : "01dde8fd-deb0-4b39-825d-5eae9e3126cb",
"createdBy" : {
"uuid" : "9495ecbe-ab09-4f14-9782-4447be1df2ac",
"name" : "brittni.langosh"
},
"updatedBy" : {
"uuid" : "8b47659f-196d-404f-bde6-7db8b08f5df6",
"name" : "moon.morissette"
},
"createdAt" : "2025-09-03T22:28:40.503517882Z",
"updatedAt" : "2025-09-03T22:28:40.503518818Z",
"name" : "Emergency Department",
"projectUuids" : [ "a277cd42-e4c4-4ad0-ba66-5e6eddda8fe8", "fdab1154-2584-4039-91a4-3ffac18a3f6b", "92ad36fd-d0ed-4ac7-8b43-b63513cf248d" ],
"memberUuids" : [ "6e82848b-5acf-4f1f-9d1c-6c8344c44748", "632e52da-d535-4207-bf91-de42e16f8a48" ],
"class" : "Departments"
}
Certification Types
List
A GET
request will list all certification types for your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
query |
Search term to match against name and description of certification types |
true |
|
changedSince |
Return only certification types updated at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only certification types updated before this time, exclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
fromCreatedAt |
Return only certification types created at or after this time, inclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
toCreatedAt |
Return only certification types created before this time, exclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the certification type |
name |
String |
Name of the certification type |
description |
String |
Description of the certification type |
createdBy |
Object |
Member who created the certification type |
createdBy.uuid |
String |
Unique identifier for the member who created the certification type |
createdBy.name |
String |
Name of the member who created the certification type |
updatedBy |
Object |
Member who updated the certification type |
updatedBy.uuid |
String |
Unique identifier for the member who updated the certification type |
updatedBy.name |
String |
Name of the member who updated the certification type |
createdAt |
String |
Date and Time (UTC) when the certification type was createdFormat: "yyyy-MM-ddThh:mm:ssZ" Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the certification type was updatedFormat: "yyyy-MM-ddThh:mm:ssZ" Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/certificationTypes?query=query&fromCreatedAt=2024-03-03T14:00:00Z&toCreatedAt=2024-03-13T14:00:00Z&changedSince=2024-03-03T14:00:00Z&changedUntil=2024-03-13T14:00:00Z&limit=10&offset=0' -i -X GET
Response body
{
"page" : {
"offset" : 0,
"limit" : 10,
"totalElements" : 10,
"previous" : null,
"next" : null,
"nextOffset" : null
},
"collection" : [ {
"uuid" : "1fdc8fa3-70c7-414f-a9b1-4315c7dd3eb1",
"name" : "Gutmann Inc",
"description" : "Nobis nesciunt temporibus.",
"createdAt" : "2025-09-03T22:28:31.381795060Z",
"updatedAt" : "2025-09-03T22:28:31.381799049Z",
"createdBy" : {
"uuid" : "e63e69a4-3fba-4731-9800-e4a2960f5f38",
"name" : "Emerson Terry"
},
"updatedBy" : {
"uuid" : "e36b92dc-43a4-45d1-a91e-18f355b4343e",
"name" : "Miss Roman Kiehn"
}
} ]
}
Certifications
List
A GET
request will list all certifications for your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
query |
Search for certifications based on certification name and class |
true |
|
certificationTypeUuids |
Return only certifications with the specified certification types |
true |
|
changedSince |
Return only certifications updated at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only certifications updated before this time, exclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
fromCreatedAt |
Return only certifications created at or after this time, inclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
toCreatedAt |
Return only certifications created before this time, exclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the certification |
name |
String |
Name of the certification |
createdBy |
Object |
Member who created the certification |
createdBy.uuid |
String |
Unique identifier for the member who created the certification |
createdBy.name |
String |
Name of the member who created the certification |
updatedBy |
Object |
Member who updated the certification |
updatedBy.uuid |
String |
Unique identifier for the member who updated the certification |
updatedBy.name |
String |
Name of the member who updated the certification |
createdAt |
String |
Date and Time (UTC) when the certification was createdFormat: "yyyy-MM-ddThh:mm:ssZ" Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the certification was updatedFormat: "yyyy-MM-ddThh:mm:ssZ" Format: "yyyy-MM-ddThh:mm:ssZ" |
certificationType |
Object |
Certification type associated with this certification |
certificationType.name |
String |
Name of this certification type |
certificationType.uuid |
String |
Unique identifier for this classification type |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/certifications?query=query&certificationTypeUuids=3c25dc6d-755e-463b-b9f8-e8df61d0a1d4,c09a18a9-0413-42cc-833c-006b1c6f5eea&fromCreatedAt=2024-03-03T14:00:00Z&toCreatedAt=2024-03-13T14:00:00Z&changedSince=2024-03-03T14:00:00Z&changedUntil=2024-03-13T14:00:00Z&limit=10&offset=0' -i -X GET
Response body
{
"page" : {
"offset" : 0,
"limit" : 10,
"totalElements" : 10,
"previous" : null,
"next" : null,
"nextOffset" : null
},
"collection" : [ {
"uuid" : "2c05f2c1-d5e0-4e63-b67a-955a273be3a3",
"name" : "First Aid",
"certificationType" : {
"uuid" : "3b91219f-6eb3-4f63-8b92-4eac07b4a6b1",
"name" : "Search and Rescue"
},
"createdAt" : "2025-09-03T22:28:32.674048651Z",
"updatedAt" : "2025-09-03T22:28:32.674050196Z",
"createdBy" : {
"uuid" : "4ea54f0e-10f8-49c8-9da7-b1db8b2a58d5",
"name" : "Tambra Fadel Jr."
},
"updatedBy" : {
"uuid" : "270de049-e08c-45e6-8e7b-91d9fb64e265",
"name" : "Emeline Feest I"
}
} ]
}
Create
A POST
request will create a new certification on your Raken account.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Certification name |
false |
Must not be blank Size must be between 0 and 255 inclusive |
certificationTypeUuid |
String |
Unique identifier of the certification type for the certification |
false |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the certification |
name |
String |
Name of the certification |
createdBy |
Object |
Member who created the certification |
createdBy.uuid |
String |
Unique identifier for the member who created the certification |
createdBy.name |
String |
Name of the member who created the certification |
updatedBy |
Object |
Member who updated the certification |
updatedBy.uuid |
String |
Unique identifier for the member who updated the certification |
updatedBy.name |
String |
Name of the member who updated the certification |
createdAt |
String |
Date and Time (UTC) when the certification was createdFormat: "yyyy-MM-ddThh:mm:ssZ" Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the certification was updatedFormat: "yyyy-MM-ddThh:mm:ssZ" Format: "yyyy-MM-ddThh:mm:ssZ" |
certificationType |
Object |
Certification type associated with this certification |
certificationType.name |
String |
Name of this certification type |
certificationType.uuid |
String |
Unique identifier for this classification type |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/certifications' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "First Aid",
"certificationTypeUuid" : "126ec79e-34af-4116-9ff9-862daca3954e"
}'
Response body
{
"uuid" : "2c05f2c1-d5e0-4e63-b67a-955a273be3a3",
"name" : "First Aid",
"certificationType" : {
"uuid" : "a44a738d-aed3-409a-ae5c-cf935315d4d7",
"name" : "Search and Rescue"
},
"createdAt" : "2025-09-03T22:28:32.540101488Z",
"updatedAt" : "2025-09-03T22:28:32.540105534Z",
"createdBy" : {
"uuid" : "1aa4881a-7934-4317-85c2-d27cc0a7d38a",
"name" : "Dr. Kecia Hackett"
},
"updatedBy" : {
"uuid" : "7a9d2df5-be88-4257-bd17-a36ea84ce5f4",
"name" : "Jody Veum DDS"
}
}
Update
A PATCH
request will update a certification on your Raken account.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Certification name |
false |
Must not be blank Size must be between 0 and 255 inclusive |
certificationTypeUuid |
String |
Unique identifier of the certification type for the certification |
false |
|
certificationTypeName |
String |
Name of the certification type for the certification |
false |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the certification |
name |
String |
Name of the certification |
createdBy |
Object |
Member who created the certification |
createdBy.uuid |
String |
Unique identifier for the member who created the certification |
createdBy.name |
String |
Name of the member who created the certification |
updatedBy |
Object |
Member who updated the certification |
updatedBy.uuid |
String |
Unique identifier for the member who updated the certification |
updatedBy.name |
String |
Name of the member who updated the certification |
createdAt |
String |
Date and Time (UTC) when the certification was createdFormat: "yyyy-MM-ddThh:mm:ssZ" Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the certification was updatedFormat: "yyyy-MM-ddThh:mm:ssZ" Format: "yyyy-MM-ddThh:mm:ssZ" |
certificationType |
Object |
Certification type associated with this certification |
certificationType.name |
String |
Name of this certification type |
certificationType.uuid |
String |
Unique identifier for this classification type |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/certifications/2c05f2c1-d5e0-4e63-b67a-955a273be3a3' -i -X PATCH \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "First Aid",
"certificationTypeUuid" : "17eebb60-b12f-48bb-9427-4711d1f5f579",
"certificationTypeName" : "Search and Rescue"
}'
Response body
{
"uuid" : "2c05f2c1-d5e0-4e63-b67a-955a273be3a3",
"name" : "First Aid",
"certificationType" : {
"uuid" : "c03fa3e0-dbe1-42cd-9958-8e809f08870f",
"name" : "Search and Rescue"
},
"createdAt" : "2025-09-03T22:28:32.915089139Z",
"updatedAt" : "2025-09-03T22:28:32.915090792Z",
"createdBy" : {
"uuid" : "1b9822d6-bbc1-4134-b045-986c6519e38a",
"name" : "Pricilla Harvey"
},
"updatedBy" : {
"uuid" : "0fcee80f-2a3f-4391-971e-2b4b7932c1e4",
"name" : "Dr. Camila Schiller"
}
}