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://myserver.example.com/oauth/callback
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. |
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",
"token_type":"bearer",
"expires_in":36000
}
|
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",
"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 | Required | Constraints |
|---|---|---|---|
changedSince |
Return only projects updated at or after this time, inclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only projects updated before this time, exclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
offset |
The (zero-based) offset of the first item in the collection to return (Default: 0) |
No |
>= 0 |
limit |
The maximum number of entries to return (Default: 10) |
No |
Min: 1, Max: 1,000 |
Page Response
The Common Page object is described here:
| Field | 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 |
offset |
Number |
The offset value used to generate the page |
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_idandclient_secretfrom the App. -
Save the
client_idandclient_secretto two variables under theVariablessection on the Postman collection’s home page:-
api_client_id -
api_client_secret
-
Get a New Access Token
-
Click
Get New Access Tokenunder theAuthorizationsection 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 Tokento 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
|
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
| Field | 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" : "0b29bec9-ffa7-4236-9652-5aeb1c3c366f",
"email" : "Will.Smith@rakenapp.com",
"firstName" : "Will",
"lastName" : "Smith"
}
Projects
List
A GET request will list all the projects.
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
projectStates |
(Deprecated) Use 'statuses' |
No |
Enums: ACTIVE, INACTIVE, DELETED |
statuses |
Restrict the projects to the projects with this status. Multiple statuses can be specified. |
No |
Enums: ACTIVE, INACTIVE, DELETED |
changedSince |
Return only projects updated at or after this time, inclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only projects updated before this time, exclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the project |
name |
String |
Project Name |
number |
String |
Project Number |
startDate |
String |
Project Start Date |
endDate |
String |
Project End Date |
status |
String |
Status of project |
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 |
updatedAt |
String |
Date and Time (UTC) when the project was updated |
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" : "5c15bce2-8a29-4dcd-9fe9-19701e3f25ea",
"name" : "Wehner, Hermann and Koch",
"number" : "PRJ1",
"address" : {
"streetAddress1" : "3766 Tena Center",
"streetAddress2" : "",
"city" : "Rodriguezville",
"state" : "Iowa",
"country" : "US",
"postalCode" : "89623"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|022-93-6063",
"externalEmailRecipients" : [ "eric.grimes@gmail.com", "maris.herman@yahoo.com" ],
"internalEmailRecipients" : [ "millicent.feest@gmail.com" ],
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"uuid" : "c4a13934-82d3-48f6-af84-9bbbe08f4a20",
"name" : "Tillman Inc",
"number" : "PRJ2",
"address" : {
"streetAddress1" : "142 McLaughlin Radial",
"streetAddress2" : "",
"city" : "Christyfurt",
"state" : "Idaho",
"country" : "US",
"postalCode" : "48308"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|061-07-1099",
"externalEmailRecipients" : [ "chong.mueller@yahoo.com", "manda.reynolds@yahoo.com" ],
"internalEmailRecipients" : [ "tinisha.miller@gmail.com" ],
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"uuid" : "209d3875-aa41-4d20-940f-b56a5130fe26",
"name" : "Klocko Inc",
"number" : "PRJ3",
"address" : {
"streetAddress1" : "088 Cormier Mount",
"streetAddress2" : "",
"city" : "Alleenmouth",
"state" : "Wisconsin",
"country" : "US",
"postalCode" : "33798"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|222-27-4413",
"externalEmailRecipients" : [ "oma.runolfsson@gmail.com", "seth.paucek@gmail.com" ],
"internalEmailRecipients" : [ "precious.howe@yahoo.com" ],
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"uuid" : "8ff9d561-773d-40c8-89ba-f1cbecdd1b3f",
"name" : "Larkin Group",
"number" : "PRJ4",
"address" : {
"streetAddress1" : "7969 Barrows Spur",
"streetAddress2" : "",
"city" : "Zboncakland",
"state" : "Montana",
"country" : "US",
"postalCode" : "46295"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|802-85-6791",
"externalEmailRecipients" : [ "willow.swift@hotmail.com", "jenae.macejkovic@yahoo.com" ],
"internalEmailRecipients" : [ "vinnie.murazik@yahoo.com" ],
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"uuid" : "795eaf93-3899-45ab-8e5c-5d63fa8e43a4",
"name" : "Kuvalis, Davis and Mueller",
"number" : "PRJ5",
"address" : {
"streetAddress1" : "17803 Cary Center",
"streetAddress2" : "",
"city" : "Mullerfurt",
"state" : "Missouri",
"country" : "US",
"postalCode" : "28544"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|650-72-6689",
"externalEmailRecipients" : [ "livia.feeney@gmail.com", "kasey.funk@hotmail.com" ],
"internalEmailRecipients" : [ "artie.jenkins@yahoo.com" ],
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
} ]
}
Create
A POST request will create a new project.
Request fields
| Field | Type | Description | Required | Constraints |
|---|---|---|---|---|
name |
String |
Project Name |
Yes |
Must not be blank |
number |
String |
Project Number |
No |
|
address |
Object |
Street address |
No |
|
address.streetAddress1 |
String |
First line of the street address |
No |
|
address.streetAddress2 |
String |
Second line of the street address |
No |
|
address.city |
String |
City |
No |
|
address.state |
String |
State |
No |
|
address.country |
String |
Country |
No |
|
address.postalCode |
String |
Postal Code |
No |
|
startDate |
String |
Project Start Date |
Yes |
Format: "yyyy-MM-dd" Must not be null |
endDate |
String |
Project End Date |
No |
Format: "yyyy-MM-dd" |
status |
String |
Status of project |
No |
Enums: ACTIVE, INACTIVE, DELETED |
externalEmailRecipients |
Array |
Email addresses of external recipients for the project |
No |
Must be valid email address(es) |
internalEmailRecipients |
Array |
Email addresses of internal recipients for the project |
No |
Must be valid email address(es) |
externalId |
String |
Unique identifier for the project in an integrated external system |
No |
Response fields
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the project |
name |
String |
Project Name |
number |
String |
Project Number |
startDate |
String |
Project Start Date |
endDate |
String |
Project End Date |
status |
String |
Status of project |
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 |
updatedAt |
String |
Date and Time (UTC) when the project was updated |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects' -i -X POST \
-H 'Content-Type: application/json' \
-d '{
"address" : {
"city" : "New Yang",
"country" : "US",
"postalCode" : "97830",
"state" : "Wisconsin",
"streetAddress1" : "06904 Quitzon Glens",
"streetAddress2" : ""
},
"endDate" : "2020-12-01",
"externalEmailRecipients" : [ "jesusita.kohler@gmail.com", "ira.wolff@yahoo.com" ],
"externalId" : "EXT|636-10-3188",
"internalEmailRecipients" : [ "eusebio.murphy@gmail.com" ],
"name" : "Gibson, Goldner and Von",
"number" : "PRJ103",
"startDate" : "2020-01-01",
"status" : "ACTIVE"
}'
Response body
{
"uuid" : "748bfde4-1947-41fc-95c0-1b644566d2c6",
"name" : "Gibson, Goldner and Von",
"number" : "PRJ103",
"address" : {
"streetAddress1" : "06904 Quitzon Glens",
"streetAddress2" : "",
"city" : "New Yang",
"state" : "Wisconsin",
"country" : "US",
"postalCode" : "97830"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|636-10-3188",
"externalEmailRecipients" : [ "jesusita.kohler@gmail.com", "ira.wolff@yahoo.com" ],
"internalEmailRecipients" : [ "eusebio.murphy@gmail.com" ],
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}
Update
A PATCH request will update a project.
Request fields
| Field | Type | Description | Required | Constraints |
|---|---|---|---|---|
name |
String |
Project Name |
No |
Must not be blank |
number |
String |
Project Number |
No |
|
address |
Object |
Street address |
No |
|
address.streetAddress1 |
String |
First line of the street address |
No |
|
address.streetAddress2 |
String |
Second line of the street address |
No |
|
address.city |
String |
City |
No |
|
address.state |
String |
State |
No |
|
address.country |
String |
Country |
No |
|
address.postalCode |
String |
Postal Code |
No |
|
startDate |
String |
Project Start Date |
No |
Format: "yyyy-MM-dd" |
endDate |
String |
Project End Date |
No |
Format: "yyyy-MM-dd" |
status |
String |
Status of project |
No |
Enums: ACTIVE, INACTIVE, DELETED |
externalEmailRecipients |
Array |
Email addresses of external recipients for the project |
No |
Must be valid email address(es) |
internalEmailRecipients |
Array |
Email addresses of internal recipients for the project |
No |
Must be valid email address(es) |
externalId |
String |
Unique identifier for the project in an integrated external system |
No |
Response fields
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the project |
name |
String |
Project Name |
number |
String |
Project Number |
startDate |
String |
Project Start Date |
endDate |
String |
Project End Date |
status |
String |
Status of project |
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 |
updatedAt |
String |
Date and Time (UTC) when the project was updated |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects/ac86f812-b3d3-4b00-b194-c818f74ffd1e' -i -X PATCH \
-H 'Content-Type: application/json' \
-d '{
"address" : {
"city" : "Jacobsonview",
"country" : "US",
"postalCode" : "82681",
"state" : "Massachusetts",
"streetAddress1" : "687 Rashida Island",
"streetAddress2" : ""
},
"endDate" : "2020-12-01",
"externalEmailRecipients" : [ "rufus.cummings@gmail.com", "cedrick.simonis@hotmail.com" ],
"externalId" : "EXT|204-75-2368",
"internalEmailRecipients" : [ "allene.turcotte@hotmail.com" ],
"name" : "Jast-Schuppe",
"number" : "PRJ202",
"startDate" : "2020-01-01",
"status" : "ACTIVE"
}'
Response body
{
"uuid" : "ac86f812-b3d3-4b00-b194-c818f74ffd1e",
"name" : "Jast-Schuppe",
"number" : "PRJ202",
"address" : {
"streetAddress1" : "687 Rashida Island",
"streetAddress2" : "",
"city" : "Jacobsonview",
"state" : "Massachusetts",
"country" : "US",
"postalCode" : "82681"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|204-75-2368",
"externalEmailRecipients" : [ "rufus.cummings@gmail.com", "cedrick.simonis@hotmail.com" ],
"internalEmailRecipients" : [ "allene.turcotte@hotmail.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
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the project |
name |
String |
Project Name |
startDate |
String |
Project Start Date |
endDate |
String |
Project End Date |
status |
String |
Status of project |
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 |
updatedAt |
String |
Date and Time (UTC) when the project was updated |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects/a436ca90-f80c-400d-a7e1-849a7ffced9f/childProjects' -i -X GET
Response body
{
"page" : {
"offset" : 0,
"limit" : 3,
"totalElements" : 3
},
"collection" : [ {
"createdAt" : "2022-07-17T22:47:03Z",
"updatedBy" : {
"name" : "Dr. Corey Stark",
"uuid" : "98f36230-0aa3-48c9-a787-c12004af9d33"
},
"endDate" : "2022-12-01",
"createdBy" : {
"name" : "Pearl Upton",
"uuid" : "e06166bf-f9c5-4d40-8b40-f60c2cc127a6"
},
"name" : "Architecto consequuntur quisquam accusantium nulla.",
"company" : {
"name" : "Schumm-Jacobs",
"uuid" : "ce76f9b8-ba44-45d2-a3b0-c97c540a4672"
},
"uuid" : "69294565-8e7c-4166-ba12-c9828d030f56",
"startDate" : "2022-01-01",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"createdAt" : "2022-07-17T22:47:03Z",
"updatedBy" : {
"name" : "Jeane Oberbrunner DVM",
"uuid" : "5f8a732a-8193-4cb4-8a9f-037ead9b9544"
},
"endDate" : "2022-12-01",
"createdBy" : {
"name" : "Mrs. Selena Ratke",
"uuid" : "faa1cedf-9359-4461-9f35-c7424581b5fa"
},
"name" : "Maxime quo aut tempora nihil veniam quidem ipsa officia.",
"company" : {
"name" : "Hammes LLC",
"uuid" : "912b23c2-9b31-446e-86d3-a707f2069b96"
},
"uuid" : "a9553adf-6ece-4cd1-8a70-2bfc00a0979d",
"startDate" : "2022-01-01",
"status" : "INACTIVE",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"createdAt" : "2022-07-17T22:47:03Z",
"updatedBy" : {
"name" : "Jackson Olson",
"uuid" : "7f2ed116-5f9a-4a05-ba67-f2a09340b89d"
},
"endDate" : "2022-12-01",
"createdBy" : {
"name" : "Reggie Zulauf",
"uuid" : "34e985be-3d98-4f70-aa72-370c101857f2"
},
"name" : "Iusto quas consectetur nesciunt.",
"company" : {
"name" : "Stokes-Cartwright",
"uuid" : "d57cccd2-3efd-47e6-9b95-071cec3dc295"
},
"uuid" : "f398f16e-78e1-43e6-b890-2943e45afa96",
"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 | Required | Constraints |
|---|---|---|---|
fromDate |
Return notes created at or after this date |
Yes |
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 |
Yes |
Format: "yyyy-MM-dd" |
Entity response fields
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the note |
description |
String |
Note description |
category |
String |
Note category |
date |
String |
Note date |
attachments |
Array |
Note attachments |
attachments[].uuid |
String |
Unique identifier for this attachment |
attachments[].mediaType |
String |
Media type for this attachment |
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 |
updatedAt |
String |
Date and Time (UTC) when the note was last updated |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects/662977e4-e1bb-4156-b493-4a569d03138f/notes?fromDate=2022-07-01&toDate=2022-07-31&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"next" : "/projects/662977e4-e1bb-4156-b493-4a569d03138f/notes?offset=10&limit=5",
"offset" : 5,
"previous" : "/projects/662977e4-e1bb-4156-b493-4a569d03138f/notes?offset=0&limit=5",
"limit" : 5,
"nextOffset" : "10",
"totalElements" : 15
},
"collection" : [ {
"date" : "2022-07-17",
"createdAt" : "2022-07-17T22:47:03Z",
"attachments" : [ {
"fileName" : "nulla.jpg",
"fileSize" : 66006,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "7b3ea25f-ad61-4989-ad30-642e0c2923d1",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
}, {
"fileName" : "impedit.jpg",
"fileSize" : 73661,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "8b1b8786-36d7-47a5-a844-84c2851050fa",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
} ],
"updatedBy" : {
"name" : "Percy Kirlin I",
"uuid" : "9758e36c-c875-4ca8-badc-fbe292cdc0b0"
},
"createdBy" : {
"name" : "Jewel Wyman",
"uuid" : "74033a2d-32e7-463f-b64c-2cdc6a3b113f"
},
"description" : "Minus laborum velit molestiae unde voluptate est minus non.",
"category" : "NOTES",
"uuid" : "33f4d1af-5c20-42ab-826b-ebd22beeb4ed",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"date" : "2022-07-17",
"createdAt" : "2022-07-17T22:47:03Z",
"attachments" : [ {
"fileName" : "commodi.jpg",
"fileSize" : 67324,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "105d6c48-03aa-48f6-a176-2039c83683ec",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
}, {
"fileName" : "enim.jpg",
"fileSize" : 8113,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "6a6300a6-bdee-4e4b-b8a0-a50a05960e95",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
} ],
"updatedBy" : {
"name" : "Len Strosin",
"uuid" : "6fbca557-2216-4e11-9dc7-1abcd1d1b775"
},
"createdBy" : {
"name" : "Gaylord Treutel",
"uuid" : "0f55fee8-9968-4196-832f-1393d83a1f8f"
},
"description" : "Delectus quidem distinctio minus cupiditate.",
"category" : "NOTES",
"uuid" : "9e1e8ce9-fb16-49b7-9cd1-8fe5992e44d9",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"date" : "2022-07-17",
"createdAt" : "2022-07-17T22:47:03Z",
"attachments" : [ {
"fileName" : "ex.jpg",
"fileSize" : 44847,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "3b1e15d9-5c75-43d2-a131-beef37634339",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
}, {
"fileName" : "numquam.jpg",
"fileSize" : 70542,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "9adb01f9-bc6d-4abd-befc-9a5f9c9e5102",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
} ],
"updatedBy" : {
"name" : "Melvina Beier",
"uuid" : "12ca179e-1fa8-4d79-8786-19d31898ef11"
},
"createdBy" : {
"name" : "Leandra O'Conner",
"uuid" : "b6e87ee6-ead8-4dc2-b437-b4b5462818a5"
},
"description" : "Fugit soluta provident repudiandae repudiandae accusamus fuga quae.",
"category" : "QUALITY",
"uuid" : "434ec9eb-73dd-4769-8feb-8124f2461add",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"date" : "2022-07-17",
"createdAt" : "2022-07-17T22:47:03Z",
"attachments" : [ {
"fileName" : "illum.jpg",
"fileSize" : 94762,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "1f748186-ec6a-4a58-8f92-101fad782e41",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
}, {
"fileName" : "nesciunt.jpg",
"fileSize" : 17826,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "53b10bf5-e5b9-42f2-b69b-ba614d4e3950",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
} ],
"updatedBy" : {
"name" : "Darren Wisozk",
"uuid" : "88c5100f-fe7d-4da9-a8b1-4ae18b8b670e"
},
"createdBy" : {
"name" : "Shanda Fay I",
"uuid" : "a781d2d7-3a68-4a0a-8d73-7dfaf25f7265"
},
"description" : "Temporibus dolores culpa esse porro doloribus eveniet.",
"category" : "QUALITY",
"uuid" : "e9f4f73a-b364-4317-9541-e44e5715b834",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"date" : "2022-07-17",
"createdAt" : "2022-07-17T22:47:03Z",
"attachments" : [ {
"fileName" : "rem.jpg",
"fileSize" : 79548,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "031a3e27-4f0c-40e5-8a2c-2ab97909eb84",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
}, {
"fileName" : "provident.jpg",
"fileSize" : 85610,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "342292f5-ed25-4d4e-8623-785c61eaeb42",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
} ],
"updatedBy" : {
"name" : "Dr. Carina Stracke",
"uuid" : "6f26415c-426d-4cc9-a5e9-9387f8006546"
},
"createdBy" : {
"name" : "Dale Batz",
"uuid" : "b739acf2-2df8-46ed-bc3a-161edcd0ec8f"
},
"description" : "Id cupiditate ea ipsum minus eligendi.",
"category" : "QUALITY",
"uuid" : "ebee84a7-c1c8-4378-8fa0-01aaff21a445",
"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 | Required | Constraints |
|---|---|---|---|
statuses |
Return only members with the given statuses. Multiple statuses can be specified. If not specified, only |
No |
Enums: ACTIVE, INVITED, INACTIVE, DELETED |
classificationUuids |
Return only members for the given classification |
No |
|
roles |
Return only members with the given roles. More than one role may be specified. |
No |
Enums: ROLE_WORKER, ROLE_USER, ROLE_ADMIN, ROLE_PROJECT_MEMBER |
Entity response fields
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the member |
firstName |
String |
First Name |
lastName |
String |
Last Name |
role |
String |
Role |
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 |
updatedAt |
String |
Date and Time (UTC) when the member was updated |
lastLoginAt |
String |
Date and Time (UTC) when the member last logged in |
status |
String |
Member status |
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 |
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/85a6aa29-2f8d-46c3-8d6b-0deb42964a21/members?statuses=ACTIVE,DELETED,INACTIVE,INVITED&roles=ROLE_WORKER,ROLE_USER&classificationUuids=8bf550b1-3b8d-4749-89dd-538693519614,f306fafd-2863-4666-b83e-5e8e3a4c1abd&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"next" : "/projects/85a6aa29-2f8d-46c3-8d6b-0deb42964a21/members?statuses=ACTIVE,DELETED,INACTIVE,INVITED&roles=ROLE_WORKER,ROLE_USER&classificationUuids=8bf550b1-3b8d-4749-89dd-538693519614,f306fafd-2863-4666-b83e-5e8e3a4c1abd&offset=10&limit=5",
"offset" : 5,
"previous" : "/projects/85a6aa29-2f8d-46c3-8d6b-0deb42964a21/members?statuses=ACTIVE,DELETED,INACTIVE,INVITED&roles=ROLE_WORKER,ROLE_USER&classificationUuids=8bf550b1-3b8d-4749-89dd-538693519614,f306fafd-2863-4666-b83e-5e8e3a4c1abd&offset=0&limit=5",
"limit" : 5,
"nextOffset" : "10",
"totalElements" : 15
},
"collection" : [ {
"lastName" : "Schmidt",
"role" : "ROLE_USER",
"employeeId" : "EMP00001",
"classificationUuid" : "f1571274-8530-473b-a07e-b9f825df38f4",
"title" : "Mr",
"uuid" : "0fcb5d12-1d76-4eb5-9fb5-a30f9c0b177f",
"firstName" : "Aimee",
"createdAt" : "2022-07-17T22:47:03Z",
"phoneNumber" : "(803) 474-5374",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"email" : "woodrow.dubuque@hotmail.com",
"timeSettings" : {
"defaultCostCode" : "ec39c693-074f-43f6-b9fc-9c2075e71742",
"defaultShift" : "9241d5ab-a4db-47ad-9a31-0f37fb1902dd",
"blockTimeClock" : true
},
"username" : "woodrow.dubuque@hotmail.com",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"lastName" : "Boyer",
"role" : "ROLE_USER",
"employeeId" : "EMP00002",
"classificationUuid" : "b140add9-5ea6-47cd-8a28-5c3d6ce4974e",
"title" : "Mrs",
"uuid" : "2be3c217-f3ee-4515-81ee-9d0e5b179e16",
"firstName" : "Marcelo",
"createdAt" : "2022-07-17T22:47:03Z",
"phoneNumber" : "(305) 728-8513",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"email" : "ardith.flatley@hotmail.com",
"timeSettings" : {
"defaultCostCode" : "40298e65-bb2e-41f1-860c-3b5f8fae27cd",
"defaultShift" : "086da61a-de0b-416c-b245-299b86d587ef",
"blockTimeClock" : true
},
"username" : "ardith.flatley@hotmail.com",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"lastName" : "Glover",
"role" : "ROLE_USER",
"employeeId" : "EMP00003",
"classificationUuid" : "67542d35-a878-49ce-b277-3bd7140a8391",
"title" : "Mr",
"uuid" : "fe50e59d-45eb-4af6-a0fd-171c5014eb80",
"firstName" : "Jarred",
"createdAt" : "2022-07-17T22:47:03Z",
"phoneNumber" : "(472) 766-0418",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"email" : "juan.damore@hotmail.com",
"timeSettings" : {
"defaultCostCode" : "f95f0629-2832-4dcb-be16-b19265bd5bdd",
"defaultShift" : "cc462140-5983-4987-b79c-1b6c26e67ef5",
"blockTimeClock" : true
},
"username" : "juan.damore@hotmail.com",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"lastName" : "Wiegand",
"role" : "ROLE_USER",
"employeeId" : "EMP00004",
"classificationUuid" : "170c0a2e-d5b5-4394-a434-a23c76dc62f3",
"title" : "Mrs",
"uuid" : "48f76c89-32b1-419e-8a47-9981278a029a",
"firstName" : "Thelma",
"createdAt" : "2022-07-17T22:47:03Z",
"phoneNumber" : "(472) 747-4967",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"email" : "felicitas.beer@hotmail.com",
"timeSettings" : {
"defaultCostCode" : "225616e9-3922-4e49-b842-45f0f70a99ae",
"defaultShift" : "bd51a0af-73b5-4312-865f-e50fecbfeaa0",
"blockTimeClock" : true
},
"username" : "felicitas.beer@hotmail.com",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"lastName" : "Carter",
"role" : "ROLE_USER",
"employeeId" : "EMP00005",
"classificationUuid" : "4d39d83c-93e1-4eca-be31-36b04dfc88a0",
"title" : "Mr",
"uuid" : "1cfca346-6985-48e6-b6ec-838df1aaabc6",
"firstName" : "Melodi",
"createdAt" : "2022-07-17T22:47:03Z",
"phoneNumber" : "(505) 449-4484",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"email" : "melodi.robel@yahoo.com",
"timeSettings" : {
"defaultCostCode" : "770047a9-e302-488f-8d90-4873355224d0",
"defaultShift" : "0c822e96-f76e-42c3-a3f4-4d8e85b7fb91",
"blockTimeClock" : true
},
"username" : "melodi.robel@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 | Required | Constraints |
|---|---|---|---|
fromDate |
Return production insights at or after this date. Defaults to the project start date if not provided |
No |
Format: "yyyy-MM-dd" |
toDate |
Return production insights at or before this date. Defaults to today’s date if not provided |
No |
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 |
No |
Boolean value: true or false |
costCodeUuid |
Return production insights for specific cost code uuid |
No |
|
costCodeDivision |
Return production insights for specific cost code division |
No |
Entity response fields
| Field | 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/bfe9aa84-6009-4789-b8c0-ba48c3a0c2b4/productionInsights?fromDate=2022-07-01&toDate=2022-07-31&manualTracking=true&costCodeUuid=2dc772c7-a398-4cd8-9f27-49512bb6c5a5&costCodeDivision=division&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"next" : "/projects/bfe9aa84-6009-4789-b8c0-ba48c3a0c2b4/notes?offset=10&limit=5",
"offset" : 5,
"previous" : "/projects/bfe9aa84-6009-4789-b8c0-ba48c3a0c2b4/notes?offset=0&limit=5",
"limit" : 5,
"nextOffset" : "10",
"totalElements" : 15
},
"collection" : [ {
"division" : "01",
"completeQuantityPercent" : 0.39,
"budgetedHours" : 669.1,
"costCodes" : [ {
"materialStats" : [ {
"completeQuantityPercent" : 0.79,
"material" : {
"name" : "Sand",
"uuid" : "8c5019cd-cff3-4b42-a3d7-4e590ca44117",
"materialUnit" : {
"name" : "inch",
"uuid" : "035b098d-35b5-4d47-ab02-f66b91c89354"
}
},
"actualQuantity" : 435.26,
"budgetedQuantity" : 544.52
}, {
"completeQuantityPercent" : 1.48,
"material" : {
"name" : "Sand",
"uuid" : "c7af8d1e-ce14-4150-9e75-a14eeddf0b9f",
"materialUnit" : {
"name" : "inch",
"uuid" : "4a8c2fa0-f642-4baa-9ec0-78ee593e434c"
}
},
"actualQuantity" : 953.59,
"budgetedQuantity" : 642.16
} ],
"costCode" : {
"division" : "01",
"code" : "50-33628",
"description" : "Dolor vel.",
"uuid" : "f63b6831-3e46-4938-bab8-fc4dc323cec5"
},
"budgetedHours" : 933.12,
"actualQuantity" : 34.67,
"remainingHours" : -33.31,
"budgetedQuantity" : 24.06,
"projectedHoursGainOrLoss" : 38.12,
"projectedTotalHours" : 971.25,
"actualHours" : 966.43,
"completeHoursPercent" : 1.03,
"progressHoursPercent" : 0.88
}, {
"materialStats" : [ {
"completeQuantityPercent" : 0.69,
"material" : {
"name" : "Sand",
"uuid" : "88e7c7cd-d93c-4ba1-ae3f-a406fc3c31fa",
"materialUnit" : {
"name" : "inch",
"uuid" : "3ead9080-8f61-4f15-ae8d-3b931e10785d"
}
},
"actualQuantity" : 347.69,
"budgetedQuantity" : 498.01
}, {
"completeQuantityPercent" : 0.52,
"material" : {
"name" : "Sand",
"uuid" : "b6337316-a576-43ca-af53-d268d7991332",
"materialUnit" : {
"name" : "inch",
"uuid" : "a6302f72-24a5-4337-a134-d4549f879481"
}
},
"actualQuantity" : 103.24,
"budgetedQuantity" : 197.4
} ],
"costCode" : {
"division" : "01",
"code" : "41-87625",
"description" : "Magnam exercitationem atque.",
"uuid" : "259281ea-18da-4e36-9afa-e3e8cdca39e6"
},
"budgetedHours" : 205.06,
"actualQuantity" : 95.84,
"remainingHours" : 73.28,
"budgetedQuantity" : 59.78,
"projectedHoursGainOrLoss" : 34.56,
"projectedTotalHours" : 239.63,
"actualHours" : 131.78,
"completeHoursPercent" : 0.64,
"progressHoursPercent" : 0
} ],
"remainingHours" : 407.03,
"projectedHoursGainOrLoss" : 237.05,
"projectedTotalHours" : 906.16,
"actualHours" : 262.06,
"completeHoursPercent" : 0.39
}, {
"division" : "02",
"completeQuantityPercent" : 1.3,
"budgetedHours" : 834.45,
"costCodes" : [ {
"materialStats" : [ {
"completeQuantityPercent" : 0,
"material" : {
"name" : "Sand",
"uuid" : "03cc5153-d6f3-40c4-87e5-84586b165e52",
"materialUnit" : {
"name" : "inch",
"uuid" : "3e2ca676-2365-47ec-ad5c-f20a332d778a"
}
},
"actualQuantity" : 2.69,
"budgetedQuantity" : 752.55
}, {
"completeQuantityPercent" : 1.19,
"material" : {
"name" : "Sand",
"uuid" : "0325b984-4c79-4fae-ab74-e9348c16ae2a",
"materialUnit" : {
"name" : "inch",
"uuid" : "e0ccf945-831d-4625-840d-f48ad6e48594"
}
},
"actualQuantity" : 678.61,
"budgetedQuantity" : 568.64
} ],
"costCode" : {
"division" : "02",
"code" : "47-19444",
"description" : "Reprehenderit sed beatae.",
"uuid" : "b46628da-d2dd-41e7-8795-b2aede1ec6b6"
},
"budgetedHours" : 639.51,
"actualQuantity" : 11.48,
"remainingHours" : 158.48,
"budgetedQuantity" : 65.79,
"projectedHoursGainOrLoss" : 494.61,
"projectedTotalHours" : 1134.13,
"actualHours" : 481.03,
"completeHoursPercent" : 0.75,
"progressHoursPercent" : 0.8
} ],
"remainingHours" : -257.6,
"projectedHoursGainOrLoss" : 615.61,
"projectedTotalHours" : 1450.07,
"actualHours" : 1092.05,
"completeHoursPercent" : 1.3
}, {
"division" : "03",
"completeQuantityPercent" : 0.11,
"budgetedHours" : 402.69,
"costCodes" : [ {
"materialStats" : [ {
"completeQuantityPercent" : 0.82,
"material" : {
"name" : "Sand",
"uuid" : "ced50ff6-e17f-4bc5-9930-ec29b51a822d",
"materialUnit" : {
"name" : "inch",
"uuid" : "1000b593-1b7a-4b29-aeb2-a493032d6c29"
}
},
"actualQuantity" : 461.24,
"budgetedQuantity" : 561.4
}, {
"completeQuantityPercent" : 0.94,
"material" : {
"name" : "Sand",
"uuid" : "8bbc1daa-77ef-4461-b9bf-6c6623a16d59",
"materialUnit" : {
"name" : "inch",
"uuid" : "33a24b74-0120-423d-b72b-cda9e9f850d3"
}
},
"actualQuantity" : 640.06,
"budgetedQuantity" : 678.22
} ],
"costCode" : {
"division" : "03",
"code" : "94-90867",
"description" : "Alias optio numquam ea.",
"uuid" : "79496535-d67b-4195-8f53-0e67d627719b"
},
"budgetedHours" : 617.56,
"actualQuantity" : 53.93,
"remainingHours" : 369.09,
"budgetedQuantity" : 37.42,
"projectedHoursGainOrLoss" : 357.05,
"projectedTotalHours" : 974.61,
"actualHours" : 248.46,
"completeHoursPercent" : 0.4,
"progressHoursPercent" : 0.57
} ],
"remainingHours" : 358.32,
"projectedHoursGainOrLoss" : 228.88,
"projectedTotalHours" : 631.57,
"actualHours" : 44.37,
"completeHoursPercent" : 0.11
}, {
"division" : "04",
"completeQuantityPercent" : 0.14,
"budgetedHours" : 436.19,
"costCodes" : [ {
"materialStats" : [ {
"completeQuantityPercent" : 0.04,
"material" : {
"name" : "Sand",
"uuid" : "1f9da1a0-d87a-412d-a5cd-ad4d47b0d36a",
"materialUnit" : {
"name" : "inch",
"uuid" : "39dc62ab-b7a7-4404-b658-452fb5c369e0"
}
},
"actualQuantity" : 16.36,
"budgetedQuantity" : 391.74
}, {
"completeQuantityPercent" : 0.15,
"material" : {
"name" : "Sand",
"uuid" : "45a5ee09-96cd-472a-9438-6c5f309a1064",
"materialUnit" : {
"name" : "inch",
"uuid" : "d108f7d4-59b2-4a93-83ea-e9c63cab0173"
}
},
"actualQuantity" : 26.4,
"budgetedQuantity" : 166.93
} ],
"costCode" : {
"division" : "04",
"code" : "93-45014",
"description" : "Illum cumque praesentium debitis.",
"uuid" : "a970f09f-5372-41d3-91b4-9fb3b392fe86"
},
"budgetedHours" : 193.42,
"actualQuantity" : 78.55,
"remainingHours" : 70.57,
"budgetedQuantity" : 91.2,
"projectedHoursGainOrLoss" : 42.55,
"projectedTotalHours" : 235.97,
"actualHours" : 122.84,
"completeHoursPercent" : 0.63,
"progressHoursPercent" : 0.72
} ],
"remainingHours" : 371.87,
"projectedHoursGainOrLoss" : 16.8,
"projectedTotalHours" : 453,
"actualHours" : 64.32,
"completeHoursPercent" : 0.14
}, {
"division" : "05",
"completeQuantityPercent" : 1.04,
"budgetedHours" : 641.64,
"costCodes" : [ {
"materialStats" : [ {
"completeQuantityPercent" : 0.33,
"material" : {
"name" : "Sand",
"uuid" : "b9a1597b-de50-4981-a248-1c4d9ea96619",
"materialUnit" : {
"name" : "inch",
"uuid" : "a69a10d2-e6c7-48d0-b235-e87bcdba8d4b"
}
},
"actualQuantity" : 156.1,
"budgetedQuantity" : 466.96
}, {
"completeQuantityPercent" : 1.19,
"material" : {
"name" : "Sand",
"uuid" : "4ffc6a1a-2388-4d6f-a0a3-da04c5a2e3cc",
"materialUnit" : {
"name" : "inch",
"uuid" : "32491f61-a8f4-422c-bb1a-b859d878b517"
}
},
"actualQuantity" : 1064.15,
"budgetedQuantity" : 887.9
} ],
"costCode" : {
"division" : "05",
"code" : "49-36972",
"description" : "Amet quis facere.",
"uuid" : "b74ade6e-d3d7-4c95-b3f3-28ad33d1df83"
},
"budgetedHours" : 742.02,
"actualQuantity" : 18.66,
"remainingHours" : 8.21,
"budgetedQuantity" : 82.48,
"projectedHoursGainOrLoss" : 83.32,
"projectedTotalHours" : 825.35,
"actualHours" : 733.81,
"completeHoursPercent" : 0.98,
"progressHoursPercent" : 0.79
}, {
"materialStats" : [ {
"completeQuantityPercent" : 1,
"material" : {
"name" : "Sand",
"uuid" : "2751790d-9aac-48cf-acb3-d66e85561d8a",
"materialUnit" : {
"name" : "inch",
"uuid" : "7911d481-e963-4473-864e-166cbaf44cd9"
}
},
"actualQuantity" : 112.97,
"budgetedQuantity" : 112.36
}, {
"completeQuantityPercent" : 1.22,
"material" : {
"name" : "Sand",
"uuid" : "a6ab919d-0454-40cb-bd83-d838c207cfe9",
"materialUnit" : {
"name" : "inch",
"uuid" : "0ca486fc-e478-46dd-a0fa-a128b8e09b4f"
}
},
"actualQuantity" : 275.71,
"budgetedQuantity" : 224.71
} ],
"costCode" : {
"division" : "05",
"code" : "80-44182",
"description" : "Quae voluptatibus distinctio distinctio.",
"uuid" : "6edad5c6-be9a-43ff-9396-f91d9ab8eb6c"
},
"budgetedHours" : 795.25,
"actualQuantity" : 53.83,
"remainingHours" : 538.2,
"budgetedQuantity" : 32.58,
"projectedHoursGainOrLoss" : 26.25,
"projectedTotalHours" : 821.51,
"actualHours" : 257.05,
"completeHoursPercent" : 0.32,
"progressHoursPercent" : 0.87
} ],
"remainingHours" : -26.41,
"projectedHoursGainOrLoss" : 288.2,
"projectedTotalHours" : 929.84,
"actualHours" : 668.04,
"completeHoursPercent" : 1.04
} ]
}
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 | Required | Constraints |
|---|---|---|---|
statuses |
Return only members with the given statuses. Multiple statuses can be specified. If not specified, only |
No |
Enums: ACTIVE, INVITED, INACTIVE, DELETED |
projectUuid |
Return only members for the given project |
No |
|
classificationUuids |
Return only members for the given classification |
No |
|
roles |
Return only members with the given roles. More than one role may be specified. |
No |
Enums: ROLE_WORKER, ROLE_USER, ROLE_ADMIN, ROLE_PROJECT_MEMBER |
changedSince |
Return only members updated at or after this time, inclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only members updated before this time, exclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
|
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
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the member |
firstName |
String |
First Name |
lastName |
String |
Last Name |
role |
String |
Role |
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 |
updatedAt |
String |
Date and Time (UTC) when the member was updated |
lastLoginAt |
String |
Date and Time (UTC) when the member last logged in |
status |
String |
Member status |
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 |
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=fcc4a4f1-ce94-4910-bb11-dc0f8e122295&classificationUuids=90148de0-d86d-4882-bd63-264754ac684f,12b0fd11-9021-4df8-b562-4b8a1bd3cd7b&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=fcc4a4f1-ce94-4910-bb11-dc0f8e122295&classificationUuids=90148de0-d86d-4882-bd63-264754ac684f,12b0fd11-9021-4df8-b562-4b8a1bd3cd7b&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=fcc4a4f1-ce94-4910-bb11-dc0f8e122295&classificationUuids=90148de0-d86d-4882-bd63-264754ac684f,12b0fd11-9021-4df8-b562-4b8a1bd3cd7b&changedSince=2024-02-03T14:00:00Z&changedUntil=2024-02-13T14:00:00Z&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "2ed89ecf-af3e-4a08-8f4d-f6e2107f3e2c",
"firstName" : "Virgina",
"lastName" : "Deckow",
"role" : "ROLE_USER",
"email" : "carson.schiller@hotmail.com",
"employeeId" : "EMP00001",
"username" : "carson.schiller@hotmail.com",
"classificationUuid" : "7607d83e-bb77-49bd-bf0a-1f77cceb3e5e",
"status" : "ACTIVE",
"phoneNumber" : "(305) 205-4708",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "4f28a95e-bb5f-4449-a36c-ca73749e4e04",
"defaultShift" : "265ffefa-c88d-41fc-8e53-36a08745c8f1"
}
}, {
"uuid" : "d97025bd-ca7b-44fb-bda4-e0108ad21619",
"firstName" : "Jc",
"lastName" : "Simonis",
"role" : "ROLE_USER",
"email" : "bert.schmidt@hotmail.com",
"employeeId" : "EMP00002",
"username" : "bert.schmidt@hotmail.com",
"classificationUuid" : "26fdfed5-4472-4f30-91f2-9709f7bd1e8a",
"status" : "ACTIVE",
"phoneNumber" : "(516) 520-5745",
"title" : "Mrs",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "55e22306-9c48-4eba-bcce-d0906be6683c",
"defaultShift" : "95cc9316-0758-450e-8506-99887228e89b"
}
}, {
"uuid" : "a3664a08-e1b4-4e54-9e6d-377e4836ed71",
"firstName" : "Bronwyn",
"lastName" : "Kovacek",
"role" : "ROLE_USER",
"email" : "blaine.anderson@hotmail.com",
"employeeId" : "EMP00003",
"username" : "blaine.anderson@hotmail.com",
"classificationUuid" : "ac910f80-7b03-4992-aa53-fb641f0f5819",
"status" : "ACTIVE",
"phoneNumber" : "(305) 480-3554",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "071d7f25-2f31-4f0f-bf4f-21781a669aec",
"defaultShift" : "e4e34988-3ead-44c6-9644-b21a172e5532"
}
}, {
"uuid" : "23eea456-c982-46cc-a180-486b25eb7339",
"firstName" : "Roselyn",
"lastName" : "Kuhn",
"role" : "ROLE_USER",
"email" : "justine.roob@yahoo.com",
"employeeId" : "EMP00004",
"username" : "justine.roob@yahoo.com",
"classificationUuid" : "f4da1eff-f64e-4cb2-ba70-a5e8da8cd868",
"status" : "ACTIVE",
"phoneNumber" : "(305) 273-4254",
"title" : "Mrs",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "7feff583-40af-4f6b-994a-927c22a800d7",
"defaultShift" : "c86e980c-7eb4-4ca6-8e8d-d51d683b6a96"
}
}, {
"uuid" : "07af6c1e-27d1-4001-8e1e-4ace04989e7e",
"firstName" : "Kimberly",
"lastName" : "Tremblay",
"role" : "ROLE_USER",
"email" : "asa.raynor@yahoo.com",
"employeeId" : "EMP00005",
"username" : "asa.raynor@yahoo.com",
"classificationUuid" : "a8e6332c-7879-4b7c-974d-471ae57cd3a4",
"status" : "ACTIVE",
"phoneNumber" : "(505) 500-5557",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "929b46e6-a824-4879-9196-a6c5a32ecb8a",
"defaultShift" : "4ae7af0b-5fbf-4fe3-8275-6c1729403d95"
}
} ]
}
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
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the member |
firstName |
String |
First Name |
lastName |
String |
Last Name |
role |
String |
Role |
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 |
updatedAt |
String |
Date and Time (UTC) when the member was updated |
lastLoginAt |
String |
Date and Time (UTC) when the member last logged in |
status |
String |
Member status |
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 |
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/4c89ccab-46da-4f61-afb3-2517258894f6' -i -X GET
Response body
{
"uuid" : "4c89ccab-46da-4f61-afb3-2517258894f6",
"firstName" : "Herb",
"lastName" : "Romaguera",
"role" : "ROLE_WORKER",
"email" : "elliot.schmitt@yahoo.com",
"employeeId" : "EMP00001",
"username" : "elliot.schmitt@yahoo.com",
"classificationUuid" : "9624409f-cde8-4af3-bcf5-cd78ca473f28",
"status" : "ACTIVE",
"phoneNumber" : "(305) 542-9566",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "998f35e6-68a5-461f-b8fb-d2562c824399",
"defaultShift" : "04ed319d-c9ee-4564-9563-ee7d69613d36"
},
"projectUuids" : [ "d2b23c8a-d017-432c-bfe2-d02e80403922", "63bbc0d6-1beb-4a67-9b0d-dce187cf2579" ],
"memberCertifications" : [ {
"uuid" : "d9b9a10e-fa9f-4678-a35e-d600cbb36638",
"certificationName" : "Officiis dolorum ad.",
"expired" : false,
"description" : "Corporis veritatis rerum quam quibusdam minus. Quo laudantium doloribus sequi totam suscipit adipisci. Fugiat soluta rerum aspernatur saepe.",
"attachments" : [ {
"uuid" : "c8691352-e0b5-42e2-a23a-4bd189ed432d",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "occaecati.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 69354
} ]
} ]
}
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 | Required | Constraints |
|---|---|---|---|
statuses |
Return only projects with the given statuses. Multiple statuses can be specified. If not specified, only |
No |
Enums: ACTIVE, INACTIVE, DELETED |
Path parameters
| Parameter | Description |
|---|---|
|
Return only projects for the given member |
Entity response fields
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the project |
name |
String |
Project Name |
teamType |
String |
Team type |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/members/d585840b-83bf-4090-b9a3-ee0c74f64b1f/projects?statuses=ACTIVE&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/members/d585840b-83bf-4090-b9a3-ee0c74f64b1f/projects?statuses=ACTIVE&offset=0&limit=5",
"next" : "/members/d585840b-83bf-4090-b9a3-ee0c74f64b1f/projects?statuses=ACTIVE&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "67906f9e-8d5b-4efc-bb0c-b278cd3c3ec5",
"name" : "Ulee Daway",
"teamType" : "GENERAL_CONTRACTOR"
}, {
"uuid" : "2785ee39-3bb2-4f1f-9944-1d4ab0f348ef",
"name" : "Justin Tune",
"teamType" : "GENERAL_CONTRACTOR"
}, {
"uuid" : "22c1f8ff-26f6-4401-8606-4a2b33cbc9d2",
"name" : "Theresa Brown",
"teamType" : "GENERAL_CONTRACTOR"
}, {
"uuid" : "613d9c03-0af2-446d-a328-63d809178e0b",
"name" : "Ann Tartica",
"teamType" : "GENERAL_CONTRACTOR"
}, {
"uuid" : "15a82407-a11e-4bb1-b862-7cd788cbb148",
"name" : "Ali Gator",
"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.
|
About project membership:
For
For other roles:
|
Request fields
| Field | Type | Description | Required | Constraints |
|---|---|---|---|---|
firstName |
String |
First Name |
Yes |
Must not be blank |
lastName |
String |
Last Name |
Yes |
Must not be blank |
role |
String |
Role |
Yes |
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 |
Yes |
Must not be null |
String |
Email (optional for workers but mandatory for team members) |
No |
Must not be blank |
|
phoneNumber |
String |
Phone Number |
No |
|
title |
String |
Title |
No |
|
employeeId |
String |
Employee Id (Unique if not empty) |
No |
|
classificationUuid |
String |
Unique identifier of the classification for the member |
No |
|
timeSettings |
Object |
Default times settings for the member |
No |
|
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 |
No |
Boolean value: true or false |
timeSettings.defaultCostCode |
String |
The unique identifier of this member’s default cost code |
No |
|
timeSettings.defaultShift |
String |
The unique identifier of this member’s default shift |
No |
Response fields
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the member |
firstName |
String |
First Name |
lastName |
String |
Last Name |
role |
String |
Role |
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 |
updatedAt |
String |
Date and Time (UTC) when the member was updated |
lastLoginAt |
String |
Date and Time (UTC) when the member last logged in |
status |
String |
Member status |
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 |
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' \
-d '{
"email" : "testing+100@rakenapp.com",
"firstName" : "Ariel",
"lastName" : "Haley",
"projectUuids" : [ "9a4def9d-3522-44ba-b44f-a039b026d522" ],
"role" : "ROLE_WORKER",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "e4677712-9707-4edb-a5d9-5e21bdda3e45",
"defaultShift" : "37944010-af95-4a90-b791-c522b36fcfd1"
}
}'
Response body
{
"uuid" : "e6625179-4c73-47ab-8fce-32460381b91e",
"firstName" : "Ariel",
"lastName" : "Haley",
"role" : "ROLE_WORKER",
"email" : "richie.zieme@gmail.com",
"employeeId" : "EMP00001",
"username" : "richie.zieme@gmail.com",
"classificationUuid" : "274c55a1-7213-4830-b093-099d2f24ce77",
"status" : "ACTIVE",
"phoneNumber" : "(505) 350-6784",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "a03e3a27-5623-43b2-97cc-5ef63d64b3bb",
"defaultShift" : "eaa80c87-13ab-487c-ab8b-fbcd6c1768ce"
},
"projectUuids" : [ "615a685a-0ec1-4c4b-bca1-08b041e9e1d2", "466dfd34-e1b5-44d6-bee1-f98494077808" ]
}
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
| Field | Type | Description | Required | Constraints |
|---|---|---|---|---|
firstName |
String |
First Name |
No |
Must not be blank |
lastName |
String |
Last Name |
No |
Must not be blank |
role |
String |
Role |
No |
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 |
No |
|
String |
Email (optional for workers but mandatory for team members) |
No |
Must not be blank |
|
phoneNumber |
String |
Phone Number |
No |
|
title |
String |
Title |
No |
|
employeeId |
String |
Employee Id (Unique if not empty) |
No |
|
classificationUuid |
String |
Unique identifier of the classification for the member |
No |
|
timeSettings |
Object |
Default times settings for the member |
No |
|
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 |
No |
Boolean value: true or false |
timeSettings.defaultCostCode |
String |
The unique identifier of this member’s default cost code |
No |
|
timeSettings.defaultShift |
String |
The unique identifier of this member’s default shift |
No |
|
status |
String |
Member status |
No |
MemberStatus Enums: ACTIVE, DELETED, INACTIVE, INVITED |
Response fields
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the member |
firstName |
String |
First Name |
lastName |
String |
Last Name |
role |
String |
Role |
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 |
updatedAt |
String |
Date and Time (UTC) when the member was updated |
lastLoginAt |
String |
Date and Time (UTC) when the member last logged in |
status |
String |
Member status |
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 |
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/3ab2abf6-3fd1-4d96-9397-2fd828925d52' -i -X PATCH \
-H 'Content-Type: application/json' \
-d '{
"firstName" : "Georgeann"
}'
Response body
{
"uuid" : "3ab2abf6-3fd1-4d96-9397-2fd828925d52",
"firstName" : "Georgeann",
"lastName" : "Metz",
"role" : "ROLE_WORKER",
"email" : "louisa.boehm@yahoo.com",
"employeeId" : "EMP00001",
"username" : "louisa.boehm@yahoo.com",
"classificationUuid" : "a9f2fd03-dd9f-4b70-a8d2-8b32b380207b",
"status" : "ACTIVE",
"phoneNumber" : "(305) 206-5850",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "514cc21b-dc1d-4819-9f79-a889f793af75",
"defaultShift" : "a14d3a36-f330-44d6-9fbf-2d0e7655256a"
},
"projectUuids" : [ "8f89b470-5e08-4f8b-8d93-8f585f7bc127", "c143d63e-e00c-4cd3-a505-3c64e9077504" ]
}
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
| Field | Type | Description | Required | Constraints |
|---|---|---|---|---|
memberUuids |
Array |
List of unique identifiers for members to change project assignment for |
Yes |
Must not be null Size must be between 1 and 100 inclusive |
projectAssignmentType |
String |
Project assignment type |
Yes |
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 |
No |
Size must be between 0 and 10 inclusive |
projectState |
String |
Select projects with the given state. If projectUuids is provided, projectState will be ignored. |
No |
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' \
-d '{
"memberUuids" : [ "84b68012-71b9-4ace-bd90-556c9320c2d6" ],
"projectAssignmentType" : "APPEND",
"projectState" : "ACTIVE",
"projectUuids" : [ "7434ccc6-845c-4c16-a6f1-691ffcc292f8", "b68e54fa-69f2-4430-ab81-35098de34885" ]
}'
Cost Codes
List
A GET request will list all the cost codes.
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
projectUuid |
Restrict the cost codes to the projects represented by this UUID. |
No |
|
changedSince |
Return only time cards updated at or after this time, inclusive. The date is capped to a month to changedUntil. |
No |
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. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
| Field | 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 |
updatedAt |
String |
Date and Time (UTC) when the cost code was updated |
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" : "2c62e54e-1f11-4ad2-8116-2c65a9a288c8",
"code" : "0110",
"division" : "01 - General Conditions",
"description" : "Mockups",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"uuid" : "484048d3-8c50-498e-b5d1-df227caa70b3",
"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
| Field | Type | Description | Required | Constraints |
|---|---|---|---|---|
code |
String |
Code for the cost code |
Yes |
Must not be blank Size must be between 0 and 20 inclusive |
division |
String |
Division for the cost code |
Yes |
Must not be blank Size must be between 0 and 50 inclusive |
projectUuid |
String |
Project UUID which the cost code is created for |
Yes |
Must not be blank |
description |
String |
Description for the cost code |
No |
Size must be between 0 and 60 inclusive |
Response fields
| Field | 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 |
updatedAt |
String |
Date and Time (UTC) when the cost code was updated |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/costCodes' -i -X POST \
-H 'Content-Type: application/json' \
-d '{
"code" : "0110",
"division" : "01 - General Conditions",
"description" : "Mockups",
"projectUuid" : "8169fd06-0997-4673-b537-4d9d401b8922"
}'
Response body
{
"uuid" : "385531df-8067-4a93-87f4-cf04beb928ec",
"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
| Field | Type | Description | Required | Constraints |
|---|---|---|---|---|
division |
String |
Division for the cost code |
No |
Must not be blank Size must be between 0 and 50 inclusive |
description |
String |
Description for the cost code |
No |
Size must be between 0 and 60 inclusive |
Response fields
| Field | 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 |
updatedAt |
String |
Date and Time (UTC) when the cost code was updated |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/costCodes/69ab9fec-313b-4857-b384-e148e5a7f56b' -i -X PATCH \
-H 'Content-Type: application/json' \
-d '{
"division" : "01 - General Conditions",
"description" : "Mockups"
}'
Response body
{
"uuid" : "69ab9fec-313b-4857-b384-e148e5a7f56b",
"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 | Required | Constraints |
|---|---|---|---|
statuses |
Restrict the classifications to those with these statuses. Multiple statuses can be specified. |
No |
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 |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Filters results to include only entities that were updated before the specified time (exclusive) |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the classification |
name |
String |
Classification Name |
status |
String |
Classification status |
createdAt |
String |
Date and Time (UTC) when the classification was created |
updatedAt |
String |
Date and Time (UTC) when the classification was updated |
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" : "bf816b3b-b2c9-4bcd-86e8-66e034896ab2",
"name" : "Foreman",
"status" : "ACTIVE",
"updatedAt" : "2025-09-23T18:44:10Z",
"createdAt" : "2024-10-29T09:26:14Z"
}, {
"uuid" : "e29b58a7-197c-48b3-aa58-228cb281f494",
"name" : "Journeyman",
"status" : "ACTIVE",
"updatedAt" : "2026-02-02T14:48:35Z",
"createdAt" : "2025-12-04T08:32:05Z"
} ]
}
Create
A POST request will create a new classification on your Raken account.
Request fields
| Field | Type | Description | Required | Constraints |
|---|---|---|---|---|
name |
String |
Classification Name |
Yes |
Must not be blank Size must be between 0 and 255 inclusive |
Response fields
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the classification |
name |
String |
Classification Name |
status |
String |
Classification status |
createdAt |
String |
Date and Time (UTC) when the classification was created |
updatedAt |
String |
Date and Time (UTC) when the classification was updated |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/classifications' -i -X POST \
-H 'Content-Type: application/json' \
-d '{
"name" : "FOREMAN"
}'
Response body
{
"uuid" : "bede55dc-bf25-4c50-8768-d20d22ef4897",
"name" : "FOREMAN",
"status" : "ACTIVE",
"updatedAt" : "2026-04-16T04:01:39Z",
"createdAt" : "2026-03-25T09:23:40Z"
}
Work Logs
List
A GET request will list the matching work logs.
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
projectUuid |
Return work logs for this project. This could also be a child project identifier |
Yes |
|
fromDate |
Return work logs starting on this date. The date is capped to a month to toDate. Provide either |
No |
Format: "yyyy-MM-dd" |
toDate |
Return work logs ending on this date. The date is capped to a month from fromDate. |
No |
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 |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Filters results to include only entities that were updated before the specified time (exclusive) |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
statuses |
Return work logs with this status. Default to COMPLETED |
No |
Enums: COMPLETED, CREATED |
Entity response fields
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the work log |
date |
String |
Date of the work log |
status |
String |
Work log status |
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 |
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 |
updatedAt |
String |
Date and Time (UTC) when the work log was updated |
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 |
timeCards[].updatedAt |
String |
Date and Time (UTC) when this time card was updated |
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 |
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 |
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" : "76e38ca7-6442-46f1-b664-33830f86bde3",
"totalHours" : 8.0,
"date" : "2020-10-15",
"timeCards" : [ {
"uuid" : "ae639e8c-b0ad-4aab-ba6d-1355582def8d",
"workerUuid" : "f9dcfbe1-9c35-430d-931a-d3be224cc7f4",
"totalHours" : 8.0,
"startTime" : "05:00:00",
"endTime" : "17:00:00",
"attachments" : [ {
"uuid" : "4ebcfb37-74df-413f-a0c4-d4d723cd81cd",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "laudantium.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 86934
} ],
"timeEntries" : [ {
"hours" : 8.0,
"payType" : {
"uuid" : "2999f228-a853-47a0-b9e3-f93517d122d3",
"name" : "Regular Time",
"code" : "RT"
},
"shift" : {
"uuid" : "e5ac80ea-de6b-42d1-a3d2-1d5721fed54b",
"name" : "Night Shift",
"code" : "NS"
},
"classification" : {
"uuid" : "7823267e-063d-4579-be9b-c3b381543866",
"name" : "Apprentice"
},
"costCode" : {
"uuid" : "52851b53-218b-4699-8d3e-f89ec3cfbcc6",
"code" : "C1",
"division" : "D1"
}
} ],
"note" : "Payroll Note",
"createdAt" : "2020-10-16T12:00:00Z",
"updatedAt" : "2020-10-16T12:30:00Z",
"createdBy" : {
"uuid" : "90a4c188-eeec-459e-a2dd-ab778dbb6032",
"name" : "Lorri Mayer"
},
"updatedBy" : {
"uuid" : "d1103e20-0b06-4eac-9c9c-5db7a1e46ac0",
"name" : "Colin Mayer"
},
"breaks" : [ {
"name" : "Meal Break",
"duration" : 30.0,
"startTime" : "10:00:00"
} ]
} ],
"status" : "COMPLETED",
"description" : "Description",
"projectUuid" : "bf2d6a19-0db8-47c1-a51b-7f01437f7c30",
"attachments" : [ {
"uuid" : "ba6c5408-dcf4-44dc-a6a2-7e2aa419a24e",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "saepe.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 37173
} ],
"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 | Required | Constraints |
|---|---|---|---|
projectUuids |
UUID of the projects to retrieve equipment deployments for |
No |
|
equipmentUuids |
UUID of the equipment to retrieve equipment deployments for |
No |
|
statuses |
List of statuses to filter equipment logs on |
No |
|
fromDate |
Return equipment deployments starting on, or after, this date |
No |
Format: "yyyy-MM-dd" |
toDate |
Return equipment deployments ending on, or before, this date |
No |
Format: "yyyy-MM-dd" |
query |
Retrieve equipment deployments that has a match for the provided query string |
No |
|
changedSince |
Return only equipment deployments updated at or after this time, inclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only equipment deployments updated before this time, exclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
fromCreatedAt |
Return only equipment deployments created at or after this time, inclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
toCreatedAt |
Return only equipment deployments created before this time, exclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the equipment deployment |
startDate |
String |
Date on which the equipment deployment started |
endDate |
String |
Date on which the equipment deployment ended |
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 |
updatedBy |
String |
Unique identifier for the user who updated the equipment log |
updatedAt |
String |
Date and Time (UTC) when the equipment deployement was updated |
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 |
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 |
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 |
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 |
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 |
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 |
String |
Date and Time (UTC) when this cost code was created |
costCode.updatedAt |
String |
Date and Time (UTC) when this cost code was updated |
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 |
String |
Date and Time (UTC) when this cost code was created |
logs[].costCode.updatedAt |
String |
Date and Time (UTC) when this cost code was updated |
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" : "88c89b6e-e603-4782-bf1a-4cd4f4cbf3ad",
"createdAt" : "2026-04-28T01:45:55.813652738Z",
"updatedBy" : "17a216c0-ca4e-4d7d-9557-5a292fb63258",
"updatedAt" : "2026-04-28T01:45:55.813652138Z",
"uuid" : "75d65148-0723-4d16-8c29-20973306e394",
"equipment" : {
"uuid" : "090272d2-316b-43c5-95e8-dc2dd447da6d",
"name" : "Compactor",
"equipmentId" : "EQ-1"
},
"projectUuid" : "3008d441-e6d7-4ba3-80a0-e05ddd1d5f12",
"startDate" : "2020-10-10",
"endDate" : "2020-10-13",
"logs" : [ {
"createdBy" : "5f144faf-a7d2-459c-96ec-797dca9e2bbf",
"createdAt" : "2026-04-28T01:45:55.813640590Z",
"updatedBy" : "e1ee7944-f273-4da2-b7e6-d1afb760325a",
"updatedAt" : "2026-04-28T01:45:55.813631909Z",
"uuid" : "71e438fd-17ab-43c5-9c5c-46ca4875fb4d",
"description" : "Delivered @ 8am",
"date" : "2020-10-11",
"hours" : 3.0,
"idleHours" : 1.0,
"status" : "IN_USE",
"attachments" : [ {
"uuid" : "dc23def1-8426-4959-b87f-2582ddadb1cf",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "unde.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 26637
} ],
"operator" : "79d2d550-7911-418f-8b00-11ade0fa6f72",
"odometerReading" : 45.0,
"fuelConsumption" : 10.0,
"costCode" : {
"uuid" : "fd3630df-1597-493b-a713-965b36adf4a9",
"code" : "code",
"division" : "division",
"description" : "description",
"createdAt" : "2026-04-28T01:45:55.813540101Z",
"updatedAt" : "2026-04-28T01:45:55.813541387Z"
},
"equipmentDeficiencies" : [ {
"faultCode" : "101",
"description" : "Fault description"
} ]
} ],
"costCode" : {
"uuid" : "15390ae3-7f91-46dd-8d58-f2a3e43a82af",
"code" : "code",
"division" : "division",
"description" : "description",
"createdAt" : "2026-04-28T01:45:55.813674060Z",
"updatedAt" : "2026-04-28T01:45:55.813674614Z"
},
"daysOnsite" : 10,
"daysNotInUse" : 5
} ]
}
Equipment
List
A GET request will list the matching equipment.
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
conditions |
List of equipment conditions to filter on |
No |
Enums: AVAILABLE, UNDER_MAINTENANCE, DEPLOYED, RETURNED_RETIRED |
deployedToProjectUuids |
UUIDs to filter equipment deployed projects on |
No |
|
query |
Retrieve equipment that has a match for the provided query string |
No |
Entity response fields
| Field | 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 |
equipmentId |
String |
External ID for the equipment |
owned |
Boolean |
Flag indicating whether the equipment is owned or rentedBoolean 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 |
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 |
odometerReading |
Number |
Current odometer reading for the equipment |
fuelGaugeType |
String |
Fuel gauge measurement unit type for the equipment |
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 |
deficiencyCount |
Number |
Number of deficiencies for the equipment with the status OPEN |
nextAvailableDate |
String |
Date on which the equipment will next be available |
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 |
deployment.endDate |
String |
End date for this equipment deployment |
createdBy |
String |
Unique identifier for the user who created the equipment |
createdAt |
String |
Date and Time (UTC) when the equipment was created |
updatedBy |
String |
Unique identifier for the user who updated the equipment log |
updatedAt |
String |
Date and Time (UTC) when the equipment deployement was updated |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/equipment?conditions=AVAILABLE,DEPLOYED&deployedToProjectUuids=f3c91f50-8c20-483c-a3ac-cbd851969595&query=query&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/equipment?conditions=AVAILABLE,DEPLOYED&deployedToProjectUuids=f3c91f50-8c20-483c-a3ac-cbd851969595&query=query&offset=0&limit=5",
"next" : "/equipment?conditions=AVAILABLE,DEPLOYED&deployedToProjectUuids=f3c91f50-8c20-483c-a3ac-cbd851969595&query=query&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"createdBy" : "1e3b62a6-539a-4a86-9f3c-7c5ffd68218e",
"createdAt" : "2026-04-28T01:45:55.132738211Z",
"updatedBy" : "47581d70-9c2e-4b37-b548-73c4e633f9b2",
"updatedAt" : "2026-04-28T01:45:55.132742763Z",
"uuid" : "e8dcaf9b-f1c1-4e4e-a73c-0934d2abfb54",
"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" : "2026-04-28",
"deficiencyCount" : 2,
"nextAvailableDate" : "2026-05-08",
"nextMaintenance" : "2024-10-12",
"deployment" : {
"uuid" : "df563071-e8e2-4207-ad59-b37d1f7a9d79",
"projectUuid" : "1a321a44-c9c8-4b5d-a411-ac068be06938",
"startDate" : "2026-04-28",
"endDate" : "2026-05-08"
}
} ]
}
Checklist Types
List
A GET request will list all the checklist types on your Raken account.
The maximum value of the limit parameter for this endpoint is 100.
|
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
classes |
Return only checklist types with these classes |
No |
Enums: COMMISSIONING, EQUIPMENT, QUALITY, ENVIRONMENTAL, SAFETY, GENERAL |
statuses |
Return only checklist types with this statuses |
No |
Enums: ACTIVE, DELETED |
Entity response fields
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the checklist type |
createdAt |
String |
Date and Time (UTC) when the checklist type was created |
status |
String |
Status of the checklist type |
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 |
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" : "1eb3ac07-18a2-4b17-b73b-4bd75565e7f2",
"createdAt" : "2026-04-28T01:45:48.945534046Z",
"status" : "ACTIVE",
"createdBy" : {
"uuid" : "df5e0120-74c6-42e4-9229-4675c39d643a",
"name" : "User Name"
},
"updatedAt" : "2026-04-28T01:45:48.945561451Z",
"class" : "GENERAL",
"name" : "Hazard Mitigation"
}, {
"uuid" : "59dfe71b-b460-4b7b-a5f9-617a7610cf37",
"createdAt" : "2026-04-28T01:45:48.945595080Z",
"status" : "ACTIVE",
"createdBy" : {
"uuid" : "6ef6d3e5-1c57-448d-9c0b-1fae52b8ea28",
"name" : "User Name"
},
"updatedAt" : "2026-04-28T01:45:48.945620676Z",
"class" : "GENERAL",
"name" : "Hazard Mitigation"
}, {
"uuid" : "8325aa77-7766-4b74-b303-cc58887ddb23",
"createdAt" : "2026-04-28T01:45:48.945646742Z",
"status" : "ACTIVE",
"createdBy" : {
"uuid" : "2012c6f9-6fc4-4774-9821-eb1217f9d2bc",
"name" : "User Name"
},
"updatedAt" : "2026-04-28T01:45:48.945672864Z",
"class" : "GENERAL",
"name" : "Hazard Mitigation"
}, {
"uuid" : "b7f80d86-423f-49f4-975f-c2b651d3cc92",
"createdAt" : "2026-04-28T01:45:48.945682099Z",
"status" : "ACTIVE",
"createdBy" : {
"uuid" : "564d1d54-6699-449a-a71c-473166b710d8",
"name" : "User Name"
},
"updatedAt" : "2026-04-28T01:45:48.945707194Z",
"class" : "GENERAL",
"name" : "Hazard Mitigation"
}, {
"uuid" : "d19fe7a0-379a-4d6b-bb9e-f6b23c59da38",
"createdAt" : "2026-04-28T01:45:48.945732791Z",
"status" : "ACTIVE",
"createdBy" : {
"uuid" : "55353b32-500c-4ecf-9199-8853252c4543",
"name" : "User Name"
},
"updatedAt" : "2026-04-28T01:45:48.945758386Z",
"class" : "GENERAL",
"name" : "Hazard Mitigation"
} ]
}
Checklists
List
A GET request will list all the checklists on your Raken account.
The maximum value of the limit parameter for this endpoint is 100.
|
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
projectUuid |
Return only checklists for the project |
No |
|
statuses |
Return only checklists with these statuses |
No |
Enums: COMPLETED, DRAFT, DELETED |
createdByUuid |
Return only checklists created by a user identified by the unique identifier |
No |
|
templateUuid |
Return only checklists created from a template identified by the unique identifier |
No |
|
fromCreatedAt |
Return only checklists created at or after this time, inclusive |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
toCreatedAt |
Return only checklists created before this time, exclusive |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
checklistDateFrom |
Return only checklists with the checklist date at or after this time, inclusive |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
checklistDateTo |
Return only checklists with the checklist date at or before this time, inclusive |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
checklistTypeUuid |
Return only checklists with a checklist type identified by the unique identifier |
No |
Entity response fields
| Field | 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 |
updatedAt |
String |
Date and Time (UTC) when the checklist was updated |
status |
String |
Status of the checklist |
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=a952a89b-f1b6-4a61-bcaf-d354454990be&templateUuid=241543d0-96ad-4fea-9a19-cce9bb373037&createdByUuid=fc86b897-493f-4836-9962-988db0d850f1&fromCreatedAt=2026-04-27T01:45:50Z&toCreatedAt=2026-04-28T01:45:50Z&checklistTypeUuid=ff2d68c9-ed22-4547-9ad0-ecf12021d426&statuses=COMPLETED&statuses=DRAFT&checklistDateFrom=2026-04-27T01:45:50Z&checklistDateTo=2026-04-28T01:45:50Z&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/checklists?projectUuid=a952a89b-f1b6-4a61-bcaf-d354454990be&templateUuid=241543d0-96ad-4fea-9a19-cce9bb373037&createdByUuid=fc86b897-493f-4836-9962-988db0d850f1&fromCreatedAt=2026-04-27T01:45:50Z&toCreatedAt=2026-04-28T01:45:50Z&checklistTypeUuid=ff2d68c9-ed22-4547-9ad0-ecf12021d426&statuses=COMPLETED&statuses=DRAFT&checklistDateFrom=2026-04-27T01:45:50Z&checklistDateTo=2026-04-28T01:45:50Z&offset=0&limit=5",
"next" : "/checklists?projectUuid=a952a89b-f1b6-4a61-bcaf-d354454990be&templateUuid=241543d0-96ad-4fea-9a19-cce9bb373037&createdByUuid=fc86b897-493f-4836-9962-988db0d850f1&fromCreatedAt=2026-04-27T01:45:50Z&toCreatedAt=2026-04-28T01:45:50Z&checklistTypeUuid=ff2d68c9-ed22-4547-9ad0-ecf12021d426&statuses=COMPLETED&statuses=DRAFT&checklistDateFrom=2026-04-27T01:45:50Z&checklistDateTo=2026-04-28T01:45:50Z&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "0132fd1d-fd16-4fcf-bcd8-9d3636947fe6",
"templateUuid" : "06100e24-5006-4af2-9c46-fb1e6eb3749e",
"name" : "Activity Risk Assessment",
"status" : "COMPLETED",
"projectUuid" : "0eb23904-1f39-4fa0-8dc4-0c1254600fbb",
"pdfUrl" : "https://www.theo-dickinson.org/alias/dolorumiusto",
"createdBy" : {
"uuid" : "53fdc218-dbb0-4a7e-9814-c03f57c57203",
"name" : "Gerald Pacocha"
},
"createdAt" : "2024-12-31T03:00:03Z",
"updatedAt" : "2026-01-08T19:27:16Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Hong Plain"
},
"checklistTypeUuid" : "55dda30a-02ac-43ef-81e3-5e03bf001efb",
"observationsClosedCount" : 4,
"observationsRaisedCount" : 1,
"responsibleClassificationUuid" : "61070765-8a92-4d49-b5fd-4687cb7fb740",
"checklistDate" : "2026-04-28T01:45:50.167659676"
}, {
"uuid" : "075161e9-9e7e-4beb-b0c6-ba1c06a2ccda",
"templateUuid" : "bd5db198-7a17-49a6-ba52-e9e6ac6f6f23",
"name" : "Construction Quality Control",
"status" : "DRAFT",
"projectUuid" : "375d7534-061d-44c8-88cc-295fa098e228",
"pdfUrl" : "http://www.myles-bashirian.net/saepe?molestias=similique&libero=fugiat",
"createdBy" : {
"uuid" : "4fa8202b-0714-4c3a-b6e5-913b90c185df",
"name" : "Carlie Bruen DDS"
},
"createdAt" : "2026-01-31T13:36:21Z",
"updatedAt" : "2026-03-06T14:55:07Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Frami Island"
},
"checklistTypeUuid" : "70188d61-c44e-4c09-9c56-bb8cb0edf00b",
"observationsClosedCount" : 1,
"observationsRaisedCount" : 4,
"responsibleClassificationUuid" : "5db559d1-c4de-4040-bc62-5cdae33f84b8",
"checklistDate" : "2026-04-28T01:45:50.170387062"
}, {
"uuid" : "884d89b7-011d-4daa-a81e-260fefa654c8",
"templateUuid" : "4b75e212-310b-42c3-be07-0a55b85e897f",
"name" : "Covid-19 Inspection",
"status" : "COMPLETED",
"projectUuid" : "efc9e00f-29f9-40ed-936c-7f94fa0be242",
"pdfUrl" : "https://www.vernie-ratke.info/non/rerum#enim",
"createdBy" : {
"uuid" : "08e65032-28da-4b5d-a20f-7f16c73c93f2",
"name" : "Graig Bogisich"
},
"createdAt" : "2025-04-20T03:44:01Z",
"updatedAt" : "2025-07-21T09:18:09Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Stanford Meadow"
},
"checklistTypeUuid" : "8998e002-a834-49dc-9c33-8c294567ab95",
"observationsClosedCount" : 1,
"observationsRaisedCount" : 3,
"responsibleClassificationUuid" : "1db7fb76-17fc-444a-acb6-5d29137fc37e",
"checklistDate" : "2026-04-28T01:45:50.173082303"
}, {
"uuid" : "75395ea0-ce0d-4885-85d4-5685dd230819",
"templateUuid" : "59a3d5c1-fc9d-4348-bc61-af2bc0259ae4",
"name" : "Framing Pre-Inspection",
"status" : "COMPLETED",
"projectUuid" : "332cb8ad-abc6-422e-a5e1-b4a6b0d01472",
"pdfUrl" : "https://www.augusta-damore.biz/nisi/reiciendissoluta",
"createdBy" : {
"uuid" : "e22fa599-9755-47c4-bda4-a2f796d42862",
"name" : "Dorthey Grady"
},
"createdAt" : "2024-03-04T22:36:00Z",
"updatedAt" : "2024-07-18T10:39:09Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Julius Spring"
},
"checklistTypeUuid" : "b31f1bc6-fee9-42ac-bf6f-d278550961c5",
"observationsClosedCount" : 4,
"observationsRaisedCount" : 2,
"responsibleClassificationUuid" : "5777ad34-79ab-4be9-a5f1-4ab08fbe7ea2",
"checklistDate" : "2026-04-28T01:45:50.174984309"
}, {
"uuid" : "ae796568-04be-467e-ab43-6abc55b3981c",
"templateUuid" : "21368511-6b50-4bd5-8408-e2089f1c0072",
"name" : "Material Delivery",
"status" : "COMPLETED",
"projectUuid" : "359ef360-6f34-4994-a188-ca0082cf431b",
"pdfUrl" : "https://www.berry-buckridge.co/quas/voluptate#eos",
"createdBy" : {
"uuid" : "279a3eed-8024-4961-98a2-bc7e54491a60",
"name" : "Brittani Moen"
},
"createdAt" : "2026-04-08T16:03:37Z",
"updatedAt" : "2026-04-26T20:59:58Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Boyce Shoal"
},
"checklistTypeUuid" : "08149491-9718-471d-bbb9-21f93f3d03f5",
"observationsClosedCount" : 5,
"observationsRaisedCount" : 1,
"responsibleClassificationUuid" : "8a358724-a957-4a88-9cf7-1924a5667b9c",
"checklistDate" : "2026-04-28T01:45:50.176281359"
} ]
}
Get
A GET request will get a checklist by UUID on your Raken account.
Response fields
| Field | 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 |
updatedAt |
String |
Date and Time (UTC) when the checklist was updated |
status |
String |
Status of the checklist |
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 |
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 |
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 |
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 |
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/f7b287c9-bcab-45d6-8691-796b99a83173' -i -X GET
Response body
{
"uuid" : "f7b287c9-bcab-45d6-8691-796b99a83173",
"templateUuid" : "5e0a073b-073e-4d36-93db-6da1885f7247",
"name" : "Construction Quality Control",
"status" : "DRAFT",
"projectUuid" : "c6c2dce1-67a3-4fc5-bbc2-fcf697b70bea",
"pdfUrl" : "https://www.earnestine-zemlak.name:30610/odio/exercitationemquos?quibusdam=alias&minus=commodi#placeat",
"createdBy" : {
"uuid" : "e4350b41-7028-4f31-8d3c-79eabf21d481",
"name" : "Houston Homenick"
},
"createdAt" : "2025-10-21T10:13:52Z",
"updatedAt" : "2026-01-29T10:42:55Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Scarlett Crossroad"
},
"checklistTypeUuid" : "db7481c9-141d-42ff-91ba-b873103f3107",
"observationsClosedCount" : 3,
"observationsRaisedCount" : 4,
"responsibleClassificationUuid" : "5261ef7b-49f8-4b84-b061-dd713d14ca25",
"checklistDate" : "2026-04-28T01:45:50.025659135",
"checklistSections" : [ {
"checklistQuestions" : [ {
"checklistResponses" : [ {
"value" : "Neque quo dignissimos corporis sed necessitatibus id.",
"note" : "Corrupti ad magni earum sunt. Officiis corporis aliquid porro facere accusamus dicta. Perspiciatis voluptatum corrupti neque.",
"checklistResponseAttachments" : [ {
"uuid" : "32f156ff-de91-440c-b962-438f198ae750",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "iusto.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 51791
} ],
"choices" : [ {
"description" : "Choice 2",
"position" : 2,
"selected" : false
}, {
"description" : "Choice 1",
"position" : 1,
"selected" : true
} ],
"observations" : [ {
"uuid" : "b7f7c420-7284-4a6b-8459-9a185c3ff7bf",
"category" : "NEGATIVE"
} ]
} ],
"questionText" : "Do edges that people could fall from have suitable edge protection?",
"responseType" : "CHECKBOX",
"position" : 2,
"required" : false
}, {
"checklistResponses" : [ {
"value" : "Iure delectus possimus eos.",
"note" : "Ratione laborum eveniet esse suscipit. Odit tempora doloribus deleniti.",
"checklistResponseAttachments" : [ {
"uuid" : "9c32da63-7c9e-4f1d-a01c-aff9fcdbac04",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "fugiat.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 51189
} ],
"choices" : [ {
"description" : "Choice 2",
"position" : 2,
"selected" : false
}, {
"description" : "Choice 1",
"position" : 1,
"selected" : true
} ],
"observations" : [ {
"uuid" : "9e36d12b-8f7e-4ae5-a889-d5079f6647af",
"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.
The maximum value of the limit parameter for this endpoint is 100.
|
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
statuses |
Return only checklist templates with given statuses. The default is ACTIVE |
No |
Enums: ACTIVE, DRAFT, DELETED |
checklistTypeUuids |
Return only checklist templates with the specified checklist type(s) by the unique identifier |
No |
Entity response fields
| Field | 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 |
updatedAt |
String |
Date and Time (UTC) when the checklist template was updated |
status |
String |
Status of the checklist template |
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=a9e422d3-ff99-4f5c-b293-a26391bcc64e&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/checklists/templates?statuses=ACTIVE&statuses=DRAFT&checklistTypeUuids=a9e422d3-ff99-4f5c-b293-a26391bcc64e&offset=0&limit=5",
"next" : "/checklists/templates?statuses=ACTIVE&statuses=DRAFT&checklistTypeUuids=a9e422d3-ff99-4f5c-b293-a26391bcc64e&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "cb8d8c0e-19f8-4cf2-8f58-aecaa6282132",
"name" : "Activity Risk Assessment",
"status" : "ACTIVE",
"createdAt" : "2026-04-14T21:14:16Z",
"updatedAt" : "2026-04-26T19:03:45Z",
"checklistType" : {
"uuid" : "0a248608-dbd4-4122-935b-4fb74586eaa9",
"class" : "QUALITY",
"name" : "Raken Quality Checklists"
}
}, {
"uuid" : "b3e18c2c-cf5e-4ae9-8a0f-46ebf5cfeb3c",
"name" : "Construction Quality Control",
"status" : "ACTIVE",
"createdAt" : "2024-07-10T07:11:54Z",
"updatedAt" : "2025-09-21T16:37:34Z",
"checklistType" : {
"uuid" : "04125792-9dbc-45c4-8d48-2305ec00b346",
"class" : "GENERAL",
"name" : "Raken General Checklists"
}
}, {
"uuid" : "d3a67f4c-fbbb-4a03-a172-ea1d8f75bc2a",
"name" : "Covid-19 Inspection",
"status" : "ACTIVE",
"createdAt" : "2026-02-22T17:28:20Z",
"updatedAt" : "2026-04-24T21:45:40Z",
"checklistType" : {
"uuid" : "42f3523e-a196-49a1-8190-a6fdd851d6d8",
"class" : "SAFETY",
"name" : "Raken Safety Checklists"
}
}, {
"uuid" : "5a362064-6f9c-464e-bec3-3b851526a98f",
"name" : "Framing Pre-Inspection",
"status" : "ACTIVE",
"createdAt" : "2025-12-23T05:16:07Z",
"updatedAt" : "2026-01-14T07:09:24Z",
"checklistType" : {
"uuid" : "225adfcc-1469-453d-94e9-da9ce262d5ac",
"class" : "EQUIPMENT",
"name" : "Raken Equipment Checklists"
}
}, {
"uuid" : "42f2327c-6be9-455d-9e5c-386c8eeec3eb",
"name" : "Material Delivery",
"status" : "ACTIVE",
"createdAt" : "2025-05-13T18:23:49Z",
"updatedAt" : "2025-10-24T10:04:14Z",
"checklistType" : {
"uuid" : "9d592c2c-d259-4a48-a0df-dcaf3e60369a",
"class" : "QUALITY",
"name" : "Raken Quality Checklists"
}
} ]
}
Materials
List
A GET request will list all the materials on your Raken account.
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
projectUuid |
If specified, return materials only for this project |
No |
Entity response fields
| Field | 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=a5227526-4916-49cb-844e-0043413c036b&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/materials?projectUuid=a5227526-4916-49cb-844e-0043413c036b&offset=0&limit=5",
"next" : "/materials?projectUuid=a5227526-4916-49cb-844e-0043413c036b&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "17d76851-128a-484c-a4e9-aa1f6140e17c",
"name" : "Cement",
"materialUnit" : {
"uuid" : "2dc68e41-cf3e-4110-bd8e-3bb2f68c982f",
"name" : "kg"
},
"projects" : [ {
"uuid" : "2acb2cf4-3ee6-4711-808b-9bd8d8139aae"
} ]
}, {
"uuid" : "e25874e7-9a49-43f6-ad8e-f696c5beeee5",
"name" : "Sand",
"materialUnit" : {
"uuid" : "660aa92a-aedb-4967-b651-9a437f4b46a7",
"name" : "kg"
},
"projects" : [ {
"uuid" : "2ae2a1c8-267c-42f1-9a87-dd2aba0552a2"
} ]
}, {
"uuid" : "e1ec7c63-3e7b-4ec6-889b-c8f21675af27",
"name" : "Steel",
"materialUnit" : {
"uuid" : "41e09b6a-d34c-4de1-be05-0e9bb8008344",
"name" : "kg"
},
"projects" : [ {
"uuid" : "63536939-207c-4a7e-8e66-56e8f9953b86"
} ]
}, {
"uuid" : "63dd5e56-be4a-4a69-8582-f3eb7fdfc0a9",
"name" : "Concrete",
"materialUnit" : {
"uuid" : "a8de26cf-bef9-4518-a0d9-4371a53ba018",
"name" : "kg"
},
"projects" : [ {
"uuid" : "e2beb496-c7b2-4cd9-8ad0-6768cb1d93e0"
} ]
}, {
"uuid" : "9c68d0f9-585a-4836-aaa6-f413db78b9ef",
"name" : "Bricks",
"materialUnit" : {
"uuid" : "eb67990e-28af-4d91-b15f-378d0445d492",
"name" : "kg"
},
"projects" : [ {
"uuid" : "3fb6cff5-52e4-45e0-9dc5-ba707380e516"
} ]
} ]
}
Create
A POST request will create a new material on your Raken account.
-
If
projectUuidis specified when creating a material, the material will be only available to the project. -
If
projectUuidis not specified when creating a material, the material will be available to use by any project on your Raken account.
Request fields
| Field | Type | Description | Required | Constraints |
|---|---|---|---|---|
name |
String |
Name of the material |
Yes |
Must not be blank Size must be between 0 and 255 inclusive |
materialUnitUuid |
String |
Unique identifier for the unit of the material |
Yes |
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. |
No |
Response fields
| Field | 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' \
-d '{
"materialUnitUuid" : "04f759a2-e9e9-4cde-8fb2-e7e4892870cd",
"name" : "Sand",
"projectUuid" : "ecd67f39-b116-4f94-91a5-53908cdc5b4b"
}'
Response body
{
"uuid" : "659b2587-a9bb-4ab8-9543-55fa1534e5a9",
"name" : "Sand",
"materialUnit" : {
"uuid" : "04f759a2-e9e9-4cde-8fb2-e7e4892870cd",
"name" : "kg"
},
"projects" : [ {
"uuid" : "ecd67f39-b116-4f94-91a5-53908cdc5b4b"
} ]
}
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
| Field | Type | Description | Required | Constraints |
|---|---|---|---|---|
name |
String |
Name of the material |
No |
Must not be blank Size must be between 0 and 255 inclusive |
materialUnitUuid |
String |
Unique identifier of the unit for the material |
No |
|
projectUuids |
Array |
List of unique identifiers for projects that the material is assigned to |
No |
Response fields
| Field | 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/35b70b3a-b806-4f29-9a7a-d24fcea8ea53' -i -X PATCH \
-H 'Content-Type: application/json' \
-d '{
"name" : "Steel"
}'
Response body
{
"uuid" : "35b70b3a-b806-4f29-9a7a-d24fcea8ea53",
"name" : "Steel",
"materialUnit" : {
"uuid" : "0d6c2f39-4e3e-4eb9-9abf-68f47bef2b33",
"name" : "kg"
},
"projects" : [ {
"uuid" : "a8117882-5492-4eb4-82b0-5c0e532433d5"
} ]
}
Material Units
List
A GET request will list all the material units on your Raken account
Entity response fields
| Field | 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" : "287bae7f-145b-498a-98a3-6f7c0af81b68",
"name" : "m"
}, {
"uuid" : "2462c7c0-2d97-440d-b41e-656596adc15b",
"name" : "inch"
}, {
"uuid" : "4cd5d775-91bf-43d2-b74a-655f36fdd314",
"name" : "gallon"
}, {
"uuid" : "edd6be39-5970-4ebb-a9f0-b1cbba756c80",
"name" : "m²"
}, {
"uuid" : "4720bbff-e4d6-4466-b8d3-ac9dd424dadc",
"name" : "ea"
} ]
}
Create
A POST request will create a new material unit.
Request fields
| Field | Type | Description | Required | Constraints |
|---|---|---|---|---|
name |
String |
Name of the unit |
Yes |
Must not be blank Size must be between 0 and 255 inclusive |
Response fields
| Field | 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' \
-d '{
"name" : "inch"
}'
Response body
{
"uuid" : "2eb2a2b8-3613-4f03-bab7-d6b01d1aff80",
"name" : "inch"
}
Material Logs
List
A GET request will list the matching material logs.
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
projectUuid |
Return material logs for this project |
Yes |
|
fromDate |
Return material logs starting on this date |
No |
Format: "yyyy-MM-dd" |
toDate |
Return material logs ending on this date |
No |
Format: "yyyy-MM-dd" |
changedSince |
Return only material logs updated at or after this time, inclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only material logs updated before this time, exclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the material log |
date |
String |
Date of this log |
updatedAt |
String |
Date and Time (UTC) when the material log was updated |
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 |
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" : "c8f160bc-d9c5-4dd1-b06c-1a753c08992c",
"material" : {
"uuid" : "f27efe73-526a-45cd-b4ff-ce44493e89fd",
"name" : "Concrete",
"materialUnit" : {
"uuid" : "21b191a9-b085-49d7-8266-e8b28fa34963",
"name" : "Cubic Ft"
}
},
"costCode" : {
"description" : "Structural Concrete",
"uuid" : "2ddcd866-c7f8-49ff-ba70-cc34bcef2566",
"code" : "0110",
"division" : "division"
},
"attachments" : [ {
"uuid" : "1ad0addd-5e3b-4c75-a45c-f72b50aa3f71",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "nam.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 96275
} ],
"quantity" : 50.0,
"date" : "2020-10-10",
"updatedAt" : "2026-04-28T01:45:57.147071524Z"
} ]
}
Pay Types
List
A GET request will list all the pay types.
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
projectUuids |
Restrict the pay types to the projects represented by these UUIDs. (Parameter may be included multiple times) |
No |
Entity response fields
| Field | 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 | Required | Constraints |
|---|---|---|---|
projectUuid |
Restrict the budgets to the projects represented by this UUID. |
Yes |
Entity response fields
| Field | 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" : 78.64,
"costCode" : {
"uuid" : "5a94f30e-0b2b-431d-a0f2-e4322db55d8f"
},
"budgetedMaterials" : [ {
"quantity" : 97.0,
"material" : {
"uuid" : "612973a3-337f-409a-b518-78d8f643fc1e"
}
}, {
"quantity" : 4.0,
"material" : {
"uuid" : "68394005-bd4a-461e-b814-dafbf5e2d85b"
}
} ]
}, {
"budgetedHours" : 54.61,
"costCode" : {
"uuid" : "fdd08075-d0c8-4606-b624-2ddb16697991"
},
"budgetedMaterials" : [ {
"quantity" : 17.0,
"material" : {
"uuid" : "70aa92c9-9083-475e-8e7a-5da8d5f541fa"
}
}, {
"quantity" : 48.0,
"material" : {
"uuid" : "c3db2f8e-ebe2-4d37-8820-67ed2c9ef37b"
}
} ]
} ]
}
Daily Reports
List
A GET request will list all the daily reports on your Raken account.
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
projectUuid |
Return only daily reports for the project. |
Yes |
|
fromDate |
Return daily reports created on or after this date |
No |
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 |
No |
Format: "yyyy-MM-dd" |
statuses |
Return only daily reports with given statuses. The default is COMPLETED |
No |
Enums: COMPLETED, UNSIGNED, NO_WORK_DONE |
changedSince |
Return only daily reports updated at or after this time, inclusive. |
No |
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 |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the report |
status |
String |
Status of the report |
projectUuid |
String |
Unique identifier for the project that the report is in |
reportDate |
String |
Date of the report |
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 |
createdAt |
String |
Date and Time (UTC) when the report was created |
updatedAt |
String |
Date and Time (UTC) when the report was updated |
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=2da03f0a-cf2a-473b-9c03-a1712a8897d1&fromDate=2026-04-28&toDate=2026-05-18&statuses=UNSIGNED,COMPLETED&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/dailyReports?projectUuid=2da03f0a-cf2a-473b-9c03-a1712a8897d1&fromDate=2026-04-28&toDate=2026-05-18&statuses=UNSIGNED,COMPLETED&offset=0&limit=5",
"next" : "/dailyReports?projectUuid=2da03f0a-cf2a-473b-9c03-a1712a8897d1&fromDate=2026-04-28&toDate=2026-05-18&statuses=UNSIGNED,COMPLETED&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "aab30716-2120-4037-978a-b7ce89db6ed3",
"status" : "COMPLETED",
"reportDate" : "2025-07-28",
"projectUuid" : "8455947c-80f5-4a27-9000-d396e628f9d4",
"signedBy" : {
"uuid" : "7b68bfd8-2c4c-4451-9ed3-e575ab4501a8",
"name" : "Merlene Hayes"
},
"signedAt" : "2026-03-26T06:59:47Z",
"createdBy" : {
"uuid" : "530b0a83-6512-45f2-8fce-d78dc10aaf2f",
"name" : "Miss Jeff Reilly"
},
"createdAt" : "2025-07-28T07:13:05Z",
"updatedBy" : {
"uuid" : "6947fdef-e151-415f-8f8d-624cb5f36169",
"name" : "Shalon Orn"
},
"updatedAt" : "2026-02-07T06:22:19Z",
"reportLinks" : {
"daily" : "http://cdn.rakenapp.com/projects/reports/my-projects_2025-07-28_F66E3623.pdf",
"superDaily" : "http://cdn.rakenapp.com/projects/reports/superdaily/my-projects_2025-07-28_873AA16C.pdf"
}
}, {
"uuid" : "f94892ea-18ec-4105-aff6-b2feb2ec5eb4",
"status" : "COMPLETED",
"reportDate" : "2025-11-13",
"projectUuid" : "b846d0f5-6402-46f5-8374-c5ffdb4316a6",
"signedBy" : {
"uuid" : "28617b59-4277-467e-b442-ffedc27441b0",
"name" : "Ashleigh Rohan PhD"
},
"signedAt" : "2026-04-18T20:26:09Z",
"createdBy" : {
"uuid" : "2c84ea32-fbbd-4c7d-ad7e-84db86cab773",
"name" : "Rodney Boyle"
},
"createdAt" : "2025-11-13T16:01:02Z",
"updatedBy" : {
"uuid" : "cc772db7-faf2-4bea-a27b-762e88485e85",
"name" : "Alvaro Mraz IV"
},
"updatedAt" : "2025-12-30T01:45:38Z",
"reportLinks" : {
"daily" : "http://cdn.rakenapp.com/projects/reports/my-projects_2025-11-13_5D18C394.pdf",
"superDaily" : "http://cdn.rakenapp.com/projects/reports/superdaily/my-projects_2025-11-13_E7885F04.pdf"
}
}, {
"uuid" : "a353e778-5dcc-4b1d-8578-98dd6f59ca7a",
"status" : "COMPLETED",
"reportDate" : "2025-11-11",
"projectUuid" : "301e6db5-6334-40e0-a900-6f02193a9a15",
"signedBy" : {
"uuid" : "c918eda6-52a2-4a05-a979-cae6e6322659",
"name" : "Jared Kris"
},
"signedAt" : "2026-04-24T20:58:28Z",
"createdBy" : {
"uuid" : "10eac6e9-ae65-4ad8-a7ec-62beda199c38",
"name" : "Lennie Herman"
},
"createdAt" : "2025-11-11T17:41:15Z",
"updatedBy" : {
"uuid" : "bb358b64-9531-4463-a019-0fb7f9700458",
"name" : "Mr. Brinda Kunze"
},
"updatedAt" : "2025-12-18T01:33:49Z",
"reportLinks" : {
"daily" : "http://cdn.rakenapp.com/projects/reports/my-projects_2025-11-11_530197A2.pdf",
"superDaily" : "http://cdn.rakenapp.com/projects/reports/superdaily/my-projects_2025-11-11_B2D60454.pdf"
}
}, {
"uuid" : "5b99d723-7c02-4991-b29d-d7c066ca7874",
"status" : "NO_WORK_DONE",
"reportDate" : "2024-06-27",
"projectUuid" : "6c3e39aa-02d6-4fff-a34b-9b52637ca43f",
"createdBy" : {
"uuid" : "1624cd2e-3121-4fe1-8358-7b7dc0ebcbac",
"name" : "Miss Andrea Glover"
},
"createdAt" : "2024-06-27T10:56:07Z",
"updatedBy" : {
"uuid" : "934175d8-4a9c-4195-825c-6e51065d1032",
"name" : "Margarite Ernser PhD"
},
"updatedAt" : "2026-03-01T16:50:58Z",
"reportLinks" : {
"daily" : "http://cdn.rakenapp.com/projects/reports/my-projects_2024-06-27_83AD476F.pdf",
"superDaily" : "http://cdn.rakenapp.com/projects/reports/superdaily/my-projects_2024-06-27_9917AFFA.pdf"
}
}, {
"uuid" : "24de7550-60bf-4c96-8004-ffcdeaf8086f",
"status" : "COMPLETED",
"reportDate" : "2026-04-18",
"projectUuid" : "c596b26b-1f24-4584-b55c-7436ee253c77",
"signedBy" : {
"uuid" : "3d9329fe-9d90-407e-a413-90b4acedaf69",
"name" : "Jesus Heidenreich"
},
"signedAt" : "2026-04-27T04:12:55Z",
"createdBy" : {
"uuid" : "118698f0-4516-4456-9eca-6cf5d041014c",
"name" : "Andres Bernhard"
},
"createdAt" : "2026-04-18T11:01:26Z",
"updatedBy" : {
"uuid" : "8ddb682a-eadf-4af3-8f63-98fb85cb6ca7",
"name" : "Tory Collier"
},
"updatedAt" : "2026-04-25T09:34:30Z",
"reportLinks" : {
"daily" : "http://cdn.rakenapp.com/projects/reports/my-projects_2026-04-18_09EC6E70.pdf",
"superDaily" : "http://cdn.rakenapp.com/projects/reports/superdaily/my-projects_2026-04-18_F7A6B28C.pdf"
}
} ]
}
Toolbox Talks
List
A GET request will list all the toolbox talks on your Raken account.
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
statuses |
Return only toolbox talks with given statuses. The default is ACTIVE |
No |
Enums: ACTIVE, DELETED |
Entity response fields
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the talk |
name |
String |
Name of the talk |
status |
String |
Status of the talk |
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" : "03427ab3-8a56-4a61-a713-384246cab997",
"name" : "Eligendi repellat voluptatum aspernatur voluptate eligendi nulla.",
"status" : "ACTIVE",
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-B6CC575D.pdf"
}, {
"uuid" : "1d8cb6b0-3cfd-4745-b17c-34ac520c896c",
"name" : "Assumenda necessitatibus impedit mollitia nisi distinctio ut velit soluta ut.",
"status" : "DELETED",
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-414CF459.pdf"
}, {
"uuid" : "da3eaf2a-8978-4244-9caf-15ef163db873",
"name" : "Cum eos vitae magnam nisi reprehenderit fugiat corporis doloremque.",
"status" : "ACTIVE",
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-B2A751B4.pdf"
}, {
"uuid" : "0961234b-028b-473c-9c7b-d43c914ea906",
"name" : "Necessitatibus amet rerum officiis vel minima possimus aut accusamus architecto.",
"status" : "ACTIVE",
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-17F54921.pdf"
}, {
"uuid" : "3d304846-a8fb-4c49-914b-c414f290be55",
"name" : "Optio tempora suscipit totam a asperiores velit recusandae aliquam.",
"status" : "DELETED",
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-CD2D2F2A.pdf"
} ]
}
List Past Talks
A GET request will list all past toolbox talks on your Raken account.
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
projectUuid |
Return talks for this project |
No |
|
talkUuid |
Return the talk represented by this identifier |
No |
|
memberUuids |
Return talks attended by this members |
No |
|
fromCreatedAt |
Return talks created in this range, this is start range |
No |
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 |
No |
Format: "yyyy-MM-dd" |
Entity response fields
| Field | 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 |
status |
String |
Status of the talk |
talk.uuid |
String |
Unique identifier for the talk |
talk.name |
String |
Name of the talk |
type |
String |
Type of the talk |
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 |
updatedAt |
String |
Date and Time (UTC) when the project talk was updated |
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=ecb306d0-4071-4505-aa77-8ad968c1caf5&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/toolboxTalks/past?projectUuid=ecb306d0-4071-4505-aa77-8ad968c1caf5&offset=0&limit=5",
"next" : "/toolboxTalks/past?projectUuid=ecb306d0-4071-4505-aa77-8ad968c1caf5&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "ea23bbf2-e484-43c5-8297-46648d8e50e2",
"project" : {
"uuid" : "25bf75f9-d106-41ff-9375-51718729f5d6"
},
"scheduleDate" : "2026-04-30",
"createdAt" : "2026-04-28T01:46:03.333339795Z",
"updatedAt" : "2026-04-28T01:46:03.333382675Z",
"talk" : {
"uuid" : "c32160f3-f09f-474d-9d14-2c35d1be39cf",
"name" : "Vero cumque nulla voluptas magnam."
},
"status" : "MISSED",
"type" : "TAKEN_PHOTO",
"attendees" : [ {
"member" : {
"uuid" : "b0f654d2-d348-40c1-a749-9b53abdd42bb",
"name" : "Jeffery Boyle"
},
"signatureDate" : "2026-04-28T01:46:03.331583831"
} ],
"signaturePhotos" : [ {
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-A60AB994.pdf",
"thumbnailUrl" : "http://cdn.rakenapp.com/toolbox-talks-69C8561B.pdf"
} ],
"pdfUrl" : "http://cdn.rakenapp.com/toolbox-talks-FBD5334B.pdf",
"createdBy" : {
"uuid" : "9a79fec1-c60d-45df-a7df-d2129887c7f1"
},
"updatedBy" : {
"uuid" : "a27ce776-743a-4675-95d9-09f2adea2135"
}
}, {
"uuid" : "5c383f4c-a4f0-4295-a81b-487ff986dbe8",
"project" : {
"uuid" : "cf9ef6a6-1e38-4cdb-b5e4-246f2022aec4"
},
"scheduleDate" : "2026-04-30",
"createdAt" : "2026-04-28T01:46:03.333608132Z",
"updatedAt" : "2026-04-28T01:46:03.333612720Z",
"talk" : {
"uuid" : "cf7bd480-ebe6-462b-a47c-8c1fa10465d8",
"name" : "Earum cumque."
},
"status" : "MISSED",
"type" : "DIGITAL_SIGNATURES",
"attendees" : [ {
"member" : {
"uuid" : "0f8637d0-a68b-4238-bb33-f910c0d80443",
"name" : "Tyler Hettinger"
},
"signatureDate" : "2026-04-28T01:46:03.333564072"
} ],
"signaturePhotos" : [ {
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-21737C2F.pdf",
"thumbnailUrl" : "http://cdn.rakenapp.com/toolbox-talks-5CC40C71.pdf"
} ],
"pdfUrl" : "http://cdn.rakenapp.com/toolbox-talks-0ABE94E1.pdf",
"createdBy" : {
"uuid" : "1fcafb00-6ff8-48fb-8682-d8cd9d43ab57"
},
"updatedBy" : {
"uuid" : "49f6e183-033d-457f-b4ae-f55ba5142191"
}
}, {
"uuid" : "3f5a7f4c-6ab1-4fa1-8bd4-aab594af1120",
"project" : {
"uuid" : "01c39188-0e4a-4a21-bc60-0732b896be6b"
},
"scheduleDate" : "2026-04-30",
"createdAt" : "2026-04-28T01:46:03.333873392Z",
"updatedAt" : "2026-04-28T01:46:03.333878539Z",
"talk" : {
"uuid" : "e6042115-2806-4914-98cb-20a203a3d85d",
"name" : "Dignissimos sapiente ex nulla iste adipisci."
},
"status" : "MISSED",
"type" : "TAKEN_PHOTO",
"attendees" : [ {
"member" : {
"uuid" : "ecd61cc3-2f6b-4656-940a-8f072009e1b1",
"name" : "Sherita Kassulke"
},
"signatureDate" : "2026-04-28T01:46:03.333831544"
} ],
"signaturePhotos" : [ {
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-0464531A.pdf",
"thumbnailUrl" : "http://cdn.rakenapp.com/toolbox-talks-4BF5E7A6.pdf"
} ],
"pdfUrl" : "http://cdn.rakenapp.com/toolbox-talks-6E06E199.pdf",
"createdBy" : {
"uuid" : "85b24bb8-00a8-4f31-86cc-0e144967394f"
},
"updatedBy" : {
"uuid" : "6877a05d-6750-4179-a049-d4376ec7ad2b"
}
}, {
"uuid" : "751ba0bb-d814-47be-a53b-7b9120cd6c49",
"project" : {
"uuid" : "982567ab-6055-4b64-8a77-effff7b43c80"
},
"scheduleDate" : "2026-04-30",
"createdAt" : "2026-04-28T01:46:03.334001495Z",
"updatedAt" : "2026-04-28T01:46:03.334005731Z",
"talk" : {
"uuid" : "d2496b98-f7bb-433c-b7ac-2f840d9f2eea",
"name" : "Suscipit qui corporis minus."
},
"status" : "COMPLETED",
"type" : "DIGITAL_SIGNATURES",
"attendees" : [ {
"member" : {
"uuid" : "e6e06d77-2662-44a7-8158-f5788e753e8d",
"name" : "Rosario Langosh"
},
"signatureDate" : "2026-04-28T01:46:03.333976502"
} ],
"signaturePhotos" : [ {
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-03204738.pdf",
"thumbnailUrl" : "http://cdn.rakenapp.com/toolbox-talks-810136B9.pdf"
} ],
"pdfUrl" : "http://cdn.rakenapp.com/toolbox-talks-03459013.pdf",
"createdBy" : {
"uuid" : "ec310021-89e8-44d0-a908-f0151ed28368"
},
"updatedBy" : {
"uuid" : "432301f0-ee12-46b6-bdeb-0893c1c7c68a"
}
}, {
"uuid" : "c2be84fe-c97b-41b6-93cb-791222973615",
"project" : {
"uuid" : "3ce85759-ed7b-44d2-b0bf-371fa476b57f"
},
"scheduleDate" : "2026-04-30",
"createdAt" : "2026-04-28T01:46:03.334187894Z",
"updatedAt" : "2026-04-28T01:46:03.334192114Z",
"talk" : {
"uuid" : "61649a95-706a-4fbb-a969-f9f48f6d4197",
"name" : "Est hic."
},
"status" : "COMPLETED",
"type" : "TAKEN_PHOTO",
"attendees" : [ {
"member" : {
"uuid" : "3929f130-faa1-4f74-97ec-c64afe7f2256",
"name" : "Ceola Rodriguez"
},
"signatureDate" : "2026-04-28T01:46:03.334165034"
} ],
"signaturePhotos" : [ {
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-383D139F.pdf",
"thumbnailUrl" : "http://cdn.rakenapp.com/toolbox-talks-4301A0F2.pdf"
} ],
"pdfUrl" : "http://cdn.rakenapp.com/toolbox-talks-DA5E11AC.pdf",
"createdBy" : {
"uuid" : "331a21ee-fae9-4354-994d-53f29f57a50d"
},
"updatedBy" : {
"uuid" : "df4318dd-1b2a-4012-b610-f6839bd15855"
}
} ]
}
Shifts
List
A GET request will list all the shifts.
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
projectUuids |
Restrict the shifts to the projects represented by this UUID. |
No |
|
statuses |
Restrict the shifts to those with these statuses. Multiple statuses can be specified |
No |
Enums: ACTIVE, DELETED |
Entity response fields
| Field | 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 |
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" : "d226acfc-be93-45d4-a3cf-ba9695c23a91",
"name" : "Night Shift",
"code" : "NS",
"status" : "ACTIVE"
}, {
"uuid" : "286923e6-227e-4d86-901f-c023c0bb6d6c",
"name" : "Swing Shift",
"code" : "SS",
"status" : "ACTIVE"
} ]
}
Create
A POST request will create a new shift on your Raken account.
Request fields
| Field | Type | Description | Required | Constraints |
|---|---|---|---|---|
code |
String |
Code for the shift |
Yes |
Must not be blank Size must be between 0 and 5 inclusive |
name |
String |
Name for the shift |
Yes |
Size must be between 0 and 30 inclusive |
Response fields
| Field | 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 |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/shifts' -i -X POST \
-H 'Content-Type: application/json' \
-d '{
"code" : "NS",
"name" : "Night Shift"
}'
Response body
{
"uuid" : "d61c24bf-5d39-40ba-920b-5a553aa101c4",
"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
| Field | Type | Description | Required | Constraints |
|---|---|---|---|---|
code |
String |
Code for the shift |
No |
Must not be blank Size must be between 0 and 5 inclusive |
name |
String |
Name for the shift |
No |
Must not be blank Size must be between 0 and 30 inclusive |
Response fields
| Field | 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 |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/shifts/229255f2-6105-4f17-b6e3-c67fba10f669' -i -X PATCH \
-H 'Content-Type: application/json' \
-d '{
"code" : "NS",
"name" : "Night Shift"
}'
Response body
{
"uuid" : "229255f2-6105-4f17-b6e3-c67fba10f669",
"name" : "Night Shift",
"code" : "NS",
"status" : "ACTIVE"
}
Time Cards
List
A GET request will list all the time cards.
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
projectUuid |
Return time cards for this project |
No |
|
workerUuid |
Return time cards for this worker |
No |
|
fromDate |
Return time cards starting on this date. The date is capped to a month to toDate. |
No |
Format: "yyyy-MM-dd" |
toDate |
Return time cards ending on this date. The date is capped to a month from fromDate. |
No |
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. |
No |
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. |
No |
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. |
No |
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. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
createdAt |
Return time cards created on this date |
No |
Format: "yyyy-MM-dd" |
updatedAt |
Return time cards updated on this date |
No |
Format: "yyyy-MM-dd" |
Entity response fields
| Field | Type | Description |
|---|---|---|
uuid |
String |
Unique identifier for the time card |
date |
String |
Date of the time card |
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 |
updatedAt |
String |
Date and Time (UTC) when this time card was updated |
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 |
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" : "adce6809-b552-4766-93f7-02f070dcb69e",
"worker" : {
"uuid" : "9169fd06-0997-4673-b537-4d9d401b8922"
},
"totalHours" : 8.0,
"startTime" : "05:00:00",
"endTime" : "17:00:00",
"attachments" : [ {
"uuid" : "58db6049-868d-45ea-be06-48ac2d6d0383",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "iure.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 53480
} ],
"timeEntries" : [ {
"hours" : 8.0,
"payType" : {
"uuid" : "f14b3d0c-4f7e-4a13-b6cb-efc5a36652fd",
"name" : "Regular Time",
"code" : "RT"
},
"shift" : {
"uuid" : "5ef428c1-ceee-437e-ab39-07e1550af003",
"name" : "Night Shift",
"code" : "NS"
},
"classification" : {
"uuid" : "7de8ed24-e1bd-4172-a784-5f98ec9192f6",
"name" : "Apprentice"
},
"costCode" : {
"uuid" : "9be88b67-1975-4720-9d9d-f517ef5e46e4",
"code" : "C1",
"division" : "D1"
}
} ],
"note" : "Payroll Note",
"createdAt" : "2020-10-16T12:00:00Z",
"updatedAt" : "2020-10-16T12:30:00Z",
"createdBy" : {
"uuid" : "7246da31-61eb-4831-bd9a-751bbb126787",
"name" : "Siu Altenwerth"
},
"updatedBy" : {
"uuid" : "2ea11fe1-1f6e-40ba-8875-0d3320c1708d",
"name" : "Ching O'Reilly"
},
"breaks" : [ {
"name" : "Meal Break",
"duration" : 30.0,
"startTime" : "10:00:00"
} ],
"deletedAt" : "2020-10-18T12:00:00Z",
"project" : {
"uuid" : "1f83a8b8-c40b-4ac2-8426-0f2fd41430be"
},
"date" : "2020-10-15",
"approved" : false,
"signed" : {
"uuid" : "17623534-19c4-4cf1-be88-c3d3e2f60146"
}
} ]
}
Observations
List
A GET request will list all the observations on your Raken account.
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
projectUuid |
Return only observations for the project |
No |
|
statuses |
Return only observations with these statuses |
No |
Enums: PENDING_REVIEW, RECORD_ONLY, CLOSED, OPEN, REJECTED |
categories |
Return only observations with this category |
No |
Enums: POSITIVE, NEGATIVE |
types |
Return only observations with these types |
No |
|
priorities |
Return only observations with these priorities |
No |
Enums: HIGH, MEDIUM, LOW, CRITICAL |
fromCreatedAt |
Return only observations created at or after this time, inclusive |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
toCreatedAt |
Return only observations created before this time, exclusive |
No |
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 |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Filters results to include only entities that were updated before the specified time (exclusive) |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
| Field | 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 |
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 |
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=d502fad7-6c8f-401f-bb1b-59e4a12d330d&statuses=OPEN&statuses=REJECTED&priorities=MEDIUM&priorities=LOW&fromCreatedAt=2026-04-27T01:45:59Z&toCreatedAt=2026-04-28T01:45:59Z&categories=POSITIVE&categories=NEGATIVE&types=Mechanical&changedSince=2026-04-28T01:45:59Z&changedUntil=2026-04-28T01:46:59Z&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/observations?projectUuid=d502fad7-6c8f-401f-bb1b-59e4a12d330d&statuses=OPEN&statuses=REJECTED&priorities=MEDIUM&priorities=LOW&fromCreatedAt=2026-04-27T01:45:59Z&toCreatedAt=2026-04-28T01:45:59Z&categories=POSITIVE&categories=NEGATIVE&types=Mechanical&changedSince=2026-04-28T01:45:59Z&changedUntil=2026-04-28T01:46:59Z&offset=0&limit=5",
"next" : "/observations?projectUuid=d502fad7-6c8f-401f-bb1b-59e4a12d330d&statuses=OPEN&statuses=REJECTED&priorities=MEDIUM&priorities=LOW&fromCreatedAt=2026-04-27T01:45:59Z&toCreatedAt=2026-04-28T01:45:59Z&categories=POSITIVE&categories=NEGATIVE&types=Mechanical&changedSince=2026-04-28T01:45:59Z&changedUntil=2026-04-28T01:46:59Z&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "acca9052-75fb-42d6-ab29-2b92d1d2fe0d",
"assignees" : [ {
"company" : "Will-Schultz",
"name" : "Daryl Quitzon",
"dueAt" : "2026-05-01",
"correctiveAction" : "Velit reprehenderit incidunt.",
"status" : "OPEN"
}, {
"company" : "Sipes-Ullrich",
"name" : "Antonio Heller",
"dueAt" : "2026-05-03",
"correctiveAction" : "Quos facere laborum maxime.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "2671423d-f91c-4457-8e90-6cae54aaceda",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "voluptatem.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 88452
}, {
"uuid" : "45849dfb-68d8-4223-9bd1-46e97e79351d",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "minus.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 64531
} ],
"category" : "POSITIVE",
"createdAt" : "2026-04-25T03:22:15.856Z",
"createdBy" : {
"uuid" : "5f467c04-dd96-4486-a6ab-0e640bdaccb3",
"name" : "Carmon Dickinson"
},
"description" : "Nam incidunt odit ab. Nihil quam est amet.",
"location" : {
"fullPath" : "Facere consectetur culpa ducimus veniam in.",
"name" : "Expedita unde quas culpa sit id doloremque ut."
},
"observationDate" : "2026-04-28",
"priority" : "MEDIUM",
"projectUuid" : "4474bbd9-1390-4b0d-a944-d3a8b18f5907",
"referenceNumber" : "214-02-3896",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2026-04-22T07:41:09.714Z",
"updatedBy" : {
"uuid" : "c6d3278a-2fbc-4504-a9ca-5917c66f3d33",
"name" : "Mr. Russell Wehner"
}
}, {
"uuid" : "ad004ec1-1b22-4eaa-823d-e559637b76dc",
"assignees" : [ {
"company" : "Romaguera-Kutch",
"name" : "Mrs. Cristina Predovic",
"dueAt" : "2026-04-29",
"correctiveAction" : "Perspiciatis sed harum non. Laboriosam occaecati placeat quibusdam aliquam. Omnis vitae esse esse.",
"status" : "OPEN"
}, {
"company" : "O'Reilly LLC",
"name" : "Johnnie Beer",
"dueAt" : "2026-05-03",
"correctiveAction" : "Ipsum commodi asperiores voluptates. Quas ab aut sequi consequatur. Quidem ipsam temporibus doloremque.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "4ed6a08e-c75a-4a53-ae1e-5a0b98d0421d",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "voluptate.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 68376
}, {
"uuid" : "1c438fee-0a26-48b2-877c-19e5a274b34d",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "dignissimos.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 87852
} ],
"category" : "POSITIVE",
"createdAt" : "2026-04-26T15:30:13.129Z",
"createdBy" : {
"uuid" : "71863253-0fa0-42fc-a7fc-f5b0b371b272",
"name" : "Inell Hamill"
},
"description" : "Voluptas dicta tenetur at in commodi quis. Nesciunt laborum cupiditate similique nihil temporibus pariatur exercitationem. Libero cupiditate quibusdam.",
"location" : {
"fullPath" : "Voluptate officiis debitis tempore dolor rerum sint iste blanditiis.",
"name" : "Culpa esse eius eius vel nemo."
},
"observationDate" : "2026-04-28",
"priority" : "MEDIUM",
"projectUuid" : "88856204-3541-4bea-a6c6-0dc2fff65b9f",
"referenceNumber" : "453-47-2301",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2026-04-25T10:26:16.356Z",
"updatedBy" : {
"uuid" : "d141f968-060c-4b74-a079-c2d976c61157",
"name" : "Reggie Aufderhar"
}
}, {
"uuid" : "240f89af-f5cc-4e12-8401-4b07f050bd4b",
"assignees" : [ {
"company" : "Lemke, Murray and Nienow",
"name" : "Devin Walter DVM",
"dueAt" : "2026-05-04",
"correctiveAction" : "Provident quas accusantium repellat dicta. Corporis aperiam temporibus repellendus. Itaque facere sint perferendis ducimus odit debitis autem.",
"status" : "OPEN"
}, {
"company" : "Grant-Upton",
"name" : "Chantell Schultz I",
"dueAt" : "2026-04-29",
"correctiveAction" : "Repellendus eos ea quasi quasi recusandae. Dicta fugit doloremque eius.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "9bc733d7-6505-4a24-8f4c-9dc2d9b7a144",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "architecto.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 31243
}, {
"uuid" : "7bd3e1a5-6c6a-4ed9-b899-fca5db9f40d2",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "at.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 93360
} ],
"category" : "POSITIVE",
"createdAt" : "2026-04-26T00:41:49.459Z",
"createdBy" : {
"uuid" : "916c8995-3571-4ef8-9ec0-98828e726292",
"name" : "Toya Smith"
},
"description" : "Suscipit consequatur sequi doloremque exercitationem. Debitis modi laudantium alias ipsam iure vel enim. Eos harum minima porro temporibus harum cupiditate.",
"location" : {
"fullPath" : "Iste maiores magni quae repudiandae qui nulla aliquid ad.",
"name" : "Corrupti perferendis autem similique necessitatibus autem fugit."
},
"observationDate" : "2026-05-01",
"priority" : "MEDIUM",
"projectUuid" : "af331794-e573-4158-83b8-22b5bef9a01c",
"referenceNumber" : "193-71-4228",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2026-04-27T20:16:55.664Z",
"updatedBy" : {
"uuid" : "9b5ed481-68bc-481b-8536-ff3462a188e6",
"name" : "Florinda Kuvalis"
}
}, {
"uuid" : "3b33e06f-7487-45e9-80af-b8ceff94c1b2",
"assignees" : [ {
"company" : "Ondricka Inc",
"name" : "Ian McClure DVM",
"dueAt" : "2026-05-04",
"correctiveAction" : "Beatae eaque aspernatur neque ab nobis accusantium.",
"status" : "OPEN"
}, {
"company" : "Muller-Reichert",
"name" : "Ernie Schuppe",
"dueAt" : "2026-05-01",
"correctiveAction" : "Dolor laboriosam ipsam quae. Labore nisi saepe adipisci nesciunt velit sint. Libero amet culpa dolorem iste voluptatem.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "1f234a43-bf1b-404a-985e-cafc3e413e6c",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "porro.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 56265
}, {
"uuid" : "354eb0b7-f8c6-477d-adb5-46f9eec9c7db",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "corrupti.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 34105
} ],
"category" : "POSITIVE",
"createdAt" : "2026-04-22T01:35:42.567Z",
"createdBy" : {
"uuid" : "ce689bae-ea3f-4dec-82fe-d843b8c161bb",
"name" : "Lawrence Gulgowski"
},
"description" : "Quod quam nam.",
"location" : {
"fullPath" : "Excepturi dignissimos perferendis assumenda doloremque.",
"name" : "Culpa quam cum."
},
"observationDate" : "2026-05-05",
"priority" : "MEDIUM",
"projectUuid" : "ef51c8be-1531-4f63-a6f2-0c64d141e2e4",
"referenceNumber" : "423-07-9671",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2026-04-26T02:00:51.586Z",
"updatedBy" : {
"uuid" : "d6f153f0-8a4d-40e3-b748-a711df41b002",
"name" : "Mr. Lane Monahan"
}
}, {
"uuid" : "d6c3eb66-03d6-431f-ae78-c6bad1348bc5",
"assignees" : [ {
"company" : "Goodwin, VonRueden and Dicki",
"name" : "Daniell Powlowski",
"dueAt" : "2026-05-04",
"correctiveAction" : "Maxime ratione perferendis odio doloribus architecto sed.",
"status" : "OPEN"
}, {
"company" : "Weimann Group",
"name" : "Darlena Moore",
"dueAt" : "2026-05-02",
"correctiveAction" : "Commodi officia ad. Corporis autem voluptates quae. Facilis mollitia earum quis numquam nulla.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "29acd9ac-a750-4dde-b34e-21f57a4ace5a",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "quasi.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 32820
}, {
"uuid" : "caeed4b9-e0a3-4cce-ac6b-b2fbddb04155",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "tempora.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 22305
} ],
"category" : "POSITIVE",
"createdAt" : "2026-04-27T22:55:49.758Z",
"createdBy" : {
"uuid" : "7429c5fe-cc44-460e-a172-2b888294297f",
"name" : "Meagan Grimes"
},
"description" : "At recusandae rem dolorem nostrum modi voluptate eius.",
"location" : {
"fullPath" : "Sunt soluta porro numquam numquam ullam ducimus.",
"name" : "Iusto magnam tempore accusamus sapiente alias."
},
"observationDate" : "2026-04-29",
"priority" : "MEDIUM",
"projectUuid" : "ea6fc010-15a5-4eda-ac5c-82c799743fa0",
"referenceNumber" : "699-29-1292",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2026-04-26T21:13:34.749Z",
"updatedBy" : {
"uuid" : "9d08ae7a-d7c0-47b7-9fd7-dc5147217106",
"name" : "Shauna Hickle"
}
} ]
}
Get
A GET request will get an observation by UUID on your Raken account.
Response fields
| Field | 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 |
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 |
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/8839fe00-df63-4341-826a-7093e7dbb277' -i -X GET
Response body
{
"uuid" : "8839fe00-df63-4341-826a-7093e7dbb277",
"assignees" : [ {
"company" : "Torphy-Mueller",
"name" : "Keith Reichert DVM",
"dueAt" : "2026-05-01",
"correctiveAction" : "Soluta amet sapiente veniam nobis. Quidem rem voluptatem provident repellat cum nesciunt. Placeat nulla molestiae.",
"status" : "OPEN"
}, {
"company" : "Von Group",
"name" : "Mabel Grimes",
"dueAt" : "2026-04-29",
"correctiveAction" : "Ea pariatur corporis corrupti magnam aperiam dolorem commodi.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "d6a9914f-fbbb-4d8a-bdce-a988a3cc9d06",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "ex.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 24506
}, {
"uuid" : "17d848cf-cc39-43de-89d9-d3f871b34fcf",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "cum.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 27393
} ],
"category" : "POSITIVE",
"createdAt" : "2026-04-26T08:36:17.839Z",
"createdBy" : {
"uuid" : "0abca97e-c2e4-4061-8779-1572dab956be",
"name" : "Lynwood Grant"
},
"description" : "Iste modi distinctio impedit laboriosam explicabo hic eum.",
"location" : {
"fullPath" : "Illum laborum vitae sequi laborum amet.",
"name" : "Iste tempore quidem iure."
},
"observationDate" : "2026-05-04",
"priority" : "MEDIUM",
"projectUuid" : "1c58e693-1978-498e-863a-39448262da02",
"referenceNumber" : "057-12-2362",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2026-04-22T00:47:45.583Z",
"updatedBy" : {
"uuid" : "dad4ba68-0582-4329-9d73-19753ab53b75",
"name" : "Trina Block V"
}
}
Groups
List
A GET request will list all groups for your Raken account.
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
query |
Search for groups based on group name and class |
No |
|
classNames |
Return only groups with the specified group class names. Must be an exact match |
No |
|
changedSince |
Return only groups updated at or after this time, inclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only groups updated before this time, exclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
fromCreatedAt |
Return only groups created at or after this time, inclusive |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
toCreatedAt |
Return only groups created before this time, exclusive |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
| Field | 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 |
updatedAt |
String |
Date and Time (UTC) when the group was updated |
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
},
"collection" : [ {
"uuid" : "53bc5355-72cd-482d-a757-20cbea4ab071",
"createdBy" : {
"uuid" : "a86166b8-e9ef-4388-a538-daf8a2403187",
"name" : "pamila.hodkiewicz"
},
"updatedBy" : {
"uuid" : "560dd53a-8d85-487f-9379-a137bad26356",
"name" : "bruce.turcotte"
},
"createdAt" : "2026-04-28T01:45:56.622594439Z",
"updatedAt" : "2026-04-28T01:45:56.622594804Z",
"name" : "Emergency Department",
"projectUuids" : [ "b6307b8a-787c-48fd-9cfb-f65799a2af79", "1621444c-512e-4b7f-83bc-e013b0e5f11c", "79ccc47d-a4ac-464c-a7d5-7c4221da24cb" ],
"memberUuids" : [ "ecae5b15-5bf7-4c55-8976-7316c29097a1", "ff5fb10c-b727-4b96-9b1a-242a27e8a5aa" ],
"class" : "Departments"
} ]
}
Create
A POST request will create a new group on your Raken account.
Request fields
| Field | Type | Description | Required | Constraints |
|---|---|---|---|---|
name |
String |
Group name |
Yes |
Must not be blank Size must be between 0 and 255 inclusive |
class |
String |
Name of the class that the group belongs to |
Yes |
Response fields
| Field | 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 |
updatedAt |
String |
Date and Time (UTC) when the group was updated |
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' \
-d '{
"name" : "Emergency Department",
"class" : "Departments"
}'
Response body
{
"uuid" : "9b41fe1b-4575-4056-9a80-ba916ea8c720",
"createdBy" : {
"uuid" : "2128c8ac-7d79-416b-bbec-ec73e955b68b",
"name" : "rebekah.balistreri"
},
"updatedBy" : {
"uuid" : "efa31be3-91c0-47fb-b692-bf183dc42d92",
"name" : "carmella.ebert"
},
"createdAt" : "2026-04-28T01:45:56.579716698Z",
"updatedAt" : "2026-04-28T01:45:56.579719124Z",
"name" : "Emergency Department",
"class" : "Departments"
}
Update
A PATCH request will update a group on your Raken account.
Request fields
| Field | Type | Description | Required | Constraints |
|---|---|---|---|---|
name |
String |
Group name |
Yes |
Must not be blank Size must be between 0 and 255 inclusive |
class |
String |
Name of the class that the group belongs to |
Yes |
Response fields
| Field | 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 |
updatedAt |
String |
Date and Time (UTC) when the group was updated |
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/de631993-1642-4581-9939-61144569882a' -i -X PATCH \
-H 'Content-Type: application/json' \
-d '{
"name" : "Emergency Department",
"class" : "Departments"
}'
Response body
{
"uuid" : "e815084e-0e41-4237-ad04-8901991ca98b",
"createdBy" : {
"uuid" : "d15d81e2-84d2-40e6-8b5f-1c72006eefa6",
"name" : "bernard.mayert"
},
"updatedBy" : {
"uuid" : "f7e70ca5-82b5-4d03-8dcb-5735a1470dda",
"name" : "lin.renner"
},
"createdAt" : "2026-04-28T01:45:56.685014026Z",
"updatedAt" : "2026-04-28T01:45:56.685014556Z",
"name" : "Emergency Department",
"projectUuids" : [ "bcdbf1f0-9a11-42f3-a87a-eb9b2d1f756a", "6cd124c6-5286-4fb2-9649-187516e16cca", "5c45191b-cda8-45ae-890d-cc278072213a" ],
"memberUuids" : [ "a8b2ef0f-0158-44ee-9493-230deb4857f6", "0ee556b4-e3cb-46b4-86cc-c75d45bfcc65" ],
"class" : "Departments"
}
Certification Types
List
A GET request will list all certification types for your Raken account.
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
query |
Search term to match against name and description of certification types |
No |
|
changedSince |
Return only certification types updated at or after this time, inclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only certification types updated before this time, exclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
fromCreatedAt |
Return only certification types created at or after this time, inclusive |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
toCreatedAt |
Return only certification types created before this time, exclusive |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
| Field | 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" |
updatedAt |
String |
Date and Time (UTC) when the certification type was updatedFormat: "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
},
"collection" : [ {
"uuid" : "76acd4d5-8860-4a40-9ace-ca9a6c6a0f23",
"name" : "Schroeder LLC",
"description" : "Dicta unde veniam ad iste.",
"createdAt" : "2026-04-28T01:45:46.171953678Z",
"updatedAt" : "2026-04-28T01:45:46.171978881Z",
"createdBy" : {
"uuid" : "162be1a6-6a54-4212-b50e-5e83d922d339",
"name" : "Cletus Conn"
},
"updatedBy" : {
"uuid" : "65d4af9d-26f0-4cd2-9025-ae0ea19e3061",
"name" : "Roderick Zieme"
}
} ]
}
Certifications
List
A GET request will list all certifications for your Raken account.
Query parameters
| Parameter | Description | Required | Constraints |
|---|---|---|---|
query |
Search for certifications based on certification name and class |
No |
|
certificationTypeUuids |
Return only certifications with the specified certification types |
No |
|
changedSince |
Return only certifications updated at or after this time, inclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only certifications updated before this time, exclusive. |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
fromCreatedAt |
Return only certifications created at or after this time, inclusive |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
toCreatedAt |
Return only certifications created before this time, exclusive |
No |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
| Field | 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" |
updatedAt |
String |
Date and Time (UTC) when the certification was updatedFormat: "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=01d8c650-e839-4a8f-bcf1-11cbcccf214a,c82d74ea-dfbd-4ea5-b76e-4939179ad4fc&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
},
"collection" : [ {
"uuid" : "260089e3-9b63-4859-9204-d161bccf1f61",
"name" : "First Aid",
"certificationType" : {
"uuid" : "6424d8a5-8204-4721-afa5-2a4a8f2543da",
"name" : "Search and Rescue"
},
"createdAt" : "2026-04-28T01:45:47.892181995Z",
"updatedAt" : "2026-04-28T01:45:47.892183855Z",
"createdBy" : {
"uuid" : "1bb8442b-ffa6-48cc-9a8b-3a254c8f82bb",
"name" : "Mickie Jacobs"
},
"updatedBy" : {
"uuid" : "3c6831bd-c02d-429c-9f3b-4610022d26c1",
"name" : "Pilar Mills Jr."
}
} ]
}
Create
A POST request will create a new certification on your Raken account.
Request fields
| Field | Type | Description | Required | Constraints |
|---|---|---|---|---|
name |
String |
Certification name |
Yes |
Must not be blank Size must be between 0 and 255 inclusive |
certificationTypeUuid |
String |
Unique identifier of the certification type for the certification |
Yes |
Response fields
| Field | 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" |
updatedAt |
String |
Date and Time (UTC) when the certification was updatedFormat: "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' \
-d '{
"name" : "First Aid",
"certificationTypeUuid" : "9d9f4076-8615-4228-a993-eeb079ea9acd"
}'
Response body
{
"uuid" : "260089e3-9b63-4859-9204-d161bccf1f61",
"name" : "First Aid",
"certificationType" : {
"uuid" : "4db03d18-d9d2-4f54-90a6-597ccdfe2c0a",
"name" : "Search and Rescue"
},
"createdAt" : "2026-04-28T01:45:47.742063290Z",
"updatedAt" : "2026-04-28T01:45:47.742067410Z",
"createdBy" : {
"uuid" : "79406338-e643-42ba-9103-a3c295f7573d",
"name" : "Johnny Greenfelder V"
},
"updatedBy" : {
"uuid" : "0c78387d-faca-4d5b-bcc4-49e4dceab445",
"name" : "Tristan Thompson"
}
}
Update
A PATCH request will update a certification on your Raken account.
Request fields
| Field | Type | Description | Required | Constraints |
|---|---|---|---|---|
name |
String |
Certification name |
Yes |
Must not be blank Size must be between 0 and 255 inclusive |
certificationTypeUuid |
String |
Unique identifier of the certification type for the certification |
Yes |
|
certificationTypeName |
String |
Name of the certification type for the certification |
Yes |
Response fields
| Field | 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" |
updatedAt |
String |
Date and Time (UTC) when the certification was updatedFormat: "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/260089e3-9b63-4859-9204-d161bccf1f61' -i -X PATCH \
-H 'Content-Type: application/json' \
-d '{
"name" : "First Aid",
"certificationTypeUuid" : "1db7e502-b69e-4b64-b2d3-4f99dfa7d9f6",
"certificationTypeName" : "Search and Rescue"
}'
Response body
{
"uuid" : "260089e3-9b63-4859-9204-d161bccf1f61",
"name" : "First Aid",
"certificationType" : {
"uuid" : "37b97ffb-3b93-4577-ae0a-ffe5ba422186",
"name" : "Search and Rescue"
},
"createdAt" : "2026-04-28T01:45:48.019945972Z",
"updatedAt" : "2026-04-28T01:45:48.019947844Z",
"createdBy" : {
"uuid" : "a4f8cd92-8bc3-4e17-9bbf-07b39da96c8d",
"name" : "Phebe Ernser DVM"
},
"updatedBy" : {
"uuid" : "19be5ab7-7599-4ff9-ba3b-53dc153cb11f",
"name" : "Jenice Schaden"
}
}