Overview
Recent Updates
Click here for recent updates.
HTTP verbs
The Raken Public API tries to adhere as closely as possible to standard HTTP and REST conventions in its use of HTTP verbs.
Verb | Usage |
---|---|
|
Used to retrieve a resource or a list of resources |
|
Used to create a resource |
|
Used to update a resource. The value of |
HTTP status codes
The Raken Public API tries to adhere as closely as possible to standard HTTP and REST conventions in its use of HTTP status codes.
Status code | Usage |
---|---|
|
The request completed successfully |
|
Indicates the response was not modified from the previous execution (using ETag/If-None-Matches) |
|
The request was malformed. The response body will include an error providing further information |
|
The credentials provided to the request were not sufficient |
|
The requested resource did not exist |
|
The API rate or burst limits are exceeded |
|
The API quota is reached |
HTTP Parameters
The Raken Public API tries to adhere to single-value parameter and multi-valued parameters. When it is multi-valued, generally the parameter naming convention are plural. e.g. projectUuids or classificationUuids
Parameters | Usage |
---|---|
|
GET /workLogs?fromDate=2022-11-01&toDate=2022-12-01&projectUuid=5c0de6b3-c871-4987-962e-f214f958d241 |
|
GET /members?classificationUuids=d8d5e0b2-9232-424a-8fbf-ce689a06a0aa,b516b197-f5c6-4fd7-ac94-530c03b11c06 |
|
GET /members?classificationUuids=d8d5e0b2-9232-424a-8fbf-ce689a06a0aa&classificationUuids=b516b197-f5c6-4fd7-ac94-530c03b11c06 |
Authorization
The Raken Public API is protected by Access Token that can be obtained via an OAuth 2.0 Flow.
The following are Raken OAuth 2.0 Flow properties:
Property | Value |
---|---|
|
|
Authorization URL |
|
Token URL |
|
Redirect URI |
Validation NOT enforced currently in Raken |
Create an OAuth 2.0 App
Create your OAuth 2.0 app at https://app.rakenapp.com/developer/apps (you MUST log in as Account Administrator).
Take note of client_id and client_secret which will be used in later steps in the OAuth 2.0 Flow.
|
Initiate the OAuth 2.0 Flow
OAuth 2.0 Flow can be initiated by calling the Authorization URL with
-
response_type=code
-
client_id=<client_id>
-
redirect_uri=<redirect_uri>
For example:
https://app.rakenapp.com/oauth/authorize?response_type=code&client_id=<client_id>&redirect_uri=https://localhost:8080
As part of the OAuth 2.0 Flow, you will be asked to log in Raken in browser to authorize the access.
Once you have logged in, your application will receive a response, via redirect_uri
, which contains code
that can be used to request an access token.
This is the only step in the Authorization Code OAuth 2.0 Flow that requires a human-interaction. |
An example of response:
{
code: "wCGAk2"
}
Request an Access token
Once your application receives the code
, it can request an access token by calling the Token URL.
For example:
curl -X POST 'https://app.rakenapp.com/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=authorization_code' \
--data-urlencode 'code=<code>' \
--data-urlencode 'client_id=<client_id>' \
--data-urlencode 'client_secret=<client_secret>'
An example of response:
{
"access_token":"vbkNQb6vrsnZe/Sz2c...xbelSdHXCWHwr50pSLmdvn6o3THLjlWYoR3WKpohN3+VX4ubZ5XkNZ4",
"refresh_token":"8bdb2859-031b-4dae-9cbb-2d4b3bf096ca",
"scope":[
"api"
],
"token_type":"bearer",
"expires_in":36000
}
Notes:
|
Request a New Access token
curl -X POST 'https://app.rakenapp.com/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=refresh_token' \
--data-urlencode 'client_id=<client_id>' \
--data-urlencode 'client_secret=<client_secret>' \
--data-urlencode 'refresh_token=<refresh_token>'
An example of response:
{
"access_token":"WuB29cxca/jwrsO9jO...WsMTyYOj88AHP3zgpV3Qe+eMM7WodHzYlsnyvXGNRLAPTdO7dgbeI7i",
"refresh_token":"8bdb2859-031b-4dae-9cbb-2d4b3bf096ca",
"scope":[
"api"
],
"token_type":"bearer",
"expires_in":36000
}
Making an API call
Here is an example API call (using curl) utilizing an access token:
curl -X GET "https://developer.rakenapp.com/api/projects?limit=10&offset=0&statuses=ACTIVE" -H "Accept: application/json" -H "Authorization: Bearer <access_token>"
Request Headers
Name | Description |
---|---|
|
The Authorization Request Header. Format: "Bearer <access_token>". |
Response Headers
Name | Description |
---|---|
|
Identifier representing the response content (May be used for conditional requests) |
|
The Content-Type of the payload, e.g. |
Paging
Many of the requests accept parameters that indicate the paging constraints. This API uses an offset and limit approach to paging. Paged responses return their values within two objects. One describes the page that is being returned, and the other is the collection of items. If the offset is greater than the number of items within the system, a limit of '-1' will be returned.
Page Request
The Common page request parameters:
Parameter | Description | Optional | Constraints |
---|---|---|---|
changedSince |
Return only projects updated at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only projects updated before this time, exclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
offset |
The (zero-based) offset of the first item in the collection to return (Default: 0) |
true |
>= 0 |
limit |
The maximum number of entries to return (Default: 10) |
true |
Min: 1, Max: 1,000 |
Page Response
The Common Page object is described here:
Path | Type | Description |
---|---|---|
next |
String |
URI to request the next page, keeping the limit consistent |
previous |
String |
URI to request the previous page, keeping the limit consistent |
limit |
Number |
The limit used to generate the page Must be at least 1 Must be at most 1000 |
offset |
Number |
The offset value used to generate the page Must be at least 0 |
nextOffset |
String |
The offset of the next element |
totalElements |
Number |
The total number of elements matching the request |
API Rate Limiting
In order to respond quickly to your REST API calls, Raken has implemented overload protection for Public API via rate limiting.
If you are calling the API too frequently or have exceeded the quota available for your company, further API calls would be throttled and fail with HTTP status code 429. In a case where rate limiting occurs, you can retry after the end of the reporting period when API calls will be allowed again.
These limits are enforced on the Public API:
-
Rate limit restricts the maximum number of API requests a user can make per second. When exceeded, the API returns HTTP 429 (Too Many requests).
-
Burst limit restricts the maximum number of API requests a user can make concurrently. When exceeded, the API returns HTTP 429 (Too Many requests).
-
Quota restricts the maximum number of API requests a user can make per day. When exceeded, the API returns HTTP 429 (Limit Exceeded).
The limits are configured by Raken based on your subscription plan. Please contact your customer service manager for details.
Test with Postman
Import Raken Public API 3.0 Postman Collection
-
Make sure you have Postman installed on your system. If you haven’t already done so, you can download and install it from Postman’s official website.
-
Copy this link: Raken Public API 3.0 Postman Collection
-
Open Postman, click
Import
, and paste the link to import the collection.
Obtain Client Id and Secret
To use the Raken Public API, you need to obtain your client_id
and client_secret
. You can do this by following these steps:
-
Visit the Raken Developer Page at https://app.rakenapp.com/developer/apps.
-
Create a new app or use an existing one to obtain your
client_id
andclient_secret
from the App. -
Save the
client_id
andclient_secret
to two variables under theVariables
section on the Postman collection’s home page:-
api_client_id
-
api_client_secret
-
Get a New Access Token
-
Click
Get New Access Token
under theAuthorization
section on the Postman collection’s home page. This action initiates an OAuth2 flow. -
You will be redirected to a browser window where you will be prompted to log in using your Raken user credentials.
-
Once the OAuth2 flow is complete, an access token will be returned.
-
Click
Use Token
to save the token for making public API calls.
Make API Calls
With the access token in place, you can now select and make API calls from the collection. Please note that the payload for some API calls in the collection is for demonstration purposes only. For detailed API information, refer to the API documentation below.
Resources
Notes:
|
Users
Get User Info
A GET
request will return the info of the user who is making the API call.
Refer to OpenID Connect for more details about the standard.
Response fields
Path | Type | Description |
---|---|---|
sub |
String |
Subject Identifier (Unique identifier for the user) |
firstName |
String |
First Name for the user |
lastName |
String |
Last Name for the user |
String |
Email for the user |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/userInfo' -i -X GET
Response body
{
"sub" : "9b587a0a-cf0a-41e0-b1cf-ca1d26fd52b2",
"email" : "Will.Smith@rakenapp.com",
"firstName" : "Will",
"lastName" : "Smith"
}
Projects
List
A GET
request will list all the projects.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectStates |
(Deprecated) Use 'statuses' |
true |
Enums: ACTIVE, INACTIVE, DELETED |
statuses |
Restrict the projects to the projects with this status. Multiple statuses can be specified. |
true |
Enums: ACTIVE, INACTIVE, DELETED |
changedSince |
Return only projects updated at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only projects updated before this time, exclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the project |
name |
String |
Project Name |
number |
String |
Project Number |
startDate |
String |
Project Start Date Format: "yyyy-MM-dd" |
endDate |
String |
Project End Date Format: "yyyy-MM-dd" |
status |
String |
Status of project Enums: ACTIVE, INACTIVE, DELETED |
address.streetAddress1 |
String |
First line of the street address |
address.streetAddress2 |
String |
Second line of the street address |
address.city |
String |
City |
address.state |
String |
State |
address.country |
String |
Country |
address.postalCode |
String |
Postal Code |
externalId |
String |
Unique identifier for the project in an integrated external system |
createdAt |
String |
Date and Time (UTC) when the project was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the project was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects?statuses=ACTIVE&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/projects?statuses=ACTIVE&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&offset=0&limit=5",
"next" : "/projects?statuses=ACTIVE&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "4249b23e-e7d0-4559-a67b-ef57cef9d0fb",
"name" : "Carter and Sons",
"number" : "PRJ1",
"address" : {
"streetAddress1" : "03248 DuBuque Rue",
"streetAddress2" : "",
"city" : "Port Cortez",
"state" : "Minnesota",
"country" : "US",
"postalCode" : "80310-1864"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|764-26-4469",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"uuid" : "c8f4de11-0edd-4609-9356-7f413dbaf351",
"name" : "O'Connell-Streich",
"number" : "PRJ2",
"address" : {
"streetAddress1" : "98275 Fahey Ford",
"streetAddress2" : "",
"city" : "Kelvintown",
"state" : "Illinois",
"country" : "US",
"postalCode" : "24316"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|673-50-3741",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"uuid" : "b6e288a1-e99c-4ea0-b156-e63471332976",
"name" : "Ziemann, Dare and Boehm",
"number" : "PRJ3",
"address" : {
"streetAddress1" : "91930 Alesia Circle",
"streetAddress2" : "",
"city" : "West Clemente",
"state" : "Alabama",
"country" : "US",
"postalCode" : "54157-1282"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|480-16-0093",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"uuid" : "9574e5c3-9ba3-4215-a792-e5cafa959405",
"name" : "Price-Corwin",
"number" : "PRJ4",
"address" : {
"streetAddress1" : "9598 Paucek Forges",
"streetAddress2" : "",
"city" : "Rudyview",
"state" : "Wyoming",
"country" : "US",
"postalCode" : "61286"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|324-49-4507",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"uuid" : "cb8794f4-d24a-452c-971c-e14d86822395",
"name" : "Stanton, Fisher and Hamill",
"number" : "PRJ5",
"address" : {
"streetAddress1" : "839 Jolene Pine",
"streetAddress2" : "",
"city" : "Parkerbury",
"state" : "Minnesota",
"country" : "US",
"postalCode" : "04938"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|675-45-8134",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
} ]
}
Create
A POST
request will create a new project.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Project Name |
false |
Must not be blank |
number |
String |
Project Number |
true |
|
address |
Object |
Street address |
true |
|
address.streetAddress1 |
String |
First line of the street address |
true |
|
address.streetAddress2 |
String |
Second line of the street address |
true |
|
address.city |
String |
City |
true |
|
address.state |
String |
State |
true |
|
address.country |
String |
Country |
true |
|
address.postalCode |
String |
Postal Code |
true |
|
startDate |
String |
Project Start Date |
false |
Format: "yyyy-MM-dd" Must not be null |
endDate |
String |
Project End Date |
true |
Format: "yyyy-MM-dd" |
status |
String |
Status of project |
true |
Enums: ACTIVE, INACTIVE, DELETED |
externalId |
String |
Unique identifier for the project in an integrated external system |
true |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the project |
name |
String |
Project Name |
number |
String |
Project Number |
startDate |
String |
Project Start Date Format: "yyyy-MM-dd" |
endDate |
String |
Project End Date Format: "yyyy-MM-dd" |
status |
String |
Status of project Enums: ACTIVE, INACTIVE, DELETED |
address.streetAddress1 |
String |
First line of the street address |
address.streetAddress2 |
String |
Second line of the street address |
address.city |
String |
City |
address.state |
String |
State |
address.country |
String |
Country |
address.postalCode |
String |
Postal Code |
externalId |
String |
Unique identifier for the project in an integrated external system |
createdAt |
String |
Date and Time (UTC) when the project was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the project was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "Boyle-Carroll",
"number" : "PRJ103",
"address" : {
"streetAddress1" : "22753 Leon Greens",
"streetAddress2" : "",
"city" : "East Michell",
"state" : "Nevada",
"country" : "US",
"postalCode" : "60050"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|699-16-8130"
}'
Response body
{
"uuid" : "0f8682e7-e568-4023-a316-146afa898088",
"name" : "Boyle-Carroll",
"number" : "PRJ103",
"address" : {
"streetAddress1" : "22753 Leon Greens",
"streetAddress2" : "",
"city" : "East Michell",
"state" : "Nevada",
"country" : "US",
"postalCode" : "60050"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|699-16-8130",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}
Update
A PATCH
request will update a project.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Project Name |
true |
Must not be blank |
number |
String |
Project Number |
true |
|
address |
Object |
Street address |
true |
|
address.streetAddress1 |
String |
First line of the street address |
true |
|
address.streetAddress2 |
String |
Second line of the street address |
true |
|
address.city |
String |
City |
true |
|
address.state |
String |
State |
true |
|
address.country |
String |
Country |
true |
|
address.postalCode |
String |
Postal Code |
true |
|
startDate |
String |
Project Start Date |
true |
Format: "yyyy-MM-dd" |
endDate |
String |
Project End Date |
true |
Format: "yyyy-MM-dd" |
status |
String |
Status of project |
true |
Enums: ACTIVE, INACTIVE, DELETED |
externalId |
String |
Unique identifier for the project in an integrated external system |
true |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the project |
name |
String |
Project Name |
number |
String |
Project Number |
startDate |
String |
Project Start Date Format: "yyyy-MM-dd" |
endDate |
String |
Project End Date Format: "yyyy-MM-dd" |
status |
String |
Status of project Enums: ACTIVE, INACTIVE, DELETED |
address.streetAddress1 |
String |
First line of the street address |
address.streetAddress2 |
String |
Second line of the street address |
address.city |
String |
City |
address.state |
String |
State |
address.country |
String |
Country |
address.postalCode |
String |
Postal Code |
externalId |
String |
Unique identifier for the project in an integrated external system |
createdAt |
String |
Date and Time (UTC) when the project was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the project was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects/f8db64c6-d230-46ec-a29e-ef0e8c9a227d' -i -X PATCH \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "Dooley-Heathcote",
"number" : "PRJ202",
"address" : {
"streetAddress1" : "24962 Schumm Spurs",
"streetAddress2" : "",
"city" : "Volkmanview",
"state" : "Ohio",
"country" : "US",
"postalCode" : "43862-5075"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|789-71-3598"
}'
Response body
{
"uuid" : "f8db64c6-d230-46ec-a29e-ef0e8c9a227d",
"name" : "Dooley-Heathcote",
"number" : "PRJ202",
"address" : {
"streetAddress1" : "24962 Schumm Spurs",
"streetAddress2" : "",
"city" : "Volkmanview",
"state" : "Ohio",
"country" : "US",
"postalCode" : "43862-5075"
},
"status" : "ACTIVE",
"startDate" : "2020-01-01",
"endDate" : "2020-12-01",
"externalId" : "EXT|789-71-3598",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}
Get Child Projects
A GET
request will return all the child projects for a parent project.
Raken allows a customer to invite external users from other companies to work on a project on the customer’s Raken account. These external users are referred as collaborators
in Raken.
If a collaborator doesn’t have an existing Raken account, Raken will create a new account for the collaborator. Also, a new project will be created on the collaborator’s account, and the collaborator will become a team member on that project.
The original project where a collaborator is invited to is called a Parent
project, while the project created for the collaborator on the other Raken account is called a Child
project.
This API endpoint enables an API user to retrieve information about all child projects for a parent project. Calling this API on a child project will always get empty response.
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the project |
name |
String |
Project Name |
startDate |
String |
Project Start Date Format: "yyyy-MM-dd" |
endDate |
String |
Project End Date Format: "yyyy-MM-dd" |
status |
String |
Status of project Enums: ACTIVE, INACTIVE, DELETED |
company.uuid |
String |
Unique identifier for the company that owns the project |
company.name |
String |
Name of the company that owns the project |
createdBy.uuid |
String |
Unique identifier for the user who created the project |
createdBy.name |
String |
Name of the user who created the project |
updatedBy.uuid |
String |
Unique identifier for the user who last updated the project |
updatedBy.name |
String |
Name of the user who last updated the project |
createdAt |
String |
Date and Time (UTC) when the project was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the project was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects/1b708473-ede6-48ad-9f54-869b740c5537/childProjects' -i -X GET
Response body
{
"page" : {
"offset" : 0,
"limit" : 3,
"totalElements" : 3
},
"collection" : [ {
"createdAt" : "2022-07-17T22:47:03Z",
"updatedBy" : {
"name" : "Blanche Kirlin",
"uuid" : "1de95846-6d69-4f00-acef-56371ced02d2"
},
"endDate" : "2022-12-01",
"createdBy" : {
"name" : "Myrtice Cremin",
"uuid" : "00bd58ea-28be-4d5b-b348-90b649ea2173"
},
"name" : "Dolores fuga quis quisquam eum vitae amet atque et.",
"company" : {
"name" : "Monahan Inc",
"uuid" : "308130f2-c23c-4dc0-9c9a-f111b268c22d"
},
"uuid" : "5446b508-b520-4fb4-bb30-2f2f10f5b30a",
"startDate" : "2022-01-01",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"createdAt" : "2022-07-17T22:47:03Z",
"updatedBy" : {
"name" : "Isreal Heller",
"uuid" : "61910e68-ad17-4731-8d53-ba2fa1583e6d"
},
"endDate" : "2022-12-01",
"createdBy" : {
"name" : "Raphael McKenzie",
"uuid" : "54578aca-d4d4-432d-b3af-da5602fe5380"
},
"name" : "Odio sed quas sit qui quo libero illo dolores.",
"company" : {
"name" : "Schinner LLC",
"uuid" : "73ad4e14-c848-4efc-8033-25633c39e982"
},
"uuid" : "b3f91626-0aac-4e68-8adf-2d61eed270c7",
"startDate" : "2022-01-01",
"status" : "INACTIVE",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"createdAt" : "2022-07-17T22:47:03Z",
"updatedBy" : {
"name" : "Dr. Lilian Murphy",
"uuid" : "15c46920-f33b-4ec9-ac57-8077dd1d4a5d"
},
"endDate" : "2022-12-01",
"createdBy" : {
"name" : "Morris Rogahn",
"uuid" : "dd75c0f8-5ec6-4b14-bf5b-b4a7e57980e6"
},
"name" : "Rerum exercitationem enim quia consequatur laborum sed.",
"company" : {
"name" : "Gleichner Group",
"uuid" : "cab3f05e-9512-480a-9f78-f641e956a566"
},
"uuid" : "85449508-b377-4401-9bfe-93b87906a625",
"startDate" : "2022-01-01",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T20:41:27Z"
} ]
}
Get Project Notes
A GET
request will return all the project notes between a date range on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
fromDate |
Return notes created at or after this date |
false |
Format: "yyyy-MM-dd" |
toDate |
Return notes created at or before this date. The date range between fromDate and toDate must not exceed 31 days |
false |
Format: "yyyy-MM-dd" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the note |
description |
String |
Note description |
category |
String |
Note category Enums: NOTES, QUALITY, SAFETY |
date |
String |
Note date Format: "yyyy-MM-dd" |
attachments |
Array |
Note attachments |
attachments[].uuid |
String |
Unique identifier for this attachment |
attachments[].mediaType |
String |
Media type for this attachment Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
attachments[].url |
String |
URL for this attachment) |
attachments[].thumbnailUrl |
String |
Thumbnail URL for this attachment |
attachments[].contentType |
String |
Content type of the media, e.g., "image/jpeg" |
attachments[].description |
String |
Description of this attachment |
attachments[].fileName |
String |
File name of this attachment |
attachments[].fileSize |
Number |
Size of this attachment in bytes |
createdBy.uuid |
String |
Unique identifier for the user who created the note |
createdBy.name |
String |
Name of the user who created the note |
updatedBy.uuid |
String |
Unique identifier for the user who last updated the note |
updatedBy.name |
String |
Name of the user who last updated the note |
createdAt |
String |
Date and Time (UTC) when the note was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the note was last updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects/0870eb9b-2d86-471c-989f-faebedfebd84/notes?fromDate=2022-07-01&toDate=2022-07-31&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"next" : "/projects/0870eb9b-2d86-471c-989f-faebedfebd84/notes?offset=10&limit=5",
"offset" : 5,
"previous" : "/projects/0870eb9b-2d86-471c-989f-faebedfebd84/notes?offset=0&limit=5",
"limit" : 5,
"nextOffset" : "10",
"totalElements" : 15
},
"collection" : [ {
"date" : "2022-07-17",
"createdAt" : "2022-07-17T22:47:03Z",
"attachments" : [ {
"fileName" : "dolores.jpg",
"fileSize" : 45013,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "b3bacfea-3de1-4692-8c07-69aa4c0048f7",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
}, {
"fileName" : "provident.jpg",
"fileSize" : 39639,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "eab2bff5-7860-4ff1-88f0-7c8eb1090e83",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
} ],
"updatedBy" : {
"name" : "Donnell Lesch",
"uuid" : "aff1e30b-ff43-491b-854e-739037ef4ebd"
},
"createdBy" : {
"name" : "Kara Hudson",
"uuid" : "35f758c5-9e97-43e2-9511-83e4059162d7"
},
"description" : "A magnam iste quod et doloribus quis.",
"category" : "NOTES",
"uuid" : "61ac877d-e77c-4d25-ac38-a1ba96843ff0",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"date" : "2022-07-17",
"createdAt" : "2022-07-17T22:47:03Z",
"attachments" : [ {
"fileName" : "vitae.jpg",
"fileSize" : 90872,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "4c13cd68-659a-47b4-8535-d5f0771ed65d",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
}, {
"fileName" : "et.jpg",
"fileSize" : 77555,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "4557ac46-ca3c-44e2-929b-72a6633def94",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
} ],
"updatedBy" : {
"name" : "Marcus Ruecker Jr.",
"uuid" : "f8ab9e76-84a3-4d25-8a1b-34933196ddf2"
},
"createdBy" : {
"name" : "Salvatore Ernser DVM",
"uuid" : "66605b79-aafd-44c5-ba84-c8c256329ed7"
},
"description" : "Reprehenderit reprehenderit ex quo qui non deleniti rerum.",
"category" : "SAFETY",
"uuid" : "6364c4e6-cea1-4eea-a29d-9952032dbe2b",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"date" : "2022-07-17",
"createdAt" : "2022-07-17T22:47:03Z",
"attachments" : [ {
"fileName" : "odio.jpg",
"fileSize" : 21287,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "2d3535ea-b89d-47fa-91e6-9c0e527bcb4a",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
}, {
"fileName" : "consequatur.jpg",
"fileSize" : 38391,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "e55a46dd-7ec9-4773-8c19-b6d934aa1438",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
} ],
"updatedBy" : {
"name" : "Edward Bechtelar",
"uuid" : "e57064ae-a83d-4bfc-99de-3d956183ede6"
},
"createdBy" : {
"name" : "Stephane Franecki",
"uuid" : "98f9eebb-7fa4-4e85-8858-299666c71a4e"
},
"description" : "Magnam et sed mollitia tenetur nisi atque eos.",
"category" : "QUALITY",
"uuid" : "ecd980d7-da11-49fd-8488-67e1bf568d0d",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"date" : "2022-07-17",
"createdAt" : "2022-07-17T22:47:03Z",
"attachments" : [ {
"fileName" : "odio.jpg",
"fileSize" : 65659,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "9bbc246c-624f-4e33-9ad9-bbf85e877ce0",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
}, {
"fileName" : "voluptatem.jpg",
"fileSize" : 41647,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "e647c271-51f7-4cf0-86d5-4ac5c93f2517",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
} ],
"updatedBy" : {
"name" : "Angelia Nader",
"uuid" : "adb156c9-3f73-47d2-ba38-375171bc516b"
},
"createdBy" : {
"name" : "Mr. Jerrod Walter",
"uuid" : "d5b5cf34-0124-4058-9d51-269abf5402a9"
},
"description" : "Ut a quia provident ex facere officia.",
"category" : "NOTES",
"uuid" : "013b2a8e-795f-459e-a751-3e784a23e34e",
"updatedAt" : "2022-07-19T20:41:27Z"
}, {
"date" : "2022-07-17",
"createdAt" : "2022-07-17T22:47:03Z",
"attachments" : [ {
"fileName" : "omnis.jpg",
"fileSize" : 79146,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "11ec4c14-3871-45b6-89ff-8d7d66a417bc",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
}, {
"fileName" : "eos.jpg",
"fileSize" : 78760,
"description" : "Description",
"mediaType" : "IMAGE",
"uuid" : "35941e6d-d441-43fe-a687-3ddb254c3bfb",
"contentType" : "image/png",
"url" : "https://www.example.com/image",
"thumbnailUrl" : "https://www.example.com/thumbnailImage"
} ],
"updatedBy" : {
"name" : "Gregoria Keebler III",
"uuid" : "151763df-d1e8-4bb1-a67b-e23ac924c041"
},
"createdBy" : {
"name" : "Lai Johnston",
"uuid" : "5f66ca1e-5904-490b-be32-ea3eebfccd7b"
},
"description" : "Saepe deleniti magni aliquam.",
"category" : "NOTES",
"uuid" : "5b258ff3-0649-49a5-8db6-5cb06e8068b1",
"updatedAt" : "2022-07-19T20:41:27Z"
} ]
}
Get Project Members
A GET
request will return team members for a project on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
statuses |
Return only members with the given statuses. Multiple statuses can be specified. If not specified, only |
true |
Enums: ACTIVE, INVITED, INACTIVE, DELETED |
classificationUuids |
Return only members for the given classification |
true |
|
roles |
Return only members with the given roles. More than one role may be specified. |
true |
Enums: ROLE_WORKER, ROLE_USER, ROLE_ADMIN, ROLE_PROJECT_MEMBER |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the member |
firstName |
String |
First Name |
lastName |
String |
Last Name |
role |
String |
Role Enums: ROLE_WORKER, ROLE_USER, ROLE_ACCOUNT_ADMIN, ROLE_ADMIN, ROLE_PROJECT_MEMBER |
String |
||
phoneNumber |
String |
Phone Number |
username |
String |
User name (not applicable to ROLE_WORKER that cannot log in Raken |
title |
String |
Title |
employeeId |
String |
Employee Id (Unique if not empty) |
classificationUuid |
String |
Unique identifier of the classification for the member |
createdAt |
String |
Date and Time (UTC) when the member was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the member was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
lastLoginAt |
String |
Date and Time (UTC) when the member last logged in Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Member status Enums: ACTIVE, INVITED, INACTIVE, DELETED |
timeSettings |
Object |
Default times settings for the member |
timeSettings.blockTimeClock |
Boolean |
Flag that indicates whether or not this member may access the Time Clock feature. If true, they may not access the time clock. If true, they may not access the time clock Boolean value: true or false |
timeSettings.defaultCostCode |
String |
The unique identifier of this member’s default cost code |
timeSettings.defaultShift |
String |
The unique identifier of this member’s default shift |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects/05fa995d-1ca1-4776-a46d-b005df24f041/members?statuses=ACTIVE,DELETED,INACTIVE,INVITED&roles=ROLE_WORKER,ROLE_USER&classificationUuids=b05e16fe-5ee6-4dfc-9204-cc69ee32d9b3,48a5db3a-dc10-4639-ad4f-9c156591707c&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"next" : "/projects/05fa995d-1ca1-4776-a46d-b005df24f041/members?statuses=ACTIVE,DELETED,INACTIVE,INVITED&roles=ROLE_WORKER,ROLE_USER&classificationUuids=b05e16fe-5ee6-4dfc-9204-cc69ee32d9b3,48a5db3a-dc10-4639-ad4f-9c156591707c&offset=10&limit=5",
"offset" : 5,
"previous" : "/projects/05fa995d-1ca1-4776-a46d-b005df24f041/members?statuses=ACTIVE,DELETED,INACTIVE,INVITED&roles=ROLE_WORKER,ROLE_USER&classificationUuids=b05e16fe-5ee6-4dfc-9204-cc69ee32d9b3,48a5db3a-dc10-4639-ad4f-9c156591707c&offset=0&limit=5",
"limit" : 5,
"nextOffset" : "10",
"totalElements" : 15
},
"collection" : [ {
"lastName" : "Ebert",
"role" : "ROLE_USER",
"employeeId" : "EMP00001",
"classificationUuid" : "325f0180-c86f-4ff6-b8c9-b7d7e86e1314",
"title" : "Mr",
"uuid" : "28696168-8035-4b6d-89ef-b9893ea6f0b7",
"firstName" : "Beau",
"createdAt" : "2022-07-17T22:47:03Z",
"phoneNumber" : "428.258.2412 x6263",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"email" : "tyron.simonis@yahoo.com",
"timeSettings" : {
"defaultCostCode" : "e48e6c4c-82fb-4ccb-94c4-e3a4a4dfb947",
"defaultShift" : "e0c0aa4e-71a5-4394-9c99-a5460ff32f71",
"blockTimeClock" : true
},
"username" : "tyron.simonis@yahoo.com",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"lastName" : "Adams",
"role" : "ROLE_USER",
"employeeId" : "EMP00002",
"classificationUuid" : "e499a5e4-fc78-4619-8fc4-104212672570",
"title" : "Mrs",
"uuid" : "0c47d2b6-f69e-4036-81b3-e3f7d425db50",
"firstName" : "Herman",
"createdAt" : "2022-07-17T22:47:03Z",
"phoneNumber" : "1-935-409-8794",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"email" : "yevette.schaefer@yahoo.com",
"timeSettings" : {
"defaultCostCode" : "3d21fafc-897f-4c03-9267-8bd11e612ba1",
"defaultShift" : "e68aaf62-01a5-4a6d-987f-43b96624b925",
"blockTimeClock" : true
},
"username" : "yevette.schaefer@yahoo.com",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"lastName" : "Anderson",
"role" : "ROLE_USER",
"employeeId" : "EMP00003",
"classificationUuid" : "556909df-eb21-4f9f-81f8-7b2ed356489d",
"title" : "Mr",
"uuid" : "4d511972-0fd7-426e-b30a-a1b29c8adf26",
"firstName" : "Cyril",
"createdAt" : "2022-07-17T22:47:03Z",
"phoneNumber" : "573-891-1189",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"email" : "mariano.kemmer@yahoo.com",
"timeSettings" : {
"defaultCostCode" : "c7f2b051-64a2-414d-a809-e941e1874129",
"defaultShift" : "b666bc53-3001-4afb-b12d-ee367dbd3d3c",
"blockTimeClock" : true
},
"username" : "mariano.kemmer@yahoo.com",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"lastName" : "Ziemann",
"role" : "ROLE_USER",
"employeeId" : "EMP00004",
"classificationUuid" : "dc2099da-f483-4d34-bb4c-04ce9e31e0d0",
"title" : "Mrs",
"uuid" : "afca50ac-cc9f-4f37-b969-a94b280caa64",
"firstName" : "Ryann",
"createdAt" : "2022-07-17T22:47:03Z",
"phoneNumber" : "749-912-0051",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"email" : "rita.rodriguez@hotmail.com",
"timeSettings" : {
"defaultCostCode" : "55ae3472-5856-48fb-bb37-8dbc653ceb47",
"defaultShift" : "eb64a473-2959-43e4-9941-c302910a182c",
"blockTimeClock" : true
},
"username" : "rita.rodriguez@hotmail.com",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"lastName" : "Cole",
"role" : "ROLE_USER",
"employeeId" : "EMP00005",
"classificationUuid" : "83caaf7b-ad77-4e32-b0ca-ff18b244e7da",
"title" : "Mr",
"uuid" : "519afbbc-fcf9-4a21-b542-855a41443778",
"firstName" : "Dierdre",
"createdAt" : "2022-07-17T22:47:03Z",
"phoneNumber" : "041.710.9744",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"email" : "alpha.will@gmail.com",
"timeSettings" : {
"defaultCostCode" : "13bfddbc-d976-4a4c-af5a-8150826b3ac3",
"defaultShift" : "e982ba3e-a75d-4e15-97ca-9ed9ee0c7583",
"blockTimeClock" : true
},
"username" : "alpha.will@gmail.com",
"status" : "ACTIVE",
"updatedAt" : "2022-07-19T22:41:27Z"
} ]
}
Get Production Insights for a Project
A GET
request will return production insights for a project between a date range on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
fromDate |
Return production insights at or after this date. Defaults to the project start date if not provided |
true |
Format: "yyyy-MM-dd" |
toDate |
Return production insights at or before this date. Defaults to today’s date if not provided |
true |
Format: "yyyy-MM-dd" |
manualTracking |
Return projected totals data based on manual percent complete entries. If using automatic tracking based on materials installed, set to FALSE. Defaults to FALSE if not provided |
true |
Boolean value: true or false |
costCodeUuid |
Return production insights for specific cost code uuid |
true |
|
costCodeDivision |
Return production insights for specific cost code division |
true |
Entity response fields
Path | Type | Description |
---|---|---|
division |
String |
Cost Code division name |
budgetedHours |
Number |
Budgeted hours set for the Division |
actualHours |
Number |
Actual hours completed for the Division |
completeHoursPercent |
Number |
Complete percentage of budgeted hours for the Division (actualHours/budgetedHours) |
remainingHours |
Number |
Hours remaining in the division budget (budgetedHours - actualHours) |
completeQuantityPercent |
Number |
Percentage of material completed for the Division |
projectedTotalHours |
Number |
Projected total hours for the Division |
projectedHoursGainOrLoss |
Number |
Projected gain or lost of hours for the Division (budgetedHours - projectedTotalHours) |
costCodes |
Array |
Production insights by Cost Code in the Division |
costCodes[].actualHours |
Number |
Actual hours worked under the Cost Code |
costCodes[].actualQuantity |
Number |
Actual material quantity completed under the Cost Code |
costCodes[].projectedTotalHours |
Number |
Projected total hours on the Cost Code |
costCodes[].projectedHoursGainOrLoss |
Number |
Projected gain or lost of hours on the Cost Code (budgetedHours - projectedTotalHours) |
costCodes[].budgetedHours |
Number |
Budgeted hours set for the Cost Code |
costCodes[].budgetedQuantity |
Number |
Budgeted material quantity set for the Cost Code |
costCodes[].completeHoursPercent |
Number |
Complete percentage of budgeted hours for the Cost Code (actualHours/budgetedHours) |
costCodes[].progressHoursPercent |
Number |
Manual estimate of task completion percentage for the Cost Code entered by user |
costCodes[].remainingHours |
Number |
Remaining hours left in the budgeted hours for the Cost Code (budgetedHours - actualHours) |
costCodes[].costCode |
Object |
Details of the Cost Code |
costCodes[].costCode.uuid |
String |
Unique identifier for the Cost Code |
costCodes[].costCode.code |
String |
Code for the Cost Code |
costCodes[].costCode.division |
String |
Division for the Cost Code |
costCodes[].costCode.description |
String |
Description of the Cost Code |
costCodes[].materialStats |
Array |
Statistics of material consumption on the Cost Code |
costCodes[].materialStats[].budgetedQuantity |
Number |
Budgeted quantity of the Material |
costCodes[].materialStats[].actualQuantity |
Number |
Actual quantity installed for the Material |
costCodes[].materialStats[].completeQuantityPercent |
Number |
Percentage of actual quantity installed vs budgeted quantity of the Material (actualQuantity / budgetedQuantity) |
costCodes[].materialStats[].material |
Object |
Details of the Material |
costCodes[].materialStats[].material.uuid |
String |
Unique identifier of the Material |
costCodes[].materialStats[].material.name |
String |
Name of the Material |
costCodes[].materialStats[].material.materialUnit |
Object |
Material unit |
costCodes[].materialStats[].material.materialUnit.uuid |
String |
Unique identifier of the material unit |
costCodes[].materialStats[].material.materialUnit.name |
String |
Name of the material unit |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/projects/3d59664c-e96c-4396-ae6d-552f3c78369d/productionInsights?fromDate=2022-07-01&toDate=2022-07-31&manualTracking=true&costCodeUuid=27efb8be-a950-42a3-9135-a17489e8be4c&costCodeDivision=division&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"next" : "/projects/3d59664c-e96c-4396-ae6d-552f3c78369d/notes?offset=10&limit=5",
"offset" : 5,
"previous" : "/projects/3d59664c-e96c-4396-ae6d-552f3c78369d/notes?offset=0&limit=5",
"limit" : 5,
"nextOffset" : "10",
"totalElements" : 15
},
"collection" : [ {
"division" : "01",
"completeQuantityPercent" : 0.05,
"budgetedHours" : 32.88,
"costCodes" : [ {
"materialStats" : [ {
"completeQuantityPercent" : 0.93,
"material" : {
"name" : "Sand",
"uuid" : "e924fb16-1f59-4bea-8b84-eb28ab756949",
"materialUnit" : {
"name" : "inch",
"uuid" : "b92b9799-89e3-44c1-b4b1-4fc37023a020"
}
},
"actualQuantity" : 815.65,
"budgetedQuantity" : 875.7
}, {
"completeQuantityPercent" : 0.97,
"material" : {
"name" : "Sand",
"uuid" : "c06d19fa-608e-462c-bebd-2c8775b2afda",
"materialUnit" : {
"name" : "inch",
"uuid" : "e21449b1-b94e-4c2f-b569-2209017e7faf"
}
},
"actualQuantity" : 480.72,
"budgetedQuantity" : 492.02
} ],
"costCode" : {
"division" : "01",
"code" : "81-29636",
"description" : "Nihil doloribus et non.",
"uuid" : "a2bdbd50-7107-448d-b84d-259de9c3087d"
},
"budgetedHours" : 668.99,
"actualQuantity" : 76.76,
"remainingHours" : -182.14,
"budgetedQuantity" : 81.99,
"projectedHoursGainOrLoss" : 582.97,
"projectedTotalHours" : 1251.97,
"actualHours" : 851.12,
"completeHoursPercent" : 1.27,
"progressHoursPercent" : 0.4
} ],
"remainingHours" : 31.21,
"projectedHoursGainOrLoss" : 16.83,
"projectedTotalHours" : 49.72,
"actualHours" : 1.67,
"completeHoursPercent" : 0.05
}, {
"division" : "02",
"completeQuantityPercent" : 0.59,
"budgetedHours" : 134.96,
"costCodes" : [ {
"materialStats" : [ {
"completeQuantityPercent" : 0.8,
"material" : {
"name" : "Sand",
"uuid" : "fcaa9615-d7fa-4f6b-9b30-36be4d25a7e0",
"materialUnit" : {
"name" : "inch",
"uuid" : "42312fc6-88f2-4faf-913a-74fae3dd31d7"
}
},
"actualQuantity" : 661.11,
"budgetedQuantity" : 822.81
}, {
"completeQuantityPercent" : 0.89,
"material" : {
"name" : "Sand",
"uuid" : "ef4e5f5e-75be-4f4a-bff5-5e465d316bb1",
"materialUnit" : {
"name" : "inch",
"uuid" : "3e1b1d54-b128-42be-b772-580e8a61198a"
}
},
"actualQuantity" : 290.04,
"budgetedQuantity" : 325.66
} ],
"costCode" : {
"division" : "02",
"code" : "66-70370",
"description" : "Et nesciunt voluptas iusto.",
"uuid" : "f96d4cec-80d8-40c7-bd29-1005ca37cc57"
},
"budgetedHours" : 843.39,
"actualQuantity" : 87.19,
"remainingHours" : -126.05,
"budgetedQuantity" : 98.76,
"projectedHoursGainOrLoss" : 241.19,
"projectedTotalHours" : 1084.59,
"actualHours" : 969.44,
"completeHoursPercent" : 1.14,
"progressHoursPercent" : 0.53
}, {
"materialStats" : [ {
"completeQuantityPercent" : 0.4,
"material" : {
"name" : "Sand",
"uuid" : "ad52b3f5-5d7f-41e3-9a93-35ffb8b666dc",
"materialUnit" : {
"name" : "inch",
"uuid" : "e3f22519-8407-4021-af61-4b60a9ed972d"
}
},
"actualQuantity" : 359.96,
"budgetedQuantity" : 888.13
}, {
"completeQuantityPercent" : 1.36,
"material" : {
"name" : "Sand",
"uuid" : "3988c0eb-5b29-4a9e-88d1-5e1edc6df568",
"materialUnit" : {
"name" : "inch",
"uuid" : "c9f1cc05-2682-4ad4-be66-31efefc5d1e6"
}
},
"actualQuantity" : 575.2,
"budgetedQuantity" : 420.82
} ],
"costCode" : {
"division" : "02",
"code" : "61-60114",
"description" : "Voluptas aut.",
"uuid" : "81f3cf2b-a14f-4ebc-96c5-46161c16c47f"
},
"budgetedHours" : 756.81,
"actualQuantity" : 89.26,
"remainingHours" : -288.98,
"budgetedQuantity" : 20.35,
"projectedHoursGainOrLoss" : 554.28,
"projectedTotalHours" : 1311.1,
"actualHours" : 1045.79,
"completeHoursPercent" : 1.38,
"progressHoursPercent" : 0.53
} ],
"remainingHours" : 55.16,
"projectedHoursGainOrLoss" : 39.33,
"projectedTotalHours" : 174.29,
"actualHours" : 79.79,
"completeHoursPercent" : 0.59
}, {
"division" : "03",
"completeQuantityPercent" : 0.82,
"budgetedHours" : 840.17,
"costCodes" : [ {
"materialStats" : [ {
"completeQuantityPercent" : 0.66,
"material" : {
"name" : "Sand",
"uuid" : "ea3e54a7-f8bb-42a8-a968-9533a34808dc",
"materialUnit" : {
"name" : "inch",
"uuid" : "9d1a5e7b-f9d3-48d3-b908-310ae820fae3"
}
},
"actualQuantity" : 390.22,
"budgetedQuantity" : 583.02
}, {
"completeQuantityPercent" : 0.18,
"material" : {
"name" : "Sand",
"uuid" : "379d7858-5b93-4ea1-b26e-3a2cd16ab292",
"materialUnit" : {
"name" : "inch",
"uuid" : "2fe3535e-1b52-41b0-8280-637f4377dfd3"
}
},
"actualQuantity" : 140.47,
"budgetedQuantity" : 776.75
} ],
"costCode" : {
"division" : "03",
"code" : "06-83674",
"description" : "Natus delectus sint ea.",
"uuid" : "2d338784-9495-4849-94d5-9fd210020a4c"
},
"budgetedHours" : 272.43,
"actualQuantity" : 8.31,
"remainingHours" : 131.78,
"budgetedQuantity" : 90.29,
"projectedHoursGainOrLoss" : 6.13,
"projectedTotalHours" : 278.57,
"actualHours" : 140.65,
"completeHoursPercent" : 0.51,
"progressHoursPercent" : 0.72
} ],
"remainingHours" : 150.99,
"projectedHoursGainOrLoss" : 327.05,
"projectedTotalHours" : 1167.23,
"actualHours" : 689.18,
"completeHoursPercent" : 0.82
}, {
"division" : "04",
"completeQuantityPercent" : 0.5,
"budgetedHours" : 499.85,
"costCodes" : [ {
"materialStats" : [ {
"completeQuantityPercent" : 1.02,
"material" : {
"name" : "Sand",
"uuid" : "653beaec-6b8c-4c0d-aa96-8401c95598ea",
"materialUnit" : {
"name" : "inch",
"uuid" : "3791457d-02e1-44b0-9d8d-7779ae35d6b7"
}
},
"actualQuantity" : 418.36,
"budgetedQuantity" : 406.5
}, {
"completeQuantityPercent" : 1.25,
"material" : {
"name" : "Sand",
"uuid" : "56275511-cb1d-41d4-9f43-11d86b20c3e7",
"materialUnit" : {
"name" : "inch",
"uuid" : "79939afa-d0dd-4ce1-a86d-57fde016db9e"
}
},
"actualQuantity" : 159.35,
"budgetedQuantity" : 127.3
} ],
"costCode" : {
"division" : "04",
"code" : "96-61259",
"description" : "Deleniti quam.",
"uuid" : "b774b9ac-8eb9-44a2-988a-7ddf65f0ac2b"
},
"budgetedHours" : 196.06,
"actualQuantity" : 61.27,
"remainingHours" : 21.88,
"budgetedQuantity" : 12.53,
"projectedHoursGainOrLoss" : 78.64,
"projectedTotalHours" : 274.71,
"actualHours" : 174.18,
"completeHoursPercent" : 0.88,
"progressHoursPercent" : 0.91
}, {
"materialStats" : [ {
"completeQuantityPercent" : 0.5,
"material" : {
"name" : "Sand",
"uuid" : "002d68f9-9b70-44e9-b902-b313a1da7033",
"materialUnit" : {
"name" : "inch",
"uuid" : "9883d826-eae8-42c4-b17a-86f9e1d6ad26"
}
},
"actualQuantity" : 341.73,
"budgetedQuantity" : 677.25
}, {
"completeQuantityPercent" : 0.57,
"material" : {
"name" : "Sand",
"uuid" : "e8a82789-a8e2-475d-8d0d-0f6a50eafe19",
"materialUnit" : {
"name" : "inch",
"uuid" : "771ab9d8-1d11-4139-8f8c-4d17b87a9384"
}
},
"actualQuantity" : 302.12,
"budgetedQuantity" : 526.46
} ],
"costCode" : {
"division" : "04",
"code" : "64-31160",
"description" : "Doloribus vitae quasi dicta.",
"uuid" : "56dbdd5f-4061-4b5d-82e0-f37dbbff5a91"
},
"budgetedHours" : 258.24,
"actualQuantity" : 67.08,
"remainingHours" : 68.11,
"budgetedQuantity" : 38.9,
"projectedHoursGainOrLoss" : 145.19,
"projectedTotalHours" : 403.44,
"actualHours" : 190.13,
"completeHoursPercent" : 0.73,
"progressHoursPercent" : 0.16
} ],
"remainingHours" : 245.03,
"projectedHoursGainOrLoss" : 155.96,
"projectedTotalHours" : 655.82,
"actualHours" : 254.82,
"completeHoursPercent" : 0.5
}, {
"division" : "05",
"completeQuantityPercent" : 0.34,
"budgetedHours" : 337.68,
"costCodes" : [ {
"materialStats" : [ {
"completeQuantityPercent" : 0.87,
"material" : {
"name" : "Sand",
"uuid" : "a8de8fb4-173b-42e3-8fbb-5bc07f50f942",
"materialUnit" : {
"name" : "inch",
"uuid" : "79c240e1-59e9-4d59-9a60-17a9af8a3108"
}
},
"actualQuantity" : 785.69,
"budgetedQuantity" : 897.27
}, {
"completeQuantityPercent" : 1.47,
"material" : {
"name" : "Sand",
"uuid" : "6bd5669b-f9ab-4bdc-88a4-524d08e1c685",
"materialUnit" : {
"name" : "inch",
"uuid" : "248e1549-3b66-4490-be4a-7dd96d928f03"
}
},
"actualQuantity" : 191.34,
"budgetedQuantity" : 129.43
} ],
"costCode" : {
"division" : "05",
"code" : "83-35254",
"description" : "Sint voluptatibus in.",
"uuid" : "537ead53-01a9-4632-bee5-34382981bf67"
},
"budgetedHours" : 535.17,
"actualQuantity" : 48.7,
"remainingHours" : -7.49,
"budgetedQuantity" : 57.96,
"projectedHoursGainOrLoss" : 37.4,
"projectedTotalHours" : 572.58,
"actualHours" : 542.66,
"completeHoursPercent" : 1.01,
"progressHoursPercent" : 0.09
} ],
"remainingHours" : 220.48,
"projectedHoursGainOrLoss" : 263.85,
"projectedTotalHours" : 601.54,
"actualHours" : 117.19,
"completeHoursPercent" : 0.34
} ]
}
Members
List
A GET
request will list all the members on your Raken account.
When a Raken worker is assigned to a project, we call the worker a project member. A worker can be a member of multiple projects.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
statuses |
Return only members with the given statuses. Multiple statuses can be specified. If not specified, only |
true |
Enums: ACTIVE, INVITED, INACTIVE, DELETED |
projectUuid |
Return only members for the given project |
true |
|
classificationUuids |
Return only members for the given classification |
true |
|
roles |
Return only members with the given roles. More than one role may be specified. |
true |
Enums: ROLE_WORKER, ROLE_USER, ROLE_ADMIN, ROLE_PROJECT_MEMBER |
changedSince |
Return only members updated at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only members updated before this time, exclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Notes about the By default, members of all roles are returned. Please reference the list below for notes on the access level of each role and include the appropriate role query parameter in your request.
|
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the member |
firstName |
String |
First Name |
lastName |
String |
Last Name |
role |
String |
Role Enums: ROLE_WORKER, ROLE_USER, ROLE_ACCOUNT_ADMIN, ROLE_ADMIN, ROLE_PROJECT_MEMBER |
String |
||
phoneNumber |
String |
Phone Number |
username |
String |
User name (not applicable to ROLE_WORKER that cannot log in Raken |
title |
String |
Title |
employeeId |
String |
Employee Id (Unique if not empty) |
classificationUuid |
String |
Unique identifier of the classification for the member |
createdAt |
String |
Date and Time (UTC) when the member was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the member was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
lastLoginAt |
String |
Date and Time (UTC) when the member last logged in Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Member status Enums: ACTIVE, INVITED, INACTIVE, DELETED |
timeSettings |
Object |
Default times settings for the member |
timeSettings.blockTimeClock |
Boolean |
Flag that indicates whether or not this member may access the Time Clock feature. If true, they may not access the time clock. If true, they may not access the time clock Boolean value: true or false |
timeSettings.defaultCostCode |
String |
The unique identifier of this member’s default cost code |
timeSettings.defaultShift |
String |
The unique identifier of this member’s default shift |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/members?statuses=ACTIVE&roles=ROLE_WORKER&roles=ROLE_USER&projectUuid=34113c5f-ac45-4055-8a53-06c62c4d7f53&classificationUuids=aecda846-75eb-4e97-a2b6-fc3a7c764700,3e8ff4e8-aa95-44db-8fca-e7a30d18e90c&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=34113c5f-ac45-4055-8a53-06c62c4d7f53&classificationUuids=aecda846-75eb-4e97-a2b6-fc3a7c764700,3e8ff4e8-aa95-44db-8fca-e7a30d18e90c&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=34113c5f-ac45-4055-8a53-06c62c4d7f53&classificationUuids=aecda846-75eb-4e97-a2b6-fc3a7c764700,3e8ff4e8-aa95-44db-8fca-e7a30d18e90c&changedSince=2024-02-03T14:00:00Z&changedUntil=2024-02-13T14:00:00Z&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "a3563d7f-9f5d-423a-b598-1b67fdee438d",
"firstName" : "Willie",
"lastName" : "McDermott",
"role" : "ROLE_USER",
"email" : "tana.mayert@gmail.com",
"employeeId" : "EMP00001",
"username" : "tana.mayert@gmail.com",
"classificationUuid" : "f739f972-efec-457d-bbed-d1db2151e638",
"status" : "ACTIVE",
"phoneNumber" : "(975) 568-7542",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "4485ac48-5638-41ee-920a-fbb348429a13",
"defaultShift" : "a3a4eddd-414a-4d9f-be12-fc159c585a48"
}
}, {
"uuid" : "2f71c35e-5c29-419c-974e-efe7cd2c5795",
"firstName" : "Norine",
"lastName" : "Hayes",
"role" : "ROLE_USER",
"email" : "jarvis.klocko@hotmail.com",
"employeeId" : "EMP00002",
"username" : "jarvis.klocko@hotmail.com",
"classificationUuid" : "07c1ead0-93da-491f-bd33-012976b6435e",
"status" : "ACTIVE",
"phoneNumber" : "982-796-9445 x847",
"title" : "Mrs",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "e51ae803-074f-47cd-8805-8eb5434de890",
"defaultShift" : "1983fbfb-4504-42d4-aa16-f1408a2ba9dd"
}
}, {
"uuid" : "84376d93-7789-4bbd-a8ea-319479618d25",
"firstName" : "Ronald",
"lastName" : "Kuhn",
"role" : "ROLE_USER",
"email" : "gale.stark@gmail.com",
"employeeId" : "EMP00003",
"username" : "gale.stark@gmail.com",
"classificationUuid" : "1dafa373-f964-4adc-9f8b-3967bded1080",
"status" : "ACTIVE",
"phoneNumber" : "143-582-8908",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "70183afd-7b83-4825-9c62-b7b52904ef02",
"defaultShift" : "1098cf28-9d40-4330-8980-a050b0507c6c"
}
}, {
"uuid" : "2be93e09-b609-4802-8197-ae1ea2a8abbe",
"firstName" : "Maryellen",
"lastName" : "Weber",
"role" : "ROLE_USER",
"email" : "noel.raynor@yahoo.com",
"employeeId" : "EMP00004",
"username" : "noel.raynor@yahoo.com",
"classificationUuid" : "9fe64ef6-eea6-4e16-81ae-a3fa3d7d4566",
"status" : "ACTIVE",
"phoneNumber" : "857.650.4338 x07282",
"title" : "Mrs",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "c32243b6-2e5b-4c5f-9d54-85113cac69f4",
"defaultShift" : "96af6ce6-e0c1-4ec4-9133-9b141ccc6e60"
}
}, {
"uuid" : "d8276ff6-4e0d-4156-b1e6-e8c385f266af",
"firstName" : "Hector",
"lastName" : "Stracke",
"role" : "ROLE_USER",
"email" : "tarra.kuhic@yahoo.com",
"employeeId" : "EMP00005",
"username" : "tarra.kuhic@yahoo.com",
"classificationUuid" : "dd147291-cf12-4d7e-b714-bbe5e6153f12",
"status" : "ACTIVE",
"phoneNumber" : "276-921-5828",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "a9868484-b967-4d07-b486-0973e8132c14",
"defaultShift" : "ac6dd0a6-311e-4803-b015-f4be277c8f06"
}
} ]
}
Get
A GET
request will get a member by UUID on your Raken account.
It returns more details including projectUuids
for the member, compared to the list request.
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the member |
firstName |
String |
First Name |
lastName |
String |
Last Name |
role |
String |
Role Enums: ROLE_WORKER, ROLE_USER, ROLE_ACCOUNT_ADMIN, ROLE_ADMIN, ROLE_PROJECT_MEMBER |
String |
||
phoneNumber |
String |
Phone Number |
username |
String |
User name (not applicable to ROLE_WORKER that cannot log in Raken |
title |
String |
Title |
employeeId |
String |
Employee Id (Unique if not empty) |
classificationUuid |
String |
Unique identifier of the classification for the member |
createdAt |
String |
Date and Time (UTC) when the member was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the member was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
lastLoginAt |
String |
Date and Time (UTC) when the member last logged in Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Member status Enums: ACTIVE, INVITED, INACTIVE, DELETED |
timeSettings |
Object |
Default times settings for the member |
timeSettings.blockTimeClock |
Boolean |
Flag that indicates whether or not this member may access the Time Clock feature. If true, they may not access the time clock. If true, they may not access the time clock Boolean value: true or false |
timeSettings.defaultCostCode |
String |
The unique identifier of this member’s default cost code |
timeSettings.defaultShift |
String |
The unique identifier of this member’s default shift |
projectUuids |
Array |
List of unique identifiers for projects that the member is assigned to |
memberCertifications |
Array |
A list of this member’s certifications |
memberCertifications[].uuid |
String |
Unique identifier for this certification |
memberCertifications[].certificationName |
String |
Certification name |
memberCertifications[].expired |
Boolean |
A flag that indicates whether or not this certification is expired |
memberCertifications[].description |
String |
The description of this certification |
memberCertifications[].attachments |
Array |
A list of attachments on this certification |
memberCertifications[].attachments[].uuid |
String |
Unique Identifier for this attachment |
memberCertifications[].attachments[].url |
String |
URL for this attachment |
memberCertifications[].attachments[].description |
String |
Description of this attachment |
memberCertifications[].attachments[].thumbnailUrl |
String |
Thumbnail URL for this attachment |
memberCertifications[].attachments[].contentType |
String |
Content type for this attachment (e.g. ‘image/jpeg', ‘image/png’) |
memberCertifications[].attachments[].mediaType |
String |
Media type for this attachment |
memberCertifications[].attachments[].fileName |
String |
File name of this attachment |
memberCertifications[].attachments[].fileSize |
Number |
Size of this attachment in bytes |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/members/5247a091-9e81-4154-a359-3ab853266254' -i -X GET
Response body
{
"uuid" : "5247a091-9e81-4154-a359-3ab853266254",
"firstName" : "Chad",
"lastName" : "Skiles",
"role" : "ROLE_WORKER",
"email" : "keneth.smitham@hotmail.com",
"employeeId" : "EMP00001",
"username" : "keneth.smitham@hotmail.com",
"classificationUuid" : "ee3a322c-c2ce-4639-8525-3162d5bc880c",
"status" : "ACTIVE",
"phoneNumber" : "117.531.3293",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "710fb1e6-5ce1-4e3c-8a2b-e4a9b2302214",
"defaultShift" : "d6f3f452-28b3-4781-9943-a5ca529ec252"
},
"projectUuids" : [ "38d38a6a-5c6b-4990-b43c-67b1725420b5", "0298a09b-028a-43ea-9fef-78eaf9096254" ],
"memberCertifications" : [ {
"uuid" : "cc433677-a999-4fbe-9cb6-31cc94142069",
"certificationName" : "Nostrum alias eaque quas praesentium.",
"expired" : false,
"description" : "At repellat quo. Ut voluptates illo nemo officia error nihil consectetur.",
"attachments" : [ {
"uuid" : "d9218da0-6eb8-4975-9d65-a7f2d160c528",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "nisi.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 59247
} ]
} ]
}
List Member Projects
A GET
request will get projects of a member by UUID on your Raken account.
It returns subset of project information, compared to the list request.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
statuses |
Return only projects with the given statuses. Multiple statuses can be specified. If not specified, only |
true |
Enums: ACTIVE, INACTIVE, DELETED |
Path parameters
Parameter | Description |
---|---|
|
Return only projects for the given member |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the project |
name |
String |
Project Name |
teamType |
String |
Team type Enums: GENERAL_CONTRACTOR, COLLABORATOR |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/members/0b4c0308-8fda-4ce9-9831-a0b5679919e9/projects?statuses=ACTIVE&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/members/0b4c0308-8fda-4ce9-9831-a0b5679919e9/projects?statuses=ACTIVE&offset=0&limit=5",
"next" : "/members/0b4c0308-8fda-4ce9-9831-a0b5679919e9/projects?statuses=ACTIVE&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "ed5991d0-fcff-4ba5-8ad7-d530c8edc9f1",
"name" : "Lou Pole",
"teamType" : "GENERAL_CONTRACTOR"
}, {
"uuid" : "b6a699ac-5243-4917-a183-5a69e0f4fcc2",
"name" : "Penny Lane",
"teamType" : "GENERAL_CONTRACTOR"
}, {
"uuid" : "5901b0d0-812a-4dae-b3c1-87efc0edd842",
"name" : "Juan De Hattatime",
"teamType" : "GENERAL_CONTRACTOR"
}, {
"uuid" : "5c3a272c-ef28-4e03-8699-98d432ca5e0a",
"name" : "Rusty Fender",
"teamType" : "GENERAL_CONTRACTOR"
}, {
"uuid" : "6a00ab00-c615-47fd-ab84-17b66a53dd11",
"name" : "Sawyer B. Hind",
"teamType" : "GENERAL_CONTRACTOR"
} ]
}
Create
A POST
request will create a new member on your Raken account.
Members can be either Workers (ROLE_WORKER
) or Team Members who can log in (One of: ROLE_USER
, ROLE_PROJECT_MEMBER
, ROLE_PROJECT_ADMIN
, or ROLE_ACCOUNT_ADMIN
).
The email
field is only required when creating a team member. New members will receive an invite on the email address for them to set up their Raken account.
For a worker, the email
field is optional.
Notes about project membership:
Notes for
Notes for other roles:
|
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
firstName |
String |
First Name |
false |
Must not be blank |
lastName |
String |
Last Name |
false |
Must not be blank |
role |
String |
Role |
false |
Must not be null Role Enums: ROLE_ACCOUNT_ADMIN, ROLE_ADMIN, ROLE_PROJECT_MEMBER, ROLE_USER, ROLE_WORKER |
projectUuids |
Array |
List of unique identifiers for projects that the member is assigned to |
false |
Must not be null |
String |
Email (optional for workers but mandatory for team members) |
true |
Must not be blank |
|
phoneNumber |
String |
Phone Number |
true |
|
title |
String |
Title |
true |
|
employeeId |
String |
Employee Id (Unique if not empty) |
true |
|
classificationUuid |
String |
Unique identifier of the classification for the member |
true |
|
timeSettings |
Object |
Default times settings for the member |
true |
|
timeSettings.blockTimeClock |
Boolean |
Flag that indicates whether or not this member may access the Time Clock feature. If true, they may not access the time clock. If true, they may not access the time clock |
true |
Boolean value: true or false |
timeSettings.defaultCostCode |
String |
The unique identifier of this member’s default cost code |
true |
|
timeSettings.defaultShift |
String |
The unique identifier of this member’s default shift |
true |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the member |
firstName |
String |
First Name |
lastName |
String |
Last Name |
role |
String |
Role Enums: ROLE_WORKER, ROLE_USER, ROLE_ACCOUNT_ADMIN, ROLE_ADMIN, ROLE_PROJECT_MEMBER |
String |
||
phoneNumber |
String |
Phone Number |
username |
String |
User name (not applicable to ROLE_WORKER that cannot log in Raken |
title |
String |
Title |
employeeId |
String |
Employee Id (Unique if not empty) |
classificationUuid |
String |
Unique identifier of the classification for the member |
createdAt |
String |
Date and Time (UTC) when the member was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the member was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
lastLoginAt |
String |
Date and Time (UTC) when the member last logged in Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Member status Enums: ACTIVE, INVITED, INACTIVE, DELETED |
timeSettings |
Object |
Default times settings for the member |
timeSettings.blockTimeClock |
Boolean |
Flag that indicates whether or not this member may access the Time Clock feature. If true, they may not access the time clock. If true, they may not access the time clock Boolean value: true or false |
timeSettings.defaultCostCode |
String |
The unique identifier of this member’s default cost code |
timeSettings.defaultShift |
String |
The unique identifier of this member’s default shift |
projectUuids |
Array |
List of unique identifiers for projects that the member is assigned to |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/members' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"firstName" : "Lorenzo",
"lastName" : "Satterfield",
"role" : "ROLE_WORKER",
"email" : "testing+100@rakenapp.com",
"projectUuids" : [ "11ae3099-9af5-4a29-b0f0-7ed72669b139" ],
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "5abc7eb8-b290-42a7-bc54-d54e0b586d5d",
"defaultShift" : "3d2de0bf-91e7-40d3-a7fa-b143b6ea9241"
}
}'
Response body
{
"uuid" : "b1d662e2-6050-470a-935d-17c2deb35975",
"firstName" : "Lorenzo",
"lastName" : "Satterfield",
"role" : "ROLE_WORKER",
"email" : "cordelia.mosciski@gmail.com",
"employeeId" : "EMP00001",
"username" : "cordelia.mosciski@gmail.com",
"classificationUuid" : "44b0f099-ede9-4c55-8e2e-927bf77fd4de",
"status" : "ACTIVE",
"phoneNumber" : "643.642.4943 x577",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "016c733c-a953-4715-b69c-b969afecd4ca",
"defaultShift" : "573d2078-2f27-4ad1-8cf9-7f94484865ec"
},
"projectUuids" : [ "78524a3c-181f-4b62-a26e-7a30834d5b0f", "2259a6dc-3d14-4a11-968d-7e84b9680d77" ]
}
Update
A PATCH
request will update a project member. Please note that for team members with a role other than ROLE_WORKER
, the email
field is not patchable.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
firstName |
String |
First Name |
true |
Must not be blank |
lastName |
String |
Last Name |
true |
Must not be blank |
role |
String |
Role |
true |
Role Enums: ROLE_ACCOUNT_ADMIN, ROLE_ADMIN, ROLE_PROJECT_MEMBER, ROLE_USER, ROLE_WORKER |
projectUuids |
Array |
List of unique identifiers for projects that the member is assigned to |
true |
|
String |
Email (optional for workers but mandatory for team members) |
true |
Must not be blank |
|
phoneNumber |
String |
Phone Number |
true |
|
title |
String |
Title |
true |
|
employeeId |
String |
Employee Id (Unique if not empty) |
true |
|
classificationUuid |
String |
Unique identifier of the classification for the member |
true |
|
timeSettings |
Object |
Default times settings for the member |
true |
|
timeSettings.blockTimeClock |
Boolean |
Flag that indicates whether or not this member may access the Time Clock feature. If true, they may not access the time clock. If true, they may not access the time clock |
true |
Boolean value: true or false |
timeSettings.defaultCostCode |
String |
The unique identifier of this member’s default cost code |
true |
|
timeSettings.defaultShift |
String |
The unique identifier of this member’s default shift |
true |
|
status |
String |
Member status |
true |
MemberStatus Enums: ACTIVE, DELETED, INACTIVE, INVITED |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the member |
firstName |
String |
First Name |
lastName |
String |
Last Name |
role |
String |
Role Enums: ROLE_WORKER, ROLE_USER, ROLE_ACCOUNT_ADMIN, ROLE_ADMIN, ROLE_PROJECT_MEMBER |
String |
||
phoneNumber |
String |
Phone Number |
username |
String |
User name (not applicable to ROLE_WORKER that cannot log in Raken |
title |
String |
Title |
employeeId |
String |
Employee Id (Unique if not empty) |
classificationUuid |
String |
Unique identifier of the classification for the member |
createdAt |
String |
Date and Time (UTC) when the member was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the member was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
lastLoginAt |
String |
Date and Time (UTC) when the member last logged in Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Member status Enums: ACTIVE, INVITED, INACTIVE, DELETED |
timeSettings |
Object |
Default times settings for the member |
timeSettings.blockTimeClock |
Boolean |
Flag that indicates whether or not this member may access the Time Clock feature. If true, they may not access the time clock. If true, they may not access the time clock Boolean value: true or false |
timeSettings.defaultCostCode |
String |
The unique identifier of this member’s default cost code |
timeSettings.defaultShift |
String |
The unique identifier of this member’s default shift |
projectUuids |
Array |
List of unique identifiers for projects that the member is assigned to |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/members/3dd9c9bd-007a-4f10-b4c8-afdd42c1472d' -i -X PATCH \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"firstName" : "Margurite"
}'
Response body
{
"uuid" : "3dd9c9bd-007a-4f10-b4c8-afdd42c1472d",
"firstName" : "Margurite",
"lastName" : "Batz",
"role" : "ROLE_WORKER",
"email" : "rosanna.greenholt@yahoo.com",
"employeeId" : "EMP00001",
"username" : "rosanna.greenholt@yahoo.com",
"classificationUuid" : "dfd324c1-c9ef-4805-90a0-c48aa6e1027d",
"status" : "ACTIVE",
"phoneNumber" : "801.910.2997 x7306",
"title" : "Mr",
"lastLoginAt" : "2022-07-18T12:40:33Z",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z",
"timeSettings" : {
"blockTimeClock" : true,
"defaultCostCode" : "8ac79ad3-8d2e-4105-a845-f9b4ecd4dc5c",
"defaultShift" : "75b36435-628e-4f7f-87ac-454bc0e81555"
},
"projectUuids" : [ "9e4ec233-9108-4ac1-95fc-e7f6a1fdd3b3", "44cf305b-0c96-41d1-a7c5-8a21ed2e97dd" ]
}
Update members project assignment
A POST
request will change project assignments for members, in batch, on your Raken account.
Depending on projectAssignmentType
, it can add, remove or replace project assignment for multiple members from selected projects.
Projects can be selected by their UUIDs via projectUuids
, or by the project state via projectState
.
For example, if projectState
is ACTIVE
, the project assignment change will involve all active projects on your Raken account.
One of the filed must be provided. If projectUuids
is specified, projectState
will be ignored.
Since it is a batch operation, the API operates on a best efforts basis and will ignore any issues encountered during the process. For example, when a team member can’t be removed from a project because the member is the last member of the project, if you call the API to remove the member from the project, you will still receive a successful response, even if the member hasn’t been removed due to the constraint.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
memberUuids |
Array |
List of unique identifiers for members to change project assignment for |
false |
Must not be null Size must be between 1 and 100 inclusive |
projectAssignmentType |
String |
Project assignment type |
false |
Must not be null ProjectMembershipUpdateMode Enums: APPEND, REPLACE, REMOVE |
projectUuids |
Array |
List of unique identifiers for projects that members will be assigned, removed or replaced according to projectAssignmentType. Either projectUuids or projectState must be provided |
true |
Size must be between 0 and 10 inclusive |
projectState |
String |
Select projects with the given state. If projectUuids is provided, projectState will be ignored. |
true |
ProjectState Enums: ACTIVE, INACTIVE, DELETED |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/members/projectAssignment' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"memberUuids" : [ "829feaac-ffad-4d3f-9b97-9ca5b1cefd76" ],
"projectAssignmentType" : "APPEND",
"projectUuids" : [ "51d2b75d-2e0c-4976-a35d-6295db36a907", "b526646d-423c-4a1e-bc5a-7ee2ab68b3b1" ],
"projectState" : "ACTIVE"
}'
Cost Codes
List
A GET
request will list all the cost codes.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Restrict the cost codes to the projects represented by this UUID. |
true |
|
changedSince |
Return only time cards updated at or after this time, inclusive. The date is capped to a month to changedUntil. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only time cards updated before this time, exclusive. The date is capped to a month to changedSince. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the cost code |
code |
String |
Code for the cost code |
division |
String |
Division for the cost code |
description |
String |
Description for the cost code |
createdAt |
String |
Date and Time (UTC) when the cost code was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the cost code was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/costCodes?projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/costCodes?projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&offset=0&limit=5",
"next" : "/costCodes?projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "9cb5b0ec-7a9c-4603-8159-337fc07d1d83",
"code" : "0110",
"division" : "01 - General Conditions",
"description" : "Mockups",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}, {
"uuid" : "35c443cb-3363-47c4-b99a-a611ff4ddb1f",
"code" : "0300",
"division" : "03 - Structural & Architectural Concrete",
"description" : "Structural Concrete",
"createdAt" : "2022-07-07T21:41:13Z",
"updatedAt" : "2022-07-09T21:41:17Z"
} ]
}
Create
A POST
request will create a new cost code.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
code |
String |
Code for the cost code |
false |
Must not be blank Size must be between 0 and 20 inclusive |
division |
String |
Division for the cost code |
false |
Must not be blank Size must be between 0 and 50 inclusive |
projectUuid |
String |
Project UUID which the cost code is created for |
false |
Must not be blank |
description |
String |
Description for the cost code |
true |
Size must be between 0 and 60 inclusive |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the cost code |
code |
String |
Code for the cost code |
division |
String |
Division for the cost code |
description |
String |
Description for the cost code |
createdAt |
String |
Date and Time (UTC) when the cost code was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the cost code was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/costCodes' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"code" : "0110",
"division" : "01 - General Conditions",
"description" : "Mockups",
"projectUuid" : "8169fd06-0997-4673-b537-4d9d401b8922"
}'
Response body
{
"uuid" : "c41e4d8f-46bc-49af-a2a1-f8ea564a49cc",
"code" : "0110",
"division" : "01 - General Conditions",
"description" : "Mockups",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}
Update
A PATCH
request will update a cost code.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
division |
String |
Division for the cost code |
true |
Must not be blank Size must be between 0 and 50 inclusive |
description |
String |
Description for the cost code |
true |
Size must be between 0 and 60 inclusive |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the cost code |
code |
String |
Code for the cost code |
division |
String |
Division for the cost code |
description |
String |
Description for the cost code |
createdAt |
String |
Date and Time (UTC) when the cost code was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the cost code was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/costCodes/cb3e7e46-9d79-45d2-be19-c4e66b061745' -i -X PATCH \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"division" : "01 - General Conditions",
"description" : "Mockups"
}'
Response body
{
"uuid" : "cb3e7e46-9d79-45d2-be19-c4e66b061745",
"code" : "0110",
"division" : "01 - General Conditions",
"description" : "Mockups",
"createdAt" : "2022-07-17T22:47:03Z",
"updatedAt" : "2022-07-19T22:41:27Z"
}
Classifications
List
A GET
request will list all the classifications.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
statuses |
Restrict the classifications to those with these statuses. Multiple statuses can be specified. |
true |
Enums: ACTIVE, DELETED |
changedSince |
Filters results to include only entities that were updated at or after the specified time (inclusive). Must be used with a corresponding |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Filters results to include only entities that were updated before the specified time (exclusive) |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the classification |
name |
String |
Classification Name |
status |
String |
Classification status Enums: ACTIVE, DELETED |
createdAt |
String |
Date and Time (UTC) when the classification was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the classification was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/classifications?statuses=ACTIVE&changedSince=2024-02-24T16:37:26Z&changedUntil=2024-02-25T16:37:26Z&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/classifications?statuses=ACTIVE&changedSince=2024-02-24T16:37:26Z&changedUntil=2024-02-25T16:37:26Z&offset=0&limit=5",
"next" : "/classifications?statuses=ACTIVE&changedSince=2024-02-24T16:37:26Z&changedUntil=2024-02-25T16:37:26Z&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "19764061-0b6e-4b5c-af28-a567f8a1c5de",
"name" : "Foreman",
"status" : "ACTIVE",
"updatedAt" : "2024-07-26T07:43:27Z",
"createdAt" : "2024-05-06T00:02:20Z"
}, {
"uuid" : "86186097-f71c-4a86-9067-8889438d3df8",
"name" : "Journeyman",
"status" : "ACTIVE",
"updatedAt" : "2025-02-10T14:16:19Z",
"createdAt" : "2025-02-03T06:39:29Z"
} ]
}
Create
A POST
request will create a new classification on your Raken account.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Classification Name |
false |
Must not be blank Size must be between 0 and 255 inclusive |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the classification |
name |
String |
Classification Name |
status |
String |
Classification status Enums: ACTIVE, DELETED |
createdAt |
String |
Date and Time (UTC) when the classification was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the classification was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/classifications' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "FOREMAN"
}'
Response body
{
"uuid" : "cccb657f-c618-4e99-98dc-18790dec00f3",
"name" : "FOREMAN",
"status" : "ACTIVE",
"updatedAt" : "2025-04-30T08:14:41Z",
"createdAt" : "2025-04-20T07:21:55Z"
}
Work Logs
List
A GET
request will list the matching work logs.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Return work logs for this project. This could also be a child project identifier |
false |
|
fromDate |
Return work logs starting on this date. The date is capped to a month to toDate. Provide either |
true |
Format: "yyyy-MM-dd" |
toDate |
Return work logs ending on this date. The date is capped to a month from fromDate. |
true |
Format: "yyyy-MM-dd" |
changedSince |
Filters results to include only entities that were updated at or after the specified time (inclusive). Must be used with a corresponding |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Filters results to include only entities that were updated before the specified time (exclusive) |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
statuses |
Return work logs with this status. Default to COMPLETED |
true |
Enums: COMPLETED, CREATED |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the work log |
date |
String |
Date of the work log Format: "yyyy-MM-dd" |
status |
String |
Work log status Enums: COMPLETED, CREATED |
totalHours |
Number |
Total hours on this work log |
description |
String |
Description of the work log |
projectUuid |
String |
Project this work log is for |
workLogType |
String |
Type of work log Enums: CREW, STANDARD |
subcontractor |
String |
Subcontractor name |
name |
String |
Work Log name |
hours |
Number |
For standard work logs, the hours for a single worker |
workerCount |
Number |
Number of workers for this work log |
createdAt |
String |
Date and Time (UTC) when the work log was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the work log was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
timeCards[].note |
String |
Note for the time card |
timeCards[].breaks[].name |
String |
Break name |
timeCards[].breaks[].startTime |
String |
Break start time |
timeCards[].breaks[].duration |
Number |
Duration of break in minutes |
timeCards[].uuid |
String |
Unique identifier for this time card |
timeCards[].workerUuid |
String |
Unique identifier for the worker for this time card |
timeCards[].totalHours |
Number |
Total number of hours for this time card |
timeCards[].startTime |
String |
Start time for this time card |
timeCards[].endTime |
String |
End time for this time card |
timeCards[].createdAt |
String |
Date and Time (UTC) when this time card was created Format: "yyyy-MM-ddThh:mm:ssZ" |
timeCards[].updatedAt |
String |
Date and Time (UTC) when this time card was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
timeCards[].createdBy.uuid |
String |
Unique identifier for the user who created this time card |
timeCards[].createdBy.name |
String |
Name of the user who created this time card |
timeCards[].updatedBy.uuid |
String |
Unique identifier for the user who updated this time card |
timeCards[].updatedBy.name |
String |
Name of the user who updated this time card |
timeCards[].attachments[].uuid |
String |
Unique identifier for this attachment |
timeCards[].attachments[].url |
String |
Url for this attachment |
timeCards[].attachments[].description |
String |
Description for this attachment |
timeCards[].attachments[].thumbnailUrl |
String |
Thumbnail Url for this attachment |
timeCards[].attachments[].contentType |
String |
Content Type for this attachment (e.g. 'image/jpeg', 'image/png') |
timeCards[].attachments[].mediaType |
String |
Media Type for this attachment Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
timeCards[].attachments[].fileName |
String |
File name of the attachment |
timeCards[].attachments[].fileSize |
Number |
Size of the attachment in bytes |
timeCards[].timeEntries[].shift.uuid |
String |
Unique identifier for the shift on the time entry |
timeCards[].timeEntries[].shift.name |
String |
Name for the shift on the time entry |
timeCards[].timeEntries[].shift.code |
String |
Code for the shift on the time entry |
timeCards[].timeEntries[].payType.uuid |
String |
Unique identifier for the pay type for the time entry |
timeCards[].timeEntries[].payType.name |
String |
Name for the pay type for the time entry |
timeCards[].timeEntries[].payType.code |
String |
Code for the pay type for the time entry |
timeCards[].timeEntries[].hours |
Number |
Hours in the time entry |
timeCards[].timeEntries[].classification.uuid |
String |
Unique identifier for the classification for the time entry |
timeCards[].timeEntries[].classification.name |
String |
Name for the classification for the time entry |
timeCards[].timeEntries[].costCode.uuid |
String |
Unique identifier for the cost code for the time entry |
timeCards[].timeEntries[].costCode.code |
String |
Code for the cost code for the time entry |
timeCards[].timeEntries[].costCode.division |
String |
Division for the cost code for the time entry |
attachments[].uuid |
String |
Unique identifier for this attachment on the work log |
attachments[].url |
String |
Url for this attachment on the work log |
attachments[].description |
String |
Description of this attachment on the work log |
attachments[].thumbnailUrl |
String |
Thumbnail Url for this attachment on the work log |
attachments[].contentType |
String |
Content type for this attachment on the work log (e.g. 'image/jpeg', 'image/png') |
attachments[].mediaType |
String |
Media type for this attachment on the work log Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
attachments[].fileName |
String |
File name of this attachment on the work log |
attachments[].fileSize |
Number |
Size of this attachment on the work log in bytes |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/workLogs?fromDate=2011-01-01&toDate=2012-01-01&changedSince=2024-02-24T16:37:26Z&changedUntil=2024-02-25T16:37:26Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/workLogs?fromDate=2011-01-01&toDate=2012-01-01&changedSince=2024-02-24T16:37:26Z&changedUntil=2024-02-25T16:37:26Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&offset=0&limit=5",
"next" : "/workLogs?fromDate=2011-01-01&toDate=2012-01-01&changedSince=2024-02-24T16:37:26Z&changedUntil=2024-02-25T16:37:26Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "315e9cfe-5719-467c-a320-3ab39608866e",
"totalHours" : 8.0,
"date" : "2020-10-15",
"timeCards" : [ {
"uuid" : "5c568bc6-ee85-4f99-aba5-e141eb6542dd",
"workerUuid" : "bc8a5ee0-686c-4eb0-941b-44337aedcdf1",
"totalHours" : 8.0,
"startTime" : "05:00:00",
"endTime" : "17:00:00",
"attachments" : [ {
"uuid" : "05c2e071-42e3-40c7-9de8-7aab3b9cde24",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "ut.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 99861
} ],
"timeEntries" : [ {
"hours" : 8.0,
"payType" : {
"uuid" : "0f0c767a-2922-4bfc-a68f-19e122dbbe7a",
"name" : "Regular Time",
"code" : "RT"
},
"shift" : {
"uuid" : "356a91f9-5265-4cdf-95c8-cffee51d4118",
"name" : "Night Shift",
"code" : "NS"
},
"classification" : {
"uuid" : "0f547bd0-58ad-4ef8-a54b-f69a7857ac3a",
"name" : "Apprentice"
},
"costCode" : {
"uuid" : "43a26445-22de-4b66-ab14-0637923d47b3",
"code" : "C1",
"division" : "D1"
}
} ],
"note" : "Payroll Note",
"createdAt" : "2020-10-16T12:00:00Z",
"updatedAt" : "2020-10-16T12:30:00Z",
"createdBy" : {
"uuid" : "a0bb66a5-84db-4f1b-86ba-05357c8600d8",
"name" : "Eulalia Nolan"
},
"updatedBy" : {
"uuid" : "e6c6a42d-c367-417a-aaca-ae03f5ec2f44",
"name" : "Dr. Petronila Yundt"
},
"breaks" : [ {
"name" : "Meal Break",
"duration" : 30.0,
"startTime" : "10:00:00"
} ]
} ],
"status" : "COMPLETED",
"description" : "Description",
"projectUuid" : "faead63b-8c54-46d4-9fcd-f67f33c8b781",
"attachments" : [ {
"uuid" : "6f99c42a-2ee2-4262-823b-3f99da07a0d3",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "mollitia.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 43848
} ],
"subcontractor" : "SC",
"name" : "Crew working in 1st floor",
"workerCount" : 0,
"workLogType" : "CREW",
"hours" : 8,
"createdAt" : "2020-10-16T12:00:00Z",
"updatedAt" : "2020-10-16T12:30:00Z"
} ]
}
Equipment Logs
List
A GET
request will list the matching equipment logs grouped by their deployment.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuids |
UUID of the projects to retrieve equipment deployments for |
true |
|
equipmentUuids |
UUID of the equipment to retrieve equipment deployments for |
true |
|
statuses |
List of statuses to filter equipment logs on |
true |
|
fromDate |
Return equipment deployments starting on, or after, this date |
true |
Format: "yyyy-MM-dd" |
toDate |
Return equipment deployments ending on, or before, this date |
true |
Format: "yyyy-MM-dd" |
query |
Retrieve equipment deployments that has a match for the provided query string |
true |
|
changedSince |
Return only equipment deployments updated at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only equipment deployments updated before this time, exclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
fromCreatedAt |
Return only equipment deployments created at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
toCreatedAt |
Return only equipment deployments created before this time, exclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the equipment deployment |
startDate |
String |
Date on which the equipment deployment started Format: "yyyy-MM-dd" |
endDate |
String |
Date on which the equipment deployment ended Format: "yyyy-MM-dd" |
equipment |
Object |
Equipment associated with the equipment deployment |
equipment.uuid |
String |
Unique identifier of the equipment associated with the equipment deployment |
equipment.equipmentId |
String |
External ID for the equipment associated with the equipment deployment |
equipment.name |
String |
Name of the equipment associated with the equipment deployment |
projectUuid |
String |
Unique identifier for the project this equipment deployment is associated with |
daysOnsite |
Number |
Number of days the equipment has been on site for this equipment deployment |
daysNotInUse |
Number |
Number of days during the equipment deployment on which no equipment logs were recorded |
createdBy |
String |
Unique identifier for the user who created the equipment deployment |
createdAt |
String |
Date and Time (UTC) when the equipment deployment was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedBy |
String |
Unique identifier for the user who updated the equipment log |
updatedAt |
String |
Date and Time (UTC) when the equipment deployement was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
logs[] |
Array |
Collection of equipment log on this equipment deployment |
logs[].uuid |
String |
Unique identifier of this equipment log |
logs[].description |
String |
Description of this equipment log |
logs[].date |
String |
Date of this equipment log Format: "yyyy-MM-dd" |
logs[].hours |
Number |
Total hours for this equipment log |
logs[].idleHours |
Number |
Total idle hours for this equipment log |
logs[].status |
String |
Status of this equipment log Enums: WITHDRAWN, NOT_IN_USE, IN_USE |
logs[].operator |
String |
Unique identifier for the operator on this equipment log |
logs[].odometerReading |
Number |
Odometer reading for this equipment log. Mileage tracking units can be found by querying for the equipment used on this equipment log on the Equipment endpoint |
logs[].fuelConsumption |
Number |
Volume of fuel consumed on this equipment log. Fuel consumption units can be found by querying for the equipment used on this equipment log on the Equipment endpoint |
logs[].equipmentDeficiencies |
Array |
Collection of equipment deficiencies associated with this equipment log |
logs[].equipmentDeficiencies[].faultCode |
String |
Fault code of this equipment deficiency |
logs[].equipmentDeficiencies[].description |
String |
Description of this equipment deficiency |
logs[].attachments[] |
Array |
Collection of attachments on this equipment log |
logs[].attachments[].uuid |
String |
Unique identifier for this attachment |
logs[].attachments[].url |
String |
URL for this attachment |
logs[].attachments[].description |
String |
Description for this attachment |
logs[].attachments[].thumbnailUrl |
String |
Thumbnail URL for this attachment |
logs[].attachments[].contentType |
String |
Content type for this attachment (e.g. ‘image/jpeg’, ‘image/png’) |
logs[].attachments[].mediaType |
String |
Media type for this attachment Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
logs[].attachments[].fileName |
String |
File name of this attachment |
logs[].attachments[].fileSize |
Number |
Size of this attachment in bytes |
logs[].createdBy |
String |
Unique identifier of the user who created this equipment log |
logs[].createdAt |
String |
Date and Time (UTC) when the equipment log was created Format: "yyyy-MM-ddThh:mm:ssZ" |
logs[].updatedBy |
String |
Unique identifier of the user who updated this equipment log |
logs[].updatedAt |
String |
Date and Time (UTC) when the equipment log was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
costCode |
Object |
Cost code associated with this equipment log |
costCode.uuid |
String |
Unique identifier of this cost code |
costCode.code |
String |
Code of this cost code |
costCode.division |
String |
Division of this cost code |
costCode.description |
String |
Description of this cost code |
costCode.createdAt |
Null |
Date and Time (UTC) when this cost code was created Format: "yyyy-MM-ddThh:mm:ssZ" |
costCode.updatedAt |
Null |
Date and Time (UTC) when this cost code was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
logs[].costCode |
Object |
Cost code associated with this equipment log |
logs[].costCode.uuid |
String |
Unique identifier of this cost code |
logs[].costCode.code |
String |
Code of this cost code |
logs[].costCode.division |
String |
Division of this cost code |
logs[].costCode.description |
String |
Description of this cost code |
logs[].costCode.createdAt |
Null |
Date and Time (UTC) when this cost code was created Format: "yyyy-MM-ddThh:mm:ssZ" |
logs[].costCode.updatedAt |
Null |
Date and Time (UTC) when this cost code was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/equipmentLogs?fromDate=2024-01-01&toDate=2024-01-25&projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&equipmentUuids=8229fd06-0967-4673-b537-4d9d401b8521&statuses=IN_USE,NOT_IN_USE,WITHDRAWN&query=query&fromCreatedAt=2024-03-03T14:00:00Z&toCreatedAt=2024-03-13T14:00:00Z&changedSince=2024-03-03T14:00:00Z&changedUntil=2024-03-13T14:00:00Z&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/equipmentLogs?fromDate=2024-01-01&toDate=2024-01-25&projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&equipmentUuids=8229fd06-0967-4673-b537-4d9d401b8521&statuses=IN_USE,NOT_IN_USE,WITHDRAWN&query=query&fromCreatedAt=2024-03-03T14:00:00Z&toCreatedAt=2024-03-13T14:00:00Z&changedSince=2024-03-03T14:00:00Z&changedUntil=2024-03-13T14:00:00Z&offset=0&limit=5",
"next" : "/equipmentLogs?fromDate=2024-01-01&toDate=2024-01-25&projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&equipmentUuids=8229fd06-0967-4673-b537-4d9d401b8521&statuses=IN_USE,NOT_IN_USE,WITHDRAWN&query=query&fromCreatedAt=2024-03-03T14:00:00Z&toCreatedAt=2024-03-13T14:00:00Z&changedSince=2024-03-03T14:00:00Z&changedUntil=2024-03-13T14:00:00Z&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"createdBy" : "55f470fc-b268-45d4-bc46-23ccf9299fb6",
"createdAt" : "2025-06-17T02:40:27.933361770Z",
"updatedBy" : "7b31d0c3-6995-46d8-b3e4-344650653576",
"updatedAt" : "2025-06-17T02:40:27.933361234Z",
"uuid" : "a9596575-6ac8-4ac5-8b10-f3054cadf861",
"equipment" : {
"uuid" : "7a63d85d-c88c-47f1-863f-392011e5cccc",
"name" : "Compactor",
"equipmentId" : "EQ-1"
},
"projectUuid" : "3b3fe6d3-3c8f-408d-b8e2-7c2c55cae164",
"startDate" : "2020-10-10",
"endDate" : "2020-10-13",
"logs" : [ {
"createdBy" : "a3ab456e-4a85-431d-91f3-ed0a9fa89901",
"createdAt" : "2025-06-17T02:40:27.933349987Z",
"updatedBy" : "f3cd1c05-bcee-41c7-86dc-b32b6dd08882",
"updatedAt" : "2025-06-17T02:40:27.933348648Z",
"uuid" : "3c509709-0ba9-4ff6-8d2e-8ee351038495",
"description" : "Delivered @ 8am",
"date" : "2020-10-11",
"hours" : 3.0,
"idleHours" : 1.0,
"status" : "IN_USE",
"attachments" : [ {
"uuid" : "de919437-61bb-4f51-8f9d-35f32323c0a4",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "ab.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 39373
} ],
"operator" : "f004c07b-3a48-41c9-9f45-83f0d2e63885",
"odometerReading" : 45.0,
"fuelConsumption" : 10.0,
"costCode" : {
"uuid" : "ff1f97ea-466a-4b00-b131-a5e9ff70f7ad",
"code" : "code",
"division" : "division",
"description" : "description",
"createdAt" : null,
"updatedAt" : null
},
"equipmentDeficiencies" : [ {
"faultCode" : "101",
"description" : "Fault description"
} ]
} ],
"costCode" : {
"uuid" : "59c18804-f18b-4627-b441-b62b2ec3afdc",
"code" : "code",
"division" : "division",
"description" : "description",
"createdAt" : null,
"updatedAt" : null
},
"daysOnsite" : 10,
"daysNotInUse" : 5
} ]
}
Equipment
List
A GET
request will list the matching equipment.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
conditions |
List of equipment conditions to filter on |
true |
Enums: AVAILABLE, UNDER_MAINTENANCE, DEPLOYED, RETURNED_RETIRED |
deployedToProjectUuids |
UUIDs to filter equipment deployed projects on |
true |
|
query |
Retrieve equipment that has a match for the provided query string |
true |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the equipment |
name |
String |
Name of the equipment |
rate |
Number |
Billing rate for rented equipment. Omitted from response for owned equipment |
frequency |
String |
Rate period frequency for rental equipment billing. Omitted from response for owned equipment Enums: WEEKLY, DAILY, MONTHLY, HOURLY |
equipmentId |
String |
External ID for the equipment |
owned |
Boolean |
Flag indicating whether the equipment is owned or rentedBoolean value: true or false Boolean value: true or false |
make |
String |
Make for the equipment |
model |
String |
Model for the equipment |
type |
String |
Type for this equipment |
category |
String |
Category for the equipment |
serialNumber |
String |
Serial number of the equipment |
supplier |
String |
Supplier for rented equipment. Omitted from response for owned equipment |
condition |
String |
Condition of the equipment Enums: AVAILABLE, UNDER_MAINTENANCE, DEPLOYED, RETURNED_RETIRED |
totalHours |
Number |
Total operating hours for this equipment for all equipment deployments |
totalHoursAvailablePerWeek |
Number |
Total hours per week that this equipment is available for use |
idleHours |
Number |
Total idle hours for this equipment for all equipment deployments |
odometerType |
String |
Odometer measurement unit type for the equipment Enums: MILES, KILOMETERS |
odometerReading |
Number |
Current odometer reading for the equipment |
fuelGaugeType |
String |
Fuel gauge measurement unit type for the equipment Enums: GALLONS, LITERS |
lifeTimeFuelConsumption |
Number |
Lifetime fuel consumption for this equipment for all equipment deployments |
year |
Number |
Model year of the equipment. Format: “yyyy” |
returnDate |
String |
Rental return date for rented equipment. Omitted from response for owned equipment Format: "yyyy-MM-dd" |
deficiencyCount |
Number |
Number of deficiencies for the equipment with the status OPEN |
nextAvailableDate |
String |
Date on which the equipment will next be available Format: "yyyy-MM-dd" |
nextMaintenance |
String |
Operation hours or distance until the next required maintenance for this equipment |
deployment |
Object |
Current equipment deployment for the equipment. Omitted from response if the equipment is not currently deployed |
deployment.uuid |
String |
Unique identifier for this equipment deployment |
deployment.projectUuid |
String |
Unique identifier for the project that this equipment deployment is associated with |
deployment.startDate |
String |
Start date for this equipment deployment Format: "yyyy-MM-dd" |
deployment.endDate |
String |
End date for this equipment deployment Format: "yyyy-MM-dd" |
createdBy |
String |
Unique identifier for the user who created the equipment |
createdAt |
String |
Date and Time (UTC) when the equipment was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedBy |
String |
Unique identifier for the user who updated the equipment log |
updatedAt |
String |
Date and Time (UTC) when the equipment deployement was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/equipment?conditions=AVAILABLE,DEPLOYED&deployedToProjectUuids=94ac100a-d7ff-4ad1-8516-644baca43c93&query=query&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/equipment?conditions=AVAILABLE,DEPLOYED&deployedToProjectUuids=94ac100a-d7ff-4ad1-8516-644baca43c93&query=query&offset=0&limit=5",
"next" : "/equipment?conditions=AVAILABLE,DEPLOYED&deployedToProjectUuids=94ac100a-d7ff-4ad1-8516-644baca43c93&query=query&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"createdBy" : "bab68565-c661-4db2-aa46-d7f57bf530ac",
"createdAt" : "2025-06-17T02:40:27.406518083Z",
"updatedBy" : "3df1883c-3e25-499e-aa7a-e5171eb1b33d",
"updatedAt" : "2025-06-17T02:40:27.406520244Z",
"uuid" : "f707ad08-c67d-4d20-913f-9a100e8c549b",
"name" : "Compactor",
"rate" : 150.0,
"frequency" : "DAILY",
"equipmentId" : "EQ-1",
"owned" : false,
"make" : "Make",
"model" : "Model",
"type" : "Type",
"category" : "Category",
"serialNumber" : "123",
"supplier" : "Supplier",
"condition" : "DEPLOYED",
"totalHours" : 25.0,
"totalHoursAvailablePerWeek" : 40.0,
"idleHours" : 10.0,
"odometerType" : "KILOMETERS",
"odometerReading" : 1000.0,
"fuelGaugeType" : "LITERS",
"lifeTimeFuelConsumption" : 500.0,
"year" : 2024,
"returnDate" : "2025-06-17",
"deficiencyCount" : 2,
"nextAvailableDate" : "2025-06-27",
"nextMaintenance" : "2024-10-12",
"deployment" : {
"uuid" : "7dfe0b04-c939-4d9b-a025-0438db3a92d4",
"projectUuid" : "e5933d2f-6985-4129-b1d3-704cb72ff8c9",
"startDate" : "2025-06-17",
"endDate" : "2025-06-27"
}
} ]
}
Checklist Types
List
A GET
request will list all the checklist types on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
classes |
Return only checklist types with these classes |
true |
Enums: COMMISSIONING, EQUIPMENT, QUALITY, ENVIRONMENTAL, SAFETY, GENERAL |
statuses |
Return only checklist types with this statuses |
true |
Enums: ACTIVE, DELETED |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the checklist type |
createdAt |
String |
Date and Time (UTC) when the checklist type was created Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Status of the checklist type Enums: ACTIVE, DELETED |
class |
String |
Class of the checklist type |
name |
String |
Name of the checklist type |
createdBy.uuid |
String |
Unique identifier for the user who created the checklist type |
createdBy.name |
String |
Name of the user who created the checklist |
updatedAt |
String |
Date and Time (UTC) when the checklist type was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/checklistTypes?classes=GENERAL&classes=QUALITY&statuses=ACTIVE&statuses=DELETED&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/checklistTypes?classes=GENERAL&classes=QUALITY&statuses=ACTIVE&statuses=DELETED&offset=0&limit=5",
"next" : "/checklistTypes?classes=GENERAL&classes=QUALITY&statuses=ACTIVE&statuses=DELETED&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "3d0d5a35-4fa4-46be-a04f-28092e1713d8",
"createdAt" : "2025-06-17T02:40:21.278604634Z",
"status" : "ACTIVE",
"createdBy" : {
"uuid" : "c70cc2ee-3ce7-418d-b352-1976f6a7dee2",
"name" : "User Name"
},
"updatedAt" : "2025-06-17T02:40:21.278641482Z",
"class" : "GENERAL",
"name" : "Hazard Mitigation"
}, {
"uuid" : "f0a242f6-b1cb-44a3-8783-91b6efb0c0c5",
"createdAt" : "2025-06-17T02:40:21.278656952Z",
"status" : "ACTIVE",
"createdBy" : {
"uuid" : "f883266a-3def-4a13-8579-8289e7a831c7",
"name" : "User Name"
},
"updatedAt" : "2025-06-17T02:40:21.278667908Z",
"class" : "GENERAL",
"name" : "Hazard Mitigation"
}, {
"uuid" : "c7196d6d-817d-4923-af8c-ee39175a6286",
"createdAt" : "2025-06-17T02:40:21.278672283Z",
"status" : "ACTIVE",
"createdBy" : {
"uuid" : "ab98038d-d064-4a39-984d-b31e2c6bd497",
"name" : "User Name"
},
"updatedAt" : "2025-06-17T02:40:21.278682333Z",
"class" : "GENERAL",
"name" : "Hazard Mitigation"
}, {
"uuid" : "0d5582f3-2d00-431e-b39a-8fed69e58829",
"createdAt" : "2025-06-17T02:40:21.278692905Z",
"status" : "ACTIVE",
"createdBy" : {
"uuid" : "3d08fd89-cc39-40d7-a93e-9f53d062a65a",
"name" : "User Name"
},
"updatedAt" : "2025-06-17T02:40:21.278702531Z",
"class" : "GENERAL",
"name" : "Hazard Mitigation"
}, {
"uuid" : "566cd179-ddaf-49e0-91bf-950360289303",
"createdAt" : "2025-06-17T02:40:21.278712735Z",
"status" : "ACTIVE",
"createdBy" : {
"uuid" : "6a53035f-68db-4987-ba50-b8583ee71b9f",
"name" : "User Name"
},
"updatedAt" : "2025-06-17T02:40:21.278716443Z",
"class" : "GENERAL",
"name" : "Hazard Mitigation"
} ]
}
Checklists
List
A GET
request will list all the checklists on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Return only checklists for the project |
true |
|
statuses |
Return only checklists with these statuses |
true |
Enums: COMPLETED, DRAFT, DELETED |
createdByUuid |
Return only checklists created by a user identified by the unique identifier |
true |
|
templateUuid |
Return only checklists created from a template identified by the unique identifier |
true |
|
fromCreatedAt |
Return only checklists created at or after this time, inclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
toCreatedAt |
Return only checklists created before this time, exclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
checklistDateFrom |
Return only checklists with the checklist date at or after this time, inclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
checklistDateTo |
Return only checklists with the checklist date at or before this time, inclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
checklistTypeUuid |
Return only checklists with a checklist type identified by the unique identifier |
true |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the checklist |
name |
String |
Name of the checklist |
projectUuid |
String |
Unique identifier for the project that the checklist belongs to |
templateUuid |
String |
Unique identifier for the template of the checklist |
pdfUrl |
String |
URL for downloading the checklist PDF |
createdAt |
String |
Date and Time (UTC) when the checklist was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the checklist was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Status of the checklist Enums: COMPLETED, DRAFT, DELETED |
createdBy.uuid |
String |
Unique identifier for the user who created the checklist |
createdBy.name |
String |
Name of the user who created the checklist |
location.name |
String |
Location where the checklist was made |
location.fullPath |
String |
Full path location where the checklist was made |
checklistTypeUuid |
String |
Unique identifier for the checklist type |
observationsClosedCount |
Number |
The number of observations raised on the checklist that have been closed |
observationsRaisedCount |
Number |
The number of observations raised on the checklist |
responsibleClassificationUuid |
String |
Unique identifier for the responsible party classification |
checklistDate |
String |
Date and Time (UTC) for this checklist |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/checklists?projectUuid=20f93808-825a-4fb4-9a08-3954f3e5c56c&templateUuid=95b5d48c-4672-4097-a8c4-72f032c759f8&createdByUuid=bcd4f444-a65b-4af2-becd-64c0ea5f6369&fromCreatedAt=2025-06-16T02:40:22Z&toCreatedAt=2025-06-17T02:40:22Z&checklistTypeUuid=a600d882-2328-4b39-91e3-05fe71a7a9d2&statuses=COMPLETED&statuses=DRAFT&checklistDateFrom=2025-06-16T02:40:22Z&checklistDateTo=2025-06-17T02:40:22Z&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/checklists?projectUuid=20f93808-825a-4fb4-9a08-3954f3e5c56c&templateUuid=95b5d48c-4672-4097-a8c4-72f032c759f8&createdByUuid=bcd4f444-a65b-4af2-becd-64c0ea5f6369&fromCreatedAt=2025-06-16T02:40:22Z&toCreatedAt=2025-06-17T02:40:22Z&checklistTypeUuid=a600d882-2328-4b39-91e3-05fe71a7a9d2&statuses=COMPLETED&statuses=DRAFT&checklistDateFrom=2025-06-16T02:40:22Z&checklistDateTo=2025-06-17T02:40:22Z&offset=0&limit=5",
"next" : "/checklists?projectUuid=20f93808-825a-4fb4-9a08-3954f3e5c56c&templateUuid=95b5d48c-4672-4097-a8c4-72f032c759f8&createdByUuid=bcd4f444-a65b-4af2-becd-64c0ea5f6369&fromCreatedAt=2025-06-16T02:40:22Z&toCreatedAt=2025-06-17T02:40:22Z&checklistTypeUuid=a600d882-2328-4b39-91e3-05fe71a7a9d2&statuses=COMPLETED&statuses=DRAFT&checklistDateFrom=2025-06-16T02:40:22Z&checklistDateTo=2025-06-17T02:40:22Z&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "6d9772a3-c67b-4178-ad0f-6cd22970fbbe",
"templateUuid" : "88313457-94f4-4e5f-8c30-b1a5ca03bbf4",
"name" : "Activity Risk Assessment",
"status" : "COMPLETED",
"projectUuid" : "c1c8c27d-1b31-49cf-b9b1-e72a32b51ac2",
"pdfUrl" : "www.juliana-gleason.org",
"createdBy" : {
"uuid" : "cfa8ebb9-2f8d-4de0-8cf7-c4a57e7321f3",
"name" : "Lisha Welch PhD"
},
"createdAt" : "2024-10-02T17:56:03Z",
"updatedAt" : "2025-03-09T15:36:27Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Shayne Grove"
},
"checklistTypeUuid" : "8ef412b1-c7da-46f0-9306-3ebc0c7ea16a",
"observationsClosedCount" : 2,
"observationsRaisedCount" : 2,
"responsibleClassificationUuid" : "f910567f-3a62-4cb9-bed3-38aa8c2585be",
"checklistDate" : "2025-06-17T02:40:22.857931613"
}, {
"uuid" : "2f23235e-7425-4ef8-b4ec-ffadd430643f",
"templateUuid" : "c42f7b96-90b9-4ccf-8ae8-47c2bb96c946",
"name" : "Construction Quality Control",
"status" : "COMPLETED",
"projectUuid" : "f9bc41d8-f5b6-4b6b-86b2-614c89e30473",
"pdfUrl" : "www.manuel-weimann.org",
"createdBy" : {
"uuid" : "8479fe04-1a9c-4b42-bcd7-6d77d3d3bcff",
"name" : "Judith Gibson V"
},
"createdAt" : "2025-06-16T18:00:35Z",
"updatedAt" : "2025-06-17T02:10:08Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Friesen Prairie"
},
"checklistTypeUuid" : "f6551b84-5ac6-40ad-b6b4-cfc85f4deeb0",
"observationsClosedCount" : 9,
"observationsRaisedCount" : 4,
"responsibleClassificationUuid" : "d8232e89-14bd-4c2b-9a29-52fe98741404",
"checklistDate" : "2025-06-17T02:40:22.879348685"
}, {
"uuid" : "4c953727-a45a-41d6-8d1e-f1af04ffc206",
"templateUuid" : "ae6422bb-5472-4032-bc0d-ef93ced7e4ee",
"name" : "Covid-19 Inspection",
"status" : "COMPLETED",
"projectUuid" : "55d7ad9c-7630-4faa-8423-dd40413c7794",
"pdfUrl" : "www.joey-jaskolski.info",
"createdBy" : {
"uuid" : "5b8a6291-e016-468b-86a7-772c644a1450",
"name" : "Miss Willodean Parisian"
},
"createdAt" : "2024-11-10T06:28:59Z",
"updatedAt" : "2025-04-21T16:40:40Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Camille Burgs"
},
"checklistTypeUuid" : "fb74c9ab-22fa-436e-9bc0-764845377541",
"observationsClosedCount" : 4,
"observationsRaisedCount" : 4,
"responsibleClassificationUuid" : "6d5a2606-fece-414f-b37d-25863b311c28",
"checklistDate" : "2025-06-17T02:40:22.905841214"
}, {
"uuid" : "f94693e2-15db-4a11-9588-ab04adeada0d",
"templateUuid" : "e3c645f0-f449-4315-8bed-def38ad16618",
"name" : "Framing Pre-Inspection",
"status" : "DRAFT",
"projectUuid" : "2662185c-ad2b-4e6d-8033-da8a32d3da7b",
"pdfUrl" : "www.marty-mayert.name",
"createdBy" : {
"uuid" : "fb89c5e9-3ad6-41e5-9483-df9885471f28",
"name" : "Brian Howell"
},
"createdAt" : "2024-10-02T12:30:50Z",
"updatedAt" : "2024-12-30T19:55:36Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Charles Square"
},
"checklistTypeUuid" : "7440b077-6144-495e-86f3-d0812facebba",
"observationsClosedCount" : 3,
"observationsRaisedCount" : 3,
"responsibleClassificationUuid" : "0fe6e3f8-5fa7-4034-aa34-a47b02e18bbc",
"checklistDate" : "2025-06-17T02:40:22.933384339"
}, {
"uuid" : "3415e1db-98aa-4b01-af6d-b3fd45f17b77",
"templateUuid" : "9d0d7517-b095-446b-a308-d6e45b257449",
"name" : "Material Delivery",
"status" : "DRAFT",
"projectUuid" : "03f90be1-43f3-47eb-95d8-00a6890a78fa",
"pdfUrl" : "www.laci-bauch.com",
"createdBy" : {
"uuid" : "ec84990c-84d2-40cc-9897-a221270a6014",
"name" : "Mr. Pete Beier"
},
"createdAt" : "2024-06-09T00:23:16Z",
"updatedAt" : "2025-03-18T13:52:24Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Robbie Forge"
},
"checklistTypeUuid" : "136a40d2-7414-44fe-bf73-f8e1b75333ea",
"observationsClosedCount" : 3,
"observationsRaisedCount" : 2,
"responsibleClassificationUuid" : "bbfb79b3-ca4a-4838-9bd0-cb429fa3f448",
"checklistDate" : "2025-06-17T02:40:22.963734243"
} ]
}
Get
A GET
request will get a checklist by UUID on your Raken account.
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the checklist |
name |
String |
Name of the checklist |
projectUuid |
String |
Unique identifier for the project that the checklist belongs to |
templateUuid |
String |
Unique identifier for the template of the checklist |
pdfUrl |
String |
URL for downloading the checklist PDF |
createdAt |
String |
Date and Time (UTC) when the checklist was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the checklist was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Status of the checklist Enums: COMPLETED, DRAFT, DELETED |
createdBy.uuid |
String |
Unique identifier for the user who created the checklist |
createdBy.name |
String |
Name of the user who created the checklist |
location.name |
String |
Location where the checklist was made |
location.fullPath |
String |
Full path location where the checklist was made |
checklistTypeUuid |
String |
Unique identifier for the checklist type |
observationsClosedCount |
Number |
The number of observations raised on the checklist that have been closed |
observationsRaisedCount |
Number |
The number of observations raised on the checklist |
responsibleClassificationUuid |
String |
Unique identifier for the responsible party classification |
checklistDate |
String |
Date and Time (UTC) for this checklist |
checklistSections |
Array |
Sections of the checklist |
checklistSections[].position |
Number |
Order of the section in the list |
checklistSections[].title |
String |
Title of the section |
checklistSections[].description |
String |
Description of the section |
checklistSections[].checklistQuestions |
Array |
Questions under the section |
checklistSections[].checklistQuestions[].questionText |
String |
Question text |
checklistSections[].checklistQuestions[].responseType |
String |
Response type Enums: MULTI_CHOICE, CHECKBOX, YES_NO_NA, TEXT, YES_NO, SIGNATURE |
checklistSections[].checklistQuestions[].position |
Number |
Order of the question in the section |
checklistSections[].checklistQuestions[].required |
Boolean |
Flag that indicates whether or not the question must be answered Boolean value: true or false |
checklistSections[].checklistQuestions[].checklistResponses |
Array |
Question responses |
checklistSections[].checklistQuestions[].checklistResponses[].value |
String |
Response to the question |
checklistSections[].checklistQuestions[].checklistResponses[].note |
String |
Response notes |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments |
Array |
Response attachments |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments[].uuid |
String |
Unique identifier for this attachment |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments[].mediaType |
String |
Media type for this attachment Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments[].url |
String |
URL for this attachment |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments[].thumbnailUrl |
String |
Thumbnail URL for this attachment |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments[].contentType |
String |
Content type for this attachment (e.g. 'image/jpeg', 'image/png') |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments[].description |
String |
Description of this attachment |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments[].fileName |
String |
File name of this attachment |
checklistSections[].checklistQuestions[].checklistResponses[].checklistResponseAttachments[].fileSize |
Number |
Size of this attachment in bytes |
checklistSections[].checklistQuestions[].checklistResponses[].choices |
Array |
Response choices |
checklistSections[].checklistQuestions[].checklistResponses[].choices[].position |
Number |
Order of the choice in the list |
checklistSections[].checklistQuestions[].checklistResponses[].choices[].description |
String |
Description of the choice |
checklistSections[].checklistQuestions[].checklistResponses[].choices[].selected |
Boolean |
Flag that indicates whether or not the choice is selected Boolean value: true or false |
checklistSections[].checklistQuestions[].checklistResponses[].observations[].uuid |
String |
Unique identifier of the observation on this checklist response |
checklistSections[].checklistQuestions[].checklistResponses[].observations[].category |
String |
Category of the observation on this checklist response |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/checklists/fdf69d60-f6d8-4a77-8109-f1b06451da36' -i -X GET
Response body
{
"uuid" : "fdf69d60-f6d8-4a77-8109-f1b06451da36",
"templateUuid" : "b82e4bce-f0b4-467e-a9f9-30c89b5e439e",
"name" : "Construction Quality Control",
"status" : "DRAFT",
"projectUuid" : "c1f2a38d-9690-4a50-8786-dd49b0e23a3f",
"pdfUrl" : "www.barb-dickinson.co",
"createdBy" : {
"uuid" : "61d4a898-7c2d-43c5-abc0-6535c33cabf6",
"name" : "Rolland Braun"
},
"createdAt" : "2025-06-16T16:44:08Z",
"updatedAt" : "2025-06-16T22:42:08Z",
"location" : {
"fullPath" : "Location full path",
"name" : "Ledner Rapids"
},
"checklistTypeUuid" : "53fb983c-676f-4b0a-bfc3-15b3c64bc416",
"observationsClosedCount" : 4,
"observationsRaisedCount" : 1,
"responsibleClassificationUuid" : "e5ccf179-eb0c-493c-9b45-b6b520370ee4",
"checklistDate" : "2025-06-17T02:40:22.698029354",
"checklistSections" : [ {
"checklistQuestions" : [ {
"checklistResponses" : [ {
"value" : "Dicta deserunt velit dolores sint aut veniam.",
"note" : "Ab iste ut repellat quis et. Est iste voluptas similique minima repellat non nisi.",
"checklistResponseAttachments" : [ {
"uuid" : "709b56ad-5806-4f55-8041-a60c8fb5ac9f",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "numquam.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 24924
} ],
"choices" : [ {
"description" : "Choice 2",
"position" : 2,
"selected" : false
}, {
"description" : "Choice 1",
"position" : 1,
"selected" : true
} ],
"observations" : [ {
"uuid" : "7d03ae35-5fbe-4d13-9029-a762bd5e2ca8",
"category" : "NEGATIVE"
} ]
} ],
"questionText" : "Do edges that people could fall from have suitable edge protection?",
"responseType" : "CHECKBOX",
"position" : 2,
"required" : false
}, {
"checklistResponses" : [ {
"value" : "Quaerat et numquam sed sint consequatur cum.",
"note" : "Incidunt tempora dolorem ut in et quo. Est labore nemo fugit laborum. Corporis accusantium debitis sed laudantium ut. Commodi natus porro quidem numquam at.",
"checklistResponseAttachments" : [ {
"uuid" : "b34c69ff-f716-475f-823d-c9966107316c",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "ut.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 63393
} ],
"choices" : [ {
"description" : "Choice 2",
"position" : 2,
"selected" : false
}, {
"description" : "Choice 1",
"position" : 1,
"selected" : true
} ],
"observations" : [ {
"uuid" : "68565987-3e6e-4d7d-a12d-6edd7beea168",
"category" : "NEGATIVE"
} ]
} ],
"questionText" : "Are access routes in good condition and clearly signposted?",
"responseType" : "CHECKBOX",
"position" : 1,
"required" : true
} ],
"position" : 1,
"title" : "Section 1",
"description" : "Description about the section"
} ]
}
List Checklist Templates
A GET
request will list all the checklist templates on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
statuses |
Return only checklist templates with given statuses. The default is ACTIVE |
true |
Enums: ACTIVE, DRAFT, DELETED |
checklistTypeUuids |
Return only checklist templates with the specified checklist type(s) by the unique identifier |
true |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the checklist template |
name |
String |
Name of the checklist template |
createdAt |
String |
Date and Time (UTC) when the checklist template was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the checklist template was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
status |
String |
Status of the checklist template Enums: ACTIVE, DRAFT, DELETED |
checklistType.uuid |
String |
Unique identifier for the checklist type |
checklistType.class |
String |
Class for the checklist type |
checklistType.name |
String |
Name for the checklist type |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/checklists/templates?statuses=ACTIVE&statuses=DRAFT&checklistTypeUuids=37a19af9-24b0-4508-bb4c-ce7b6f4a786b&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/checklists/templates?statuses=ACTIVE&statuses=DRAFT&checklistTypeUuids=37a19af9-24b0-4508-bb4c-ce7b6f4a786b&offset=0&limit=5",
"next" : "/checklists/templates?statuses=ACTIVE&statuses=DRAFT&checklistTypeUuids=37a19af9-24b0-4508-bb4c-ce7b6f4a786b&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "97e5ece3-2d51-4e3f-958b-85bda1fc78e2",
"name" : "Activity Risk Assessment",
"status" : "DRAFT",
"createdAt" : "2024-11-06T17:52:27Z",
"updatedAt" : "2025-01-01T19:56:49Z",
"checklistType" : {
"uuid" : "ea69ffaa-d44b-476a-bd1f-5311b27f3a3f",
"class" : "QUALITY",
"name" : "Raken Quality Checklists"
}
}, {
"uuid" : "59c57dcd-0a77-4dd5-8f0b-674217ef5473",
"name" : "Construction Quality Control",
"status" : "ACTIVE",
"createdAt" : "2024-10-04T13:50:29Z",
"updatedAt" : "2024-11-24T10:51:09Z",
"checklistType" : {
"uuid" : "4d1b4ba6-b3bb-4424-9489-b5f5cda9d44a",
"class" : "SAFETY",
"name" : "Raken Safety Checklists"
}
}, {
"uuid" : "c3278648-769e-4e60-be62-c04bd3358856",
"name" : "Covid-19 Inspection",
"status" : "ACTIVE",
"createdAt" : "2024-05-26T08:13:31Z",
"updatedAt" : "2025-03-19T05:41:53Z",
"checklistType" : {
"uuid" : "fc7fe057-649f-4acf-bb1e-6c003d76d9f7",
"class" : "EQUIPMENT",
"name" : "Raken Equipment Checklists"
}
}, {
"uuid" : "575d6dd7-ca9a-4fc7-9ebc-44952690e8e5",
"name" : "Framing Pre-Inspection",
"status" : "DRAFT",
"createdAt" : "2024-01-27T12:50:17Z",
"updatedAt" : "2024-01-28T19:24:40Z",
"checklistType" : {
"uuid" : "ce564729-fb99-4735-8c1b-1ce5779ee067",
"class" : "GENERAL",
"name" : "Raken General Checklists"
}
}, {
"uuid" : "97972d01-ce6a-4033-92aa-b47e5e238b55",
"name" : "Material Delivery",
"status" : "DRAFT",
"createdAt" : "2025-01-15T01:24:58Z",
"updatedAt" : "2025-03-29T20:24:24Z",
"checklistType" : {
"uuid" : "83b1badf-c3a2-4084-a431-781fbb5235fb",
"class" : "QUALITY",
"name" : "Raken Quality Checklists"
}
} ]
}
Materials
List
A GET
request will list all the materials on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
If specified, return materials only for this project |
true |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier of the material |
name |
String |
Name of the material |
materialUnit |
Object |
Material unit |
materialUnit.uuid |
String |
Unique identifier of the material unit |
materialUnit.name |
String |
Name of the material unit |
projects |
Array |
List of projects that the material is assigned to |
projects[].uuid |
String |
Unique identifier of the project |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/materials?projectUuid=ee418a06-bfa2-46a7-b302-63f5b35f6c03&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/materials?projectUuid=ee418a06-bfa2-46a7-b302-63f5b35f6c03&offset=0&limit=5",
"next" : "/materials?projectUuid=ee418a06-bfa2-46a7-b302-63f5b35f6c03&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "fbc5667c-f21d-435c-b15a-f0b7c4642f40",
"name" : "Cement",
"materialUnit" : {
"uuid" : "aeb00469-33df-41f9-a2d9-4277b7cf65ff",
"name" : "kg"
},
"projects" : [ {
"uuid" : "bc3f0624-8a07-441c-a586-8e005f961b62"
} ]
}, {
"uuid" : "eee003ac-87bf-4a7b-be3b-1a231e7bdc84",
"name" : "Sand",
"materialUnit" : {
"uuid" : "76115fbd-9255-41c2-a410-387b0c8cf450",
"name" : "kg"
},
"projects" : [ {
"uuid" : "c8cc8fe8-209e-4466-b2a4-d1c52b050372"
} ]
}, {
"uuid" : "aa3b4774-a76f-49c6-9a46-10921211c9ff",
"name" : "Steel",
"materialUnit" : {
"uuid" : "13748121-5772-4976-930c-732ad2d78b5d",
"name" : "kg"
},
"projects" : [ {
"uuid" : "ca908fd2-4252-46d6-9552-e6d928384356"
} ]
}, {
"uuid" : "40201cc4-b4e8-443b-81f0-31c89e936fd1",
"name" : "Concrete",
"materialUnit" : {
"uuid" : "a9f54584-3be5-4149-88a6-089abcb3f0b4",
"name" : "kg"
},
"projects" : [ {
"uuid" : "18b65590-f32a-41bf-a10b-dbda38609840"
} ]
}, {
"uuid" : "b52af1b2-395a-4a41-956b-fe278906feac",
"name" : "Bricks",
"materialUnit" : {
"uuid" : "4b3898be-719a-4202-a59d-c2f1c138b409",
"name" : "kg"
},
"projects" : [ {
"uuid" : "4e7095ed-9948-4bfc-9b59-6cd6ceb89301"
} ]
} ]
}
Create
A POST
request will create a new material on your Raken account.
-
If
projectUuid
is specified when creating a material, the material will be only available to the project. -
If
projectUuid
is not specified when creating a material, the material will be available to use by any project on your Raken account.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Name of the material |
false |
Must not be blank Size must be between 0 and 255 inclusive |
materialUnitUuid |
String |
Unique identifier for the unit of the material |
false |
Must not be null |
projectUuid |
String |
If specified, a material is created for this project and can’t be used by other projects. If not specified, a company level material is created which is available to use by all projects. |
true |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier of the material |
name |
String |
Name of the material |
materialUnit |
Object |
Material unit |
materialUnit.uuid |
String |
Unique identifier of the material unit |
materialUnit.name |
String |
Name of the material unit |
projects |
Array |
List of projects that the material is assigned to |
projects[].uuid |
String |
Unique identifier of the project |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/materials' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "Sand",
"materialUnitUuid" : "265be9eb-74ee-4941-b984-03d9aa8ba152",
"projectUuid" : "bb10c890-9614-4fb3-8d55-e0ac3f401eab"
}'
Response body
{
"uuid" : "bb32d8ae-0189-43c2-b9ce-041408f2d03e",
"name" : "Sand",
"materialUnit" : {
"uuid" : "265be9eb-74ee-4941-b984-03d9aa8ba152",
"name" : "kg"
},
"projects" : [ {
"uuid" : "bb10c890-9614-4fb3-8d55-e0ac3f401eab"
} ]
}
Update
A PATCH
request will update a material.
You can change a material’s name or unit, and also configure which projects the material can be used by.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Name of the material |
true |
Must not be blank Size must be between 0 and 255 inclusive |
materialUnitUuid |
String |
Unique identifier of the unit for the material |
true |
|
projectUuids |
Array |
List of unique identifiers for projects that the material is assigned to |
true |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier of the material |
name |
String |
Name of the material |
materialUnit |
Object |
Material unit |
materialUnit.uuid |
String |
Unique identifier of the material unit |
materialUnit.name |
String |
Name of the material unit |
projects |
Array |
List of projects that the material is assigned to |
projects[].uuid |
String |
Unique identifier of the project |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/materials/03d8a767-f565-4ad6-b038-df264a677d9b' -i -X PATCH \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "Steel"
}'
Response body
{
"uuid" : "03d8a767-f565-4ad6-b038-df264a677d9b",
"name" : "Steel",
"materialUnit" : {
"uuid" : "5d785e67-61f3-4002-8928-8e1c6e3f1863",
"name" : "kg"
},
"projects" : [ {
"uuid" : "4a7e0927-878b-4b1d-91b0-c254a1dbff07"
} ]
}
Material Units
List
A GET
request will list all the material units on your Raken account
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the unit |
name |
String |
Name of the unit |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/materialUnits?limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/materialUnits?offset=0&limit=5",
"next" : "/materialUnits?offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "73b64cfb-d969-4222-ac5d-e7e0d985fc38",
"name" : "m"
}, {
"uuid" : "b6a35b1c-d2b8-45aa-b4fb-63c2281dcbbc",
"name" : "inch"
}, {
"uuid" : "ceef4e60-0d41-454e-a497-8c7de4474658",
"name" : "gallon"
}, {
"uuid" : "64b91c12-0dbc-4b51-bc2a-c4241b69b4bc",
"name" : "m²"
}, {
"uuid" : "be2a4716-7e96-4ce4-b868-bbff8fb86f8a",
"name" : "ea"
} ]
}
Create
A POST
request will create a new material unit.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Name of the unit |
false |
Must not be blank Size must be between 0 and 255 inclusive |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the unit |
name |
String |
Name of the unit |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/materialUnits' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "inch"
}'
Response body
{
"uuid" : "bc5c6fe3-138c-4f5f-b75b-f06039cd6591",
"name" : "inch"
}
Material Logs
List
A GET
request will list the matching material logs.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Return material logs for this project |
false |
|
fromDate |
Return material logs starting on this date |
true |
Format: "yyyy-MM-dd" |
toDate |
Return material logs ending on this date |
true |
Format: "yyyy-MM-dd" |
changedSince |
Return only material logs updated at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only material logs updated before this time, exclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the material log |
date |
String |
Date of this log Format: "yyyy-MM-dd" |
updatedAt |
String |
Date and Time (UTC) when the material log was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
material |
Object |
Details of the Material |
material.uuid |
String |
Unique identifier of the Material |
material.name |
String |
Name of the Material |
material.materialUnit |
Object |
Material unit |
material.materialUnit.uuid |
String |
Unique identifier of the material unit |
material.materialUnit.name |
String |
Name of the material unit |
quantity |
Number |
Quantity of this material |
costCode |
Object |
Details of the Cost Code |
costCode.uuid |
String |
Unique identifier for the Cost Code |
costCode.code |
String |
Code for the Cost Code |
costCode.division |
String |
Division for the Cost Code |
costCode.description |
String |
Description of the Cost Code |
attachments[].uuid |
String |
Unique identifier for this attachment on the material log |
attachments[].url |
String |
Url for this attachment on the material log |
attachments[].description |
String |
Description of this attachment on the material log |
attachments[].thumbnailUrl |
String |
Thumbnail Url for this attachment on the material log |
attachments[].contentType |
String |
Content type for this attachment on the material log (e.g. 'image/jpeg', 'image/png') |
attachments[].mediaType |
String |
Media type for this attachment on the material log Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
attachments[].fileName |
String |
File name of this attachment on the material log |
attachments[].fileSize |
Number |
Size of this attachment on the material log in bytes |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/materialLogs?fromDate=2011-01-01&toDate=2012-01-01&changedSince=2024-03-03T14:00:00Z&changedUntil=2024-03-13T14:00:00Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/materialLogs?fromDate=2011-01-01&toDate=2012-01-01&changedSince=2024-03-03T14:00:00Z&changedUntil=2024-03-13T14:00:00Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&offset=0&limit=5",
"next" : "/materialLogs?fromDate=2011-01-01&toDate=2012-01-01&changedSince=2024-03-03T14:00:00Z&changedUntil=2024-03-13T14:00:00Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "7c720e15-ec4e-4430-9de9-7c972c5645e0",
"material" : {
"uuid" : "8f545e7c-fc29-4615-b03a-fe2e9491edf4",
"name" : "Concrete",
"materialUnit" : {
"uuid" : "b9bd88c2-b43c-4a7a-b04d-67f628543fcb",
"name" : "Cubic Ft"
}
},
"costCode" : {
"uuid" : "f7b6f115-ba3f-43f0-b164-482fbbd09b8f",
"code" : "0110",
"division" : "division",
"description" : "Structural Concrete"
},
"attachments" : [ {
"uuid" : "4d3e96b7-117c-4a87-bc6c-b5d5ed89aa2c",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "quis.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 37301
} ],
"quantity" : 50.0,
"date" : "2020-10-10",
"updatedAt" : "2025-06-17T02:40:29.273110589Z"
} ]
}
Pay Types
List
A GET
request will list all the pay types.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuids |
Restrict the pay types to the projects represented by these UUIDs. (Parameter may be included multiple times) |
true |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the pay type |
name |
String |
Name for the pay type |
code |
String |
Code for the pay type |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/payTypes?projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/payTypes?projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&offset=0&limit=5",
"next" : "/payTypes?projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "757342d8-135b-430a-9b1e-c4d87518b3b2",
"name" : "Regular Time",
"code" : "RT"
}, {
"uuid" : "2dadcdf3-7636-45e3-b16d-f53f3ce7a605",
"name" : "Over Time",
"code" : "OT"
}, {
"uuid" : "912dbbc5-83a2-4b1c-9de0-4a71979e17b4",
"name" : "Double Time",
"code" : "DT"
} ]
}
Budgets
List
A GET
request will list all the budgets.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Restrict the budgets to the projects represented by this UUID. |
false |
Entity response fields
Path | Type | Description |
---|---|---|
costCode.uuid |
String |
Unique identifier for the cost code |
budgetedHours |
Number |
Budgeted hours for the cost code |
budgetedMaterials |
Array |
Materials included in the budget |
budgetedMaterials[].quantity |
Number |
Budgeted quantity of material |
budgetedMaterials[].material.uuid |
String |
Unique identifier for this material |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/budgets?projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/budgets?projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&offset=0&limit=5",
"next" : "/budgets?projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"budgetedHours" : 79.24,
"costCode" : {
"uuid" : "a863fda7-cd41-4e55-ba91-10b3f848f439"
},
"budgetedMaterials" : [ {
"quantity" : 11.0,
"material" : {
"uuid" : "b326254f-31be-43cf-ba78-14e8f899610b"
}
}, {
"quantity" : 7.0,
"material" : {
"uuid" : "de030cf7-d796-496a-b7fc-38202aeb385d"
}
} ]
}, {
"budgetedHours" : 42.39,
"costCode" : {
"uuid" : "53d8932c-82be-4b3b-aa9f-662be5d76b08"
},
"budgetedMaterials" : [ {
"quantity" : 48.0,
"material" : {
"uuid" : "94304f8e-b521-4f84-b7d4-a4d4eb22e05c"
}
}, {
"quantity" : 54.0,
"material" : {
"uuid" : "8f5e5401-7a17-44e5-be6b-98a8836437c0"
}
} ]
} ]
}
Daily Reports
List
A GET
request will list all the daily reports on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Return only daily reports for the project. |
false |
|
fromDate |
Return daily reports created on or after this date |
true |
Format: "yyyy-MM-dd" |
toDate |
Return daily reports created on or before this date. The date range between fromDate and toDate must not exceed 31 days |
true |
Format: "yyyy-MM-dd" |
statuses |
Return only daily reports with given statuses. The default is COMPLETED |
true |
Enums: COMPLETED, UNSIGNED, NO_WORK_DONE |
changedSince |
Return only daily reports updated at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only daily reports updated before this time, exclusive. The date range between changedSince and changedUntil must not exceed 31 days |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the report |
status |
String |
Status of the report Enums: COMPLETED, UNSIGNED, NO_WORK_DONE |
projectUuid |
String |
Unique identifier for the project that the report is in |
reportDate |
String |
Date of the report Format: "yyyy-MM-dd" |
createdBy.name |
String |
Name of the user who created the report |
createdBy.uuid |
String |
Unique identifier for the user who created the report |
updatedBy.name |
String |
Name of the user who last updated the report |
updatedBy.uuid |
String |
Unique identifier for the user who last updated the report |
signedBy.name |
String |
Name of the user who signed the report |
signedBy.uuid |
String |
Unique identifier for the user who signed the report |
signedAt |
String |
Date and Time (UTC) when the report was signed Format: "yyyy-MM-ddThh:mm:ssZ" |
createdAt |
String |
Date and Time (UTC) when the report was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the report was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
reportLinks.superDaily |
String |
URL of the PDF file for the super daily report |
reportLinks.daily |
String |
URL of the PDF file for the daily report |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/dailyReports?projectUuid=90ecc384-e0fb-4bda-8f41-f90f8f72cc71&fromDate=2025-06-17&toDate=2025-07-07&statuses=UNSIGNED,COMPLETED&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/dailyReports?projectUuid=90ecc384-e0fb-4bda-8f41-f90f8f72cc71&fromDate=2025-06-17&toDate=2025-07-07&statuses=UNSIGNED,COMPLETED&offset=0&limit=5",
"next" : "/dailyReports?projectUuid=90ecc384-e0fb-4bda-8f41-f90f8f72cc71&fromDate=2025-06-17&toDate=2025-07-07&statuses=UNSIGNED,COMPLETED&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "b65ebe24-f653-4a05-8427-95aded3cef68",
"status" : "COMPLETED",
"reportDate" : "2023-11-03",
"projectUuid" : "d4990936-b7f1-4c82-a92c-f6cad6ab3c39",
"signedBy" : {
"uuid" : "445d415c-fe0b-489a-9641-2d4a390b8542",
"name" : "Abel Adams"
},
"signedAt" : "2025-06-16T03:41:08Z",
"createdBy" : {
"uuid" : "5672f7ba-7079-4761-9af6-d85ff75d9ffd",
"name" : "Mrs. Daryl Zieme"
},
"createdAt" : "2023-11-03T00:51:29Z",
"updatedBy" : {
"uuid" : "34de58d0-4a4c-433e-b5a8-ba3cbc379da1",
"name" : "Yong Mante"
},
"updatedAt" : "2024-10-19T00:20:01Z",
"reportLinks" : {
"daily" : "http://cdn.rakenapp.com/projects/reports/my-projects_2023-11-03_FEA8582A.pdf",
"superDaily" : "http://cdn.rakenapp.com/projects/reports/superdaily/my-projects_2023-11-03_756ADDB4.pdf"
}
}, {
"uuid" : "dd9c9ee1-f540-4078-8fbf-8de2d5d360f6",
"status" : "UNSIGNED",
"reportDate" : "2024-10-02",
"projectUuid" : "24cfe574-943c-456d-8013-047357031c7c",
"createdBy" : {
"uuid" : "283043c9-9b6c-4612-a63c-b25e09ba743e",
"name" : "Zachery Cole"
},
"createdAt" : "2024-10-02T09:29:22Z",
"updatedBy" : {
"uuid" : "55ac1310-8882-4459-877b-86752766cb9f",
"name" : "Mrs. Charlette Witting"
},
"updatedAt" : "2025-03-15T14:53:51Z",
"reportLinks" : {
"daily" : "http://cdn.rakenapp.com/projects/reports/my-projects_2024-10-02_173FA5EF.pdf",
"superDaily" : "http://cdn.rakenapp.com/projects/reports/superdaily/my-projects_2024-10-02_004909AF.pdf"
}
}, {
"uuid" : "b804e058-dde4-48a8-97e3-9f5546c0b434",
"status" : "UNSIGNED",
"reportDate" : "2024-09-04",
"projectUuid" : "f38c54e2-14c2-4eb1-a15d-b6b4ba88c832",
"createdBy" : {
"uuid" : "321ac708-9dd3-4321-a35c-2981afd7a24d",
"name" : "Lincoln Schuppe"
},
"createdAt" : "2024-09-04T17:57:19Z",
"updatedBy" : {
"uuid" : "16f3e275-3ef3-4a66-8ad9-702b5ed3f94e",
"name" : "Rogelio Sipes"
},
"updatedAt" : "2025-05-30T08:25:22Z",
"reportLinks" : {
"daily" : "http://cdn.rakenapp.com/projects/reports/my-projects_2024-09-04_68C3C34F.pdf",
"superDaily" : "http://cdn.rakenapp.com/projects/reports/superdaily/my-projects_2024-09-04_20ECCCF2.pdf"
}
}, {
"uuid" : "41ec89b4-21e4-472f-b6b5-5422a525b5b8",
"status" : "NO_WORK_DONE",
"reportDate" : "2024-12-15",
"projectUuid" : "09258895-3853-4581-a390-b925c2da689b",
"createdBy" : {
"uuid" : "1f307836-8680-406b-969a-909c13d76685",
"name" : "Louis Mayert III"
},
"createdAt" : "2024-12-15T09:54:31Z",
"updatedBy" : {
"uuid" : "3c3247bd-918c-49c0-aa3e-594107869559",
"name" : "Coleman Welch"
},
"updatedAt" : "2025-02-23T17:48:40Z",
"reportLinks" : {
"daily" : "http://cdn.rakenapp.com/projects/reports/my-projects_2024-12-15_D2885532.pdf",
"superDaily" : "http://cdn.rakenapp.com/projects/reports/superdaily/my-projects_2024-12-15_8D51F8A5.pdf"
}
}, {
"uuid" : "6c7870ac-7616-4f66-851d-71dc09b99d6e",
"status" : "UNSIGNED",
"reportDate" : "2023-08-02",
"projectUuid" : "addd467c-8af3-47f8-bccc-e4a2cd0a87dd",
"createdBy" : {
"uuid" : "82772a19-9bbd-46a0-b37f-d167ca5aa5cc",
"name" : "Ivory Mraz"
},
"createdAt" : "2023-08-02T17:10:27Z",
"updatedBy" : {
"uuid" : "5ba5e47b-466c-48c8-b70d-9ab8dfd90de7",
"name" : "German Wilderman"
},
"updatedAt" : "2024-11-13T08:35:17Z",
"reportLinks" : {
"daily" : "http://cdn.rakenapp.com/projects/reports/my-projects_2023-08-02_00527E18.pdf",
"superDaily" : "http://cdn.rakenapp.com/projects/reports/superdaily/my-projects_2023-08-02_560AD496.pdf"
}
} ]
}
Toolbox Talks
List
A GET
request will list all the toolbox talks on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
statuses |
Return only toolbox talks with given statuses. The default is ACTIVE |
true |
Enums: ACTIVE, DELETED |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the talk |
name |
String |
Name of the talk |
status |
String |
Status of the talk Enums: ACTIVE, DELETED |
contentUrl |
String |
A URL for downloading the content of the talk |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/toolboxTalks?statuses=ACTIVE,DELETED&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/toolboxTalks?statuses=ACTIVE,DELETED&offset=0&limit=5",
"next" : "/toolboxTalks?statuses=ACTIVE,DELETED&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "7251c235-2cef-4a2c-ba1d-9fc378490bf1",
"name" : "Soluta sed facilis explicabo consectetur est blanditiis non.",
"status" : "DELETED",
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-B539D1FC.pdf"
}, {
"uuid" : "cfaddbd2-7d76-4c0b-b3d9-0923373b01b0",
"name" : "Libero quia quas et architecto ratione perspiciatis aut.",
"status" : "ACTIVE",
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-BA7BC7F0.pdf"
}, {
"uuid" : "2b347adf-25f5-4b2d-9633-17e05cc571c9",
"name" : "Repellendus voluptatem impedit laborum magni qui.",
"status" : "DELETED",
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-33288BAA.pdf"
}, {
"uuid" : "a650829c-cb84-42d0-9931-9486179939b8",
"name" : "Minus non dolorum mollitia modi dolorem corporis eum et animi.",
"status" : "DELETED",
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-87660654.pdf"
}, {
"uuid" : "f0ea4af8-1eb8-417d-93cc-fd7131970961",
"name" : "Temporibus soluta consectetur ut at laborum dolorem earum.",
"status" : "DELETED",
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-A15928F3.pdf"
} ]
}
List Past Talks
A GET
request will list all past toolbox talks on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Return talks for this project |
true |
|
talkUuid |
Return the talk represented by this identifier |
true |
|
memberUuids |
Return talks attended by this members |
true |
|
fromCreatedAt |
Return talks created in this range, this is start range |
true |
Format: "yyyy-MM-dd" |
toCreatedAt |
Return talks created in this range, this is end range. If not specified, it is capped to a month from fromCreatedAt |
true |
Format: "yyyy-MM-dd" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the project talk |
project.uuid |
String |
Unique identifier for the project |
scheduleDate |
String |
Scheduled date for the talk Format: "yyyy-MM-dd" |
status |
String |
Status of the talk Enums: COMPLETED, INCOMPLETE, MISSED |
talk.uuid |
String |
Unique identifier for the talk |
talk.name |
String |
Name of the talk |
type |
String |
Type of the talk Enums: TAKEN_PHOTO, UNDEFINED, DIGITAL_SIGNATURES |
attendees[].member.uuid |
String |
Unique identifier of the member who attended the talk |
attendees[].member.name |
String |
Name of the member who attended the talk |
attendees[].signatureDate |
String |
Signature date of member who attended the talk |
signaturePhotos[].contentUrl |
String |
Link to the photo. Only available when talk type is TAKEN_PHOTO |
signaturePhotos[].thumbnailUrl |
String |
Link to the thumbnail of the photo. Only available when talk type is TAKEN_PHOTO |
pdfUrl |
String |
A URL for downloading the content of the talk |
createdAt |
String |
Date and Time (UTC) when the project talk was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the project talk was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
createdBy.uuid |
String |
Unique identifier of the user who created this talk |
updatedBy.uuid |
String |
Unique identifier of the user who updated this talk |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/toolboxTalks/past?projectUuid=e98fca48-6453-4ef4-b59b-f22bde9e09db&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/toolboxTalks/past?projectUuid=e98fca48-6453-4ef4-b59b-f22bde9e09db&offset=0&limit=5",
"next" : "/toolboxTalks/past?projectUuid=e98fca48-6453-4ef4-b59b-f22bde9e09db&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "aea7ca82-525c-4bb6-9790-f74bd527a3ca",
"project" : {
"uuid" : "67640c32-e9a3-4e48-9c64-81c8574d4d97"
},
"scheduleDate" : "2025-06-19",
"createdAt" : "2025-06-17T02:40:36.050639681Z",
"updatedAt" : "2025-06-17T02:40:36.050667917Z",
"talk" : {
"uuid" : "7e8bb75d-9322-44ae-847a-24406e3af6d4",
"name" : "Voluptatem assumenda est et repellendus quia."
},
"status" : "MISSED",
"type" : "DIGITAL_SIGNATURES",
"attendees" : [ {
"member" : {
"uuid" : "b5b033d8-058f-45e8-b809-08380c4010e0",
"name" : "Fredia Stoltenberg"
},
"signatureDate" : "2025-06-17T02:40:36.046768574"
} ],
"signaturePhotos" : [ {
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-B849D55E.pdf",
"thumbnailUrl" : "http://cdn.rakenapp.com/toolbox-talks-D90F7490.pdf"
} ],
"pdfUrl" : "http://cdn.rakenapp.com/toolbox-talks-2F008832.pdf",
"createdBy" : {
"uuid" : "efc54aca-e7ec-4bc2-bd53-ae1540d8d709"
},
"updatedBy" : {
"uuid" : "ccc24ea7-3d95-449a-a885-017641a60fe3"
}
}, {
"uuid" : "f55bd070-6ce0-4049-922e-8b4c5f94915b",
"project" : {
"uuid" : "cb5738f1-ffa3-4794-b602-47c7ec3172ef"
},
"scheduleDate" : "2025-06-19",
"createdAt" : "2025-06-17T02:40:36.066903299Z",
"updatedAt" : "2025-06-17T02:40:36.066914773Z",
"talk" : {
"uuid" : "6e307b62-f7db-45c3-b4b3-0dabc0fbf932",
"name" : "Iusto vel culpa harum pariatur."
},
"status" : "COMPLETED",
"type" : "DIGITAL_SIGNATURES",
"attendees" : [ {
"member" : {
"uuid" : "cb5cf9f6-002e-4df4-9605-2772410ac8a5",
"name" : "Dr. Joesph Rempel"
},
"signatureDate" : "2025-06-17T02:40:36.064079818"
} ],
"signaturePhotos" : [ {
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-0126783E.pdf",
"thumbnailUrl" : "http://cdn.rakenapp.com/toolbox-talks-0A02A2C9.pdf"
} ],
"pdfUrl" : "http://cdn.rakenapp.com/toolbox-talks-8CB18A17.pdf",
"createdBy" : {
"uuid" : "264318bd-39f8-4b3c-a70b-955de7475b32"
},
"updatedBy" : {
"uuid" : "d0fc8fa1-6545-456e-9c09-816b182a0024"
}
}, {
"uuid" : "13c35888-2562-48f7-8b16-6dd78a7f2e51",
"project" : {
"uuid" : "180e7ac2-c9b7-4785-98f5-b7104bb175e5"
},
"scheduleDate" : "2025-06-19",
"createdAt" : "2025-06-17T02:40:36.082578291Z",
"updatedAt" : "2025-06-17T02:40:36.082587210Z",
"talk" : {
"uuid" : "4c00ee41-b897-47f2-8c33-324a77014e62",
"name" : "Neque non autem quod."
},
"status" : "MISSED",
"type" : "DIGITAL_SIGNATURES",
"attendees" : [ {
"member" : {
"uuid" : "466a482e-420b-48e7-87df-f9131790e3e6",
"name" : "Keenan Klein"
},
"signatureDate" : "2025-06-17T02:40:36.080493279"
} ],
"signaturePhotos" : [ {
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-FA4F87C4.pdf",
"thumbnailUrl" : "http://cdn.rakenapp.com/toolbox-talks-77251E77.pdf"
} ],
"pdfUrl" : "http://cdn.rakenapp.com/toolbox-talks-D7ACB416.pdf",
"createdBy" : {
"uuid" : "aa1c1dfc-5732-4986-addb-6244d0ff0a93"
},
"updatedBy" : {
"uuid" : "d59ba8c3-34b7-4e23-ab17-d09a6744bd3a"
}
}, {
"uuid" : "ffcb52b2-3515-4207-9149-924076dd99f1",
"project" : {
"uuid" : "0934f9b4-04ee-4bbe-8591-840f8f508978"
},
"scheduleDate" : "2025-06-19",
"createdAt" : "2025-06-17T02:40:36.098524397Z",
"updatedAt" : "2025-06-17T02:40:36.098535855Z",
"talk" : {
"uuid" : "b8b160b9-6c3c-4814-b509-b48808138b13",
"name" : "Distinctio non eum fugiat earum."
},
"status" : "MISSED",
"type" : "TAKEN_PHOTO",
"attendees" : [ {
"member" : {
"uuid" : "6978fc6b-80f1-46bd-8b05-a060b35c22e8",
"name" : "Dr. Ida Bechtelar"
},
"signatureDate" : "2025-06-17T02:40:36.095695753"
} ],
"signaturePhotos" : [ {
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-DFCE5CBC.pdf",
"thumbnailUrl" : "http://cdn.rakenapp.com/toolbox-talks-D9905043.pdf"
} ],
"pdfUrl" : "http://cdn.rakenapp.com/toolbox-talks-D5D1AA13.pdf",
"createdBy" : {
"uuid" : "ca6194fc-cb17-4389-9474-ec27f4be36ce"
},
"updatedBy" : {
"uuid" : "9bd4aaa1-80cc-4413-a7c3-29a6be12f9a0"
}
}, {
"uuid" : "1a90891c-f343-450d-b081-85d80ce239e1",
"project" : {
"uuid" : "5a2a7012-4ad4-4825-a850-dd138a047607"
},
"scheduleDate" : "2025-06-19",
"createdAt" : "2025-06-17T02:40:36.114999697Z",
"updatedAt" : "2025-06-17T02:40:36.115037529Z",
"talk" : {
"uuid" : "dd041952-8b09-4e80-ba02-2552a95d454c",
"name" : "Nesciunt id iure sit neque dignissimos quam."
},
"status" : "MISSED",
"type" : "TAKEN_PHOTO",
"attendees" : [ {
"member" : {
"uuid" : "d9499bbb-a56c-426a-865f-72f3c749a4dc",
"name" : "Dr. Del Huel"
},
"signatureDate" : "2025-06-17T02:40:36.112240282"
} ],
"signaturePhotos" : [ {
"contentUrl" : "http://cdn.rakenapp.com/toolbox-talks-89D0213F.pdf",
"thumbnailUrl" : "http://cdn.rakenapp.com/toolbox-talks-4FF99688.pdf"
} ],
"pdfUrl" : "http://cdn.rakenapp.com/toolbox-talks-FB0A9DAA.pdf",
"createdBy" : {
"uuid" : "12fd1936-97c9-4357-bb8e-816c3a173e7f"
},
"updatedBy" : {
"uuid" : "43f201b8-dec1-4c8d-8c26-94a51795b6b6"
}
} ]
}
Shifts
List
A GET
request will list all the shifts.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuids |
Restrict the shifts to the projects represented by this UUID. |
true |
|
statuses |
Restrict the shifts to those with these statuses. Multiple statuses can be specified |
true |
Enums: ACTIVE, DELETED |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the shift |
code |
String |
Code for the shift |
name |
String |
Name for the shift |
status |
String |
Status for the shift Enums: ACTIVE, DELETED |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/shifts?projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&statuses=ACTIVE&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/shifts?projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&statuses=ACTIVE&offset=0&limit=5",
"next" : "/shifts?projectUuids=8169fd06-0997-4673-b537-4d9d401b8922&statuses=ACTIVE&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "ed553fe8-e87f-45a9-a70d-5c7eb861491c",
"name" : "Night Shift",
"code" : "NS",
"status" : "ACTIVE"
}, {
"uuid" : "c3166bcd-ca0d-4fad-89d4-41353c567031",
"name" : "Swing Shift",
"code" : "SS",
"status" : "ACTIVE"
} ]
}
Create
A POST
request will create a new shift on your Raken account.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
code |
String |
Code for the shift |
false |
Must not be blank Size must be between 0 and 5 inclusive |
name |
String |
Name for the shift |
false |
Size must be between 0 and 30 inclusive |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the shift |
code |
String |
Code for the shift |
name |
String |
Name for the shift |
status |
String |
Status for the shift Enums: ACTIVE, DELETED |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/shifts' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "Night Shift",
"code" : "NS"
}'
Response body
{
"uuid" : "34cdf376-b30d-4f4a-8f90-4965857e9088",
"name" : "Night Shift",
"code" : "NS",
"status" : "ACTIVE"
}
Update
A PATCH
request will update a shift.
You can change a shifts’s name or code but their combination have to be unique.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
code |
String |
Code for the shift |
true |
Must not be blank Size must be between 0 and 5 inclusive |
name |
String |
Name for the shift |
true |
Must not be blank Size must be between 0 and 30 inclusive |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the shift |
code |
String |
Code for the shift |
name |
String |
Name for the shift |
status |
String |
Status for the shift Enums: ACTIVE, DELETED |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/shifts/27c7c97f-4539-40f0-b88f-1c75962b3f42' -i -X PATCH \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "Night Shift",
"code" : "NS"
}'
Response body
{
"uuid" : "27c7c97f-4539-40f0-b88f-1c75962b3f42",
"name" : "Night Shift",
"code" : "NS",
"status" : "ACTIVE"
}
Time Cards
List
A GET
request will list all the time cards.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Return time cards for this project |
true |
|
workerUuid |
Return time cards for this worker |
true |
|
fromDate |
Return time cards starting on this date. The date is capped to a month to toDate. |
true |
Format: "yyyy-MM-dd" |
toDate |
Return time cards ending on this date. The date is capped to a month from fromDate. |
true |
Format: "yyyy-MM-dd" |
changedSince |
Return only time cards updated at or after this time, inclusive. The date is capped to a month to changedUntil. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only time cards updated before this time, exclusive. The date is capped to a month to changedSince. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
deletedFrom |
Return only time cards deleted at or after this time, inclusive. The date is capped to a month to deletedTo. NOTE: when this, together with deletedTo, are provided ONLY deleted time cards will be fetched and other date params will be ignored. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
deletedTo |
Return only time cards deleted before this time, exclusive. The date is capped to a month to deletedFrom. NOTE: when this, together with deletedFrom, are provided ONLY deleted time cards will be fetched and other date params will be ignored. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
createdAt |
Return time cards created on this date |
true |
Format: "yyyy-MM-dd" |
updatedAt |
Return time cards updated on this date |
true |
Format: "yyyy-MM-dd" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the time card |
date |
String |
Date of the time card Format: "yyyy-MM-dd" |
totalHours |
Number |
Total hours on this time card |
project.uuid |
String |
Unique identifier for the Project for this time card |
worker.uuid |
String |
Unique identifier for the worker for this time card |
approved |
Boolean |
Flag indicating the approval status of the time card |
signed.uuid |
String |
Unique identifier for the user who signed the time card |
startTime |
String |
Start time for this time card. Exists only for project tracking start and end Time |
endTime |
String |
End time for this time card. Exists only for project tracking start and end Time |
note |
String |
Note for the time card |
createdAt |
String |
Date and Time (UTC) when this time card was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when this time card was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
deletedAt |
String |
Date and Time (UTC) when this time card was deleted |
createdBy.uuid |
String |
Unique identifier for the user who created the time card |
createdBy.name |
String |
Name of the user who created the time card |
updatedBy.uuid |
String |
Unique identifier for the user who updated the time card |
updatedBy.name |
String |
Name of the user who updated the time card |
breaks[].name |
String |
Break name |
breaks[].startTime |
String |
Break start time |
breaks[].duration |
Number |
Duration of break in minutes |
timeEntries[].shift.uuid |
String |
Unique identifier for the shift on the time entry |
timeEntries[].shift.name |
String |
Name for the shift on the time entry |
timeEntries[].shift.code |
String |
Code for the shift on the time entry |
timeEntries[].payType.uuid |
String |
Unique identifier for the pay type for the time entry |
timeEntries[].payType.name |
String |
Name for the pay type for the time entry |
timeEntries[].payType.code |
String |
Code for the pay type for the time entry |
timeEntries[].hours |
Number |
Hours in the time entry |
timeEntries[].classification.uuid |
String |
Unique identifier for the classification for the time entry |
timeEntries[].classification.name |
String |
Name for the classification for the time entry |
timeEntries[].costCode.uuid |
String |
Unique identifier for the cost code for the time entry |
timeEntries[].costCode.code |
String |
Code for the cost code for the time entry |
timeEntries[].costCode.division |
String |
Division for the cost code for the time entry |
attachments[].uuid |
String |
Unique identifier for this attachment on the time card |
attachments[].url |
String |
Url for this attachment on the time card |
attachments[].description |
String |
Description of this attachment on the time card |
attachments[].thumbnailUrl |
String |
Thumbnail Url for this attachment on the time card |
attachments[].contentType |
String |
Content type for this attachment on the time card (e.g. 'image/jpeg', 'image/png') |
attachments[].mediaType |
String |
Media type for this attachment on the time card Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
attachments[].fileName |
String |
File name of this attachment on the time card |
attachments[].fileSize |
Number |
Size of this attachment on the time card in bytes |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/timeCards?fromDate=2022-09-01&toDate=2022-10-01&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&deletedFrom=2024-02-21T01:00:00Z&deletedTo=2024-02-28T01:00:00Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&workerUuid=9169fd06-0997-4673-b537-4d9d401b8922&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/timeCards?fromDate=2022-09-01&toDate=2022-10-01&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&deletedFrom=2024-02-21T01:00:00Z&deletedTo=2024-02-28T01:00:00Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&workerUuid=9169fd06-0997-4673-b537-4d9d401b8922&offset=0&limit=5",
"next" : "/timeCards?fromDate=2022-09-01&toDate=2022-10-01&changedSince=2024-02-21T01:00:00Z&changedUntil=2024-02-28T01:00:00Z&deletedFrom=2024-02-21T01:00:00Z&deletedTo=2024-02-28T01:00:00Z&projectUuid=8169fd06-0997-4673-b537-4d9d401b8922&workerUuid=9169fd06-0997-4673-b537-4d9d401b8922&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "e9809cce-43a1-47c0-934b-52413c4384c1",
"worker" : {
"uuid" : "9169fd06-0997-4673-b537-4d9d401b8922"
},
"totalHours" : 8.0,
"startTime" : "05:00:00",
"endTime" : "17:00:00",
"attachments" : [ {
"uuid" : "7867da4d-5097-43e7-9784-fc3d54c18e8a",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "et.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 3787
} ],
"timeEntries" : [ {
"hours" : 8.0,
"payType" : {
"uuid" : "e72a3889-b0fd-4d17-a89c-404030c56b6e",
"name" : "Regular Time",
"code" : "RT"
},
"shift" : {
"uuid" : "b7b61711-1e70-4fda-b23c-9d177f1aeb70",
"name" : "Night Shift",
"code" : "NS"
},
"classification" : {
"uuid" : "1140785d-8470-4890-ae38-88a9a0cff9b4",
"name" : "Apprentice"
},
"costCode" : {
"uuid" : "fb25634d-5ef0-404e-bcfa-78aa3102831c",
"code" : "C1",
"division" : "D1"
}
} ],
"note" : "Payroll Note",
"createdAt" : "2020-10-16T12:00:00Z",
"updatedAt" : "2020-10-16T12:30:00Z",
"createdBy" : {
"uuid" : "6e2bd787-b34c-45d2-aab6-06bf94f841a1",
"name" : "Azucena Kunde"
},
"updatedBy" : {
"uuid" : "15e64167-b477-4c1e-83a9-b14e1b78f68f",
"name" : "Aldo O'Keefe"
},
"breaks" : [ {
"name" : "Meal Break",
"duration" : 30.0,
"startTime" : "10:00:00"
} ],
"deletedAt" : "2020-10-18T12:00:00Z",
"project" : {
"uuid" : "f871ccec-af0d-40d8-a15a-5fa966f2daae"
},
"date" : "2020-10-15",
"approved" : false,
"signed" : {
"uuid" : "0fa5fd0b-1b02-47e2-a018-d5d98f28d853"
}
} ]
}
Observations
List
A GET
request will list all the observations on your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
projectUuid |
Return only observations for the project |
true |
|
statuses |
Return only observations with these statuses |
true |
Enums: PENDING_REVIEW, RECORD_ONLY, CLOSED, OPEN, REJECTED |
categories |
Return only observations with this category |
true |
Enums: POSITIVE, NEGATIVE |
types |
Return only observations with these types |
true |
|
priorities |
Return only observations with these priorities |
true |
Enums: HIGH, MEDIUM, LOW, CRITICAL |
fromCreatedAt |
Return only observations created at or after this time, inclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
toCreatedAt |
Return only observations created before this time, exclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedSince |
Filters results to include only entities that were updated at or after the specified time (inclusive). Must be used with a corresponding |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Filters results to include only entities that were updated before the specified time (exclusive) |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the observation |
assignees |
Array |
Observation assignees |
assignees[].company |
String |
Company name for this assignee |
assignees[].name |
String |
Full name of this assignee |
assignees[].dueAt |
String |
Corrective action due date for this assignee |
assignees[].correctiveAction |
String |
Corrective action description for this assignee |
assignees[].status |
String |
The status of this assignee’s corrective action |
attachments |
Array |
Response attachments |
attachments[].uuid |
String |
Unique Identifier for this attachment |
attachments[].mediaType |
String |
Media type for this attachment Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
attachments[].url |
String |
URL for this attachment |
attachments[].thumbnailUrl |
String |
Thumbnail URL for this attachment |
attachments[].contentType |
String |
Content type for this attachment |
attachments[].description |
String |
Description of this attachment |
attachments[].fileName |
String |
File name of this attachment |
attachments[].fileSize |
Number |
Size of this attachment in bytes |
category |
String |
Category of this observation |
createdAt |
String |
Date and Time (UTC) when the observation was created |
createdBy.uuid |
String |
Unique identifier for the user who created the observation |
createdBy.name |
String |
Name of the user who created the observation |
description |
String |
Description of the observation |
location.fullPath |
String |
Full path location where the observation was made |
location.name |
String |
Location where the observation was made |
observationDate |
String |
Date in project timezone when the observation was created |
priority |
String |
Priority of the observation |
projectUuid |
String |
Unique identifier for the project on which the observation was made |
referenceNumber |
String |
Reference number of the observation that was automatically generated when the observation was created |
status |
String |
Status of the observation Enums: PENDING_REVIEW, RECORD_ONLY, CLOSED, OPEN, REJECTED |
type.subType |
String |
Sub type of the observation |
type.type |
String |
Type of the observation |
type.typeClass |
String |
Type class of the observation |
updatedBy.uuid |
String |
Unique identifier for the user who updated the observation |
updatedBy.name |
String |
Name of the user who updated the observation |
updatedAt |
String |
Date and Time (UTC) when the observation was updated |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/observations?projectUuid=a50a5bef-99db-428b-afe3-15f5e8a0cafd&statuses=OPEN&statuses=REJECTED&priorities=MEDIUM&priorities=LOW&fromCreatedAt=2025-06-16T02:40:32Z&toCreatedAt=2025-06-17T02:40:32Z&categories=POSITIVE&categories=NEGATIVE&types=Mechanical&changedSince=2025-06-17T02:40:32Z&changedUntil=2025-06-17T02:41:32Z&limit=5&offset=5' -i -X GET
Response body
{
"page" : {
"offset" : 5,
"limit" : 5,
"totalElements" : 15,
"previous" : "/observations?projectUuid=a50a5bef-99db-428b-afe3-15f5e8a0cafd&statuses=OPEN&statuses=REJECTED&priorities=MEDIUM&priorities=LOW&fromCreatedAt=2025-06-16T02:40:32Z&toCreatedAt=2025-06-17T02:40:32Z&categories=POSITIVE&categories=NEGATIVE&types=Mechanical&changedSince=2025-06-17T02:40:32Z&changedUntil=2025-06-17T02:41:32Z&offset=0&limit=5",
"next" : "/observations?projectUuid=a50a5bef-99db-428b-afe3-15f5e8a0cafd&statuses=OPEN&statuses=REJECTED&priorities=MEDIUM&priorities=LOW&fromCreatedAt=2025-06-16T02:40:32Z&toCreatedAt=2025-06-17T02:40:32Z&categories=POSITIVE&categories=NEGATIVE&types=Mechanical&changedSince=2025-06-17T02:40:32Z&changedUntil=2025-06-17T02:41:32Z&offset=10&limit=5",
"nextOffset" : "10"
},
"collection" : [ {
"uuid" : "4b0b2140-97c1-4aa0-a944-6d32a97195d1",
"assignees" : [ {
"company" : "Grimes, Witting and Cruickshank",
"name" : "Daryl Ledner",
"dueAt" : "2025-06-17",
"correctiveAction" : "Qui in quisquam qui.",
"status" : "OPEN"
}, {
"company" : "Walker-Huel",
"name" : "Francesco Cormier MD",
"dueAt" : "2025-06-18",
"correctiveAction" : "Harum doloribus ea qui.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "d90fdaf1-3e35-4737-9f26-3736e86ddacf",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "rem.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 55804
}, {
"uuid" : "914d90f7-d667-4991-95b3-9456b2e6b902",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "rerum.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 25379
} ],
"category" : "POSITIVE",
"createdAt" : "2025-06-13T12:46:18.280Z",
"createdBy" : {
"uuid" : "a820828c-2a23-4d9e-9937-24fe366822c5",
"name" : "Byron Dietrich Sr."
},
"description" : "Delectus et dicta.",
"location" : {
"fullPath" : "Fugit repudiandae architecto optio minus maiores qui incidunt veniam.",
"name" : "Ut aut vitae et nihil itaque."
},
"observationDate" : "2025-06-18",
"priority" : "MEDIUM",
"projectUuid" : "63e77107-a2a9-4296-8001-d22d93d21b07",
"referenceNumber" : "092-17-7431",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2025-06-11T15:12:57.343Z",
"updatedBy" : {
"uuid" : "77dc266b-7987-444d-862c-d1900a9c385e",
"name" : "Delta Yundt"
}
}, {
"uuid" : "f7038389-2398-45b9-b433-da0fd2bf5b4b",
"assignees" : [ {
"company" : "Erdman LLC",
"name" : "Adolfo Ortiz",
"dueAt" : "2025-06-20",
"correctiveAction" : "Dolorem officiis voluptatem illum. Omnis sunt cumque mollitia.",
"status" : "OPEN"
}, {
"company" : "Harvey, Turner and Haag",
"name" : "Dann Thompson",
"dueAt" : "2025-06-23",
"correctiveAction" : "Incidunt dignissimos blanditiis ut rerum sed.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "d3dcbde4-d86d-4242-9159-9bf20f85b262",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "sunt.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 16861
}, {
"uuid" : "6cf17d5f-6e3f-48b0-bac3-19f71cf87b31",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "est.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 26475
} ],
"category" : "POSITIVE",
"createdAt" : "2025-06-13T10:57:57.161Z",
"createdBy" : {
"uuid" : "53f00aa7-0183-4caf-a7b0-e804d7965e5e",
"name" : "Blair Nicolas MD"
},
"description" : "Eaque qui quo fuga asperiores temporibus perspiciatis enim. Omnis quae dolores necessitatibus quo eligendi.",
"location" : {
"fullPath" : "Nihil ducimus expedita maiores facere eum rerum possimus.",
"name" : "Impedit sequi ex sed ipsum sed nisi omnis."
},
"observationDate" : "2025-06-22",
"priority" : "MEDIUM",
"projectUuid" : "5431a8b6-718c-4056-9b5d-df9658998285",
"referenceNumber" : "131-30-4923",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2025-06-14T01:28:40.385Z",
"updatedBy" : {
"uuid" : "e54f7ade-e9b2-4e3c-9b3f-caf84390e928",
"name" : "Mr. Sook Dietrich"
}
}, {
"uuid" : "cbd2ec8b-9f82-458f-b077-684d613a745a",
"assignees" : [ {
"company" : "Haag, Ernser and Terry",
"name" : "Torie Klein V",
"dueAt" : "2025-06-21",
"correctiveAction" : "Molestias qui nesciunt dolor velit eos eius. Omnis et quia dolores. Perferendis praesentium et necessitatibus aliquid.",
"status" : "OPEN"
}, {
"company" : "Wilderman Group",
"name" : "Frida Rogahn MD",
"dueAt" : "2025-06-18",
"correctiveAction" : "Et iusto repudiandae placeat est voluptatum eum. Iusto ducimus illo minus iusto facere.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "301923c9-5dfb-4c48-88f1-2225e6448c8b",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "placeat.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 23049
}, {
"uuid" : "eb3a4462-4083-4503-8971-91ec322ec8cd",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "sequi.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 48986
} ],
"category" : "POSITIVE",
"createdAt" : "2025-06-16T11:08:26.568Z",
"createdBy" : {
"uuid" : "1dc4e6de-b27d-4bec-8ea2-f65cc3cf90bf",
"name" : "Dr. Ahmad Wolf"
},
"description" : "Nisi incidunt magni quibusdam quidem dolorum enim labore. Et officiis neque aut.",
"location" : {
"fullPath" : "Magnam debitis consequatur facere ut.",
"name" : "Ut id in voluptas possimus."
},
"observationDate" : "2025-06-23",
"priority" : "MEDIUM",
"projectUuid" : "7ee80318-8b68-4978-872e-78f81fc1ed06",
"referenceNumber" : "746-24-4286",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2025-06-10T05:45:32.640Z",
"updatedBy" : {
"uuid" : "911eb1db-ac2d-4b6e-bceb-a1e6dfa398a5",
"name" : "Sabrina Walker"
}
}, {
"uuid" : "480c61ed-5767-4035-8026-335997d75361",
"assignees" : [ {
"company" : "Daniel and Sons",
"name" : "Geraldo Watsica I",
"dueAt" : "2025-06-21",
"correctiveAction" : "Id aut eum qui alias. Maiores atque consequatur numquam hic et et quia. Est numquam voluptatem est porro.",
"status" : "OPEN"
}, {
"company" : "Simonis Inc",
"name" : "Merrill Jacobi",
"dueAt" : "2025-06-23",
"correctiveAction" : "Dolores qui accusantium repellat minus et. Iure sed et officia voluptas sapiente deleniti. Consequatur amet ut et voluptatem repellat aliquid corporis.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "fda34b55-a451-4e6d-957f-49febbbc168e",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "explicabo.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 54911
}, {
"uuid" : "0b0b9f79-1232-4a3f-9779-0d3a10fd36f8",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "libero.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 18922
} ],
"category" : "POSITIVE",
"createdAt" : "2025-06-10T08:32:00.947Z",
"createdBy" : {
"uuid" : "ae4e132e-3f5e-46f5-a50c-b57f7ff0b95f",
"name" : "Trena Purdy"
},
"description" : "Neque commodi quo nesciunt ducimus. Minima suscipit est similique minima doloribus similique. Nihil dolore animi.",
"location" : {
"fullPath" : "Delectus vitae sint officiis illo omnis ad.",
"name" : "Facilis natus eius deleniti tempore dolor."
},
"observationDate" : "2025-06-22",
"priority" : "MEDIUM",
"projectUuid" : "9878782b-0ec6-49bf-a8b8-5c2d4754e1b9",
"referenceNumber" : "573-56-9386",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2025-06-16T10:38:15.493Z",
"updatedBy" : {
"uuid" : "272f4440-c0d0-4bb8-b444-e74a11e597ec",
"name" : "Garth Rippin"
}
}, {
"uuid" : "a2f2e738-4d6e-4c5b-b4fe-b88b472662b8",
"assignees" : [ {
"company" : "Krajcik-Mann",
"name" : "Mr. Berry Schuppe",
"dueAt" : "2025-06-23",
"correctiveAction" : "Facilis sed tenetur et minus id dolores quo. Nostrum quam qui est. Est suscipit commodi omnis velit.",
"status" : "OPEN"
}, {
"company" : "Hickle-Veum",
"name" : "Floyd Heaney II",
"dueAt" : "2025-06-18",
"correctiveAction" : "Illum nobis asperiores cum alias.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "9fea4547-5de7-4dcc-b241-f8a24f4abee0",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "culpa.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 6748
}, {
"uuid" : "cc88a18a-bf9b-4093-9f70-b175c11caaac",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "vitae.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 51805
} ],
"category" : "POSITIVE",
"createdAt" : "2025-06-10T06:52:09.557Z",
"createdBy" : {
"uuid" : "294aaf29-792b-4e31-9b2e-94e4b1be7bc6",
"name" : "Silvana Rowe Jr."
},
"description" : "Dolores nesciunt dolorem ut eaque voluptatem. Corrupti aperiam corporis officiis rerum voluptatem. Commodi vero molestiae.",
"location" : {
"fullPath" : "Aliquid praesentium id corrupti perferendis aut.",
"name" : "Nihil quis omnis molestias."
},
"observationDate" : "2025-06-20",
"priority" : "MEDIUM",
"projectUuid" : "05ee4a10-6782-4bc1-85c0-79e16f4422bd",
"referenceNumber" : "031-29-6632",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2025-06-13T22:31:00.287Z",
"updatedBy" : {
"uuid" : "37ac1bf4-5deb-4938-9138-cf70d1749d1d",
"name" : "Jordan Ritchie"
}
} ]
}
Get
A GET
request will get an observation by UUID on your Raken account.
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the observation |
assignees |
Array |
Observation assignees |
assignees[].company |
String |
Company name for this assignee |
assignees[].name |
String |
Full name of this assignee |
assignees[].dueAt |
String |
Corrective action due date for this assignee |
assignees[].correctiveAction |
String |
Corrective action description for this assignee |
assignees[].status |
String |
The status of this assignee’s corrective action |
attachments |
Array |
Response attachments |
attachments[].uuid |
String |
Unique Identifier for this attachment |
attachments[].mediaType |
String |
Media type for this attachment Enums: IMAGE, VIDEO, DOCUMENT, AUDIO |
attachments[].url |
String |
URL for this attachment |
attachments[].thumbnailUrl |
String |
Thumbnail URL for this attachment |
attachments[].contentType |
String |
Content type for this attachment |
attachments[].description |
String |
Description of this attachment |
attachments[].fileName |
String |
File name of this attachment |
attachments[].fileSize |
Number |
Size of this attachment in bytes |
category |
String |
Category of this observation |
createdAt |
String |
Date and Time (UTC) when the observation was created |
createdBy.uuid |
String |
Unique identifier for the user who created the observation |
createdBy.name |
String |
Name of the user who created the observation |
description |
String |
Description of the observation |
location.fullPath |
String |
Full path location where the observation was made |
location.name |
String |
Location where the observation was made |
observationDate |
String |
Date in project timezone when the observation was created |
priority |
String |
Priority of the observation |
projectUuid |
String |
Unique identifier for the project on which the observation was made |
referenceNumber |
String |
Reference number of the observation that was automatically generated when the observation was created |
status |
String |
Status of the observation Enums: PENDING_REVIEW, RECORD_ONLY, CLOSED, OPEN, REJECTED |
type.subType |
String |
Sub type of the observation |
type.type |
String |
Type of the observation |
type.typeClass |
String |
Type class of the observation |
updatedBy.uuid |
String |
Unique identifier for the user who updated the observation |
updatedBy.name |
String |
Name of the user who updated the observation |
updatedAt |
String |
Date and Time (UTC) when the observation was updated |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/observations/c3dfca3a-70bd-44ad-a046-d20e58e73980' -i -X GET
Response body
{
"uuid" : "c3dfca3a-70bd-44ad-a046-d20e58e73980",
"assignees" : [ {
"company" : "Marvin and Sons",
"name" : "Boris Wilkinson V",
"dueAt" : "2025-06-19",
"correctiveAction" : "Eum eveniet voluptatem rerum. Nostrum omnis est maxime assumenda repellat. Tempore nobis et incidunt dolores facilis.",
"status" : "OPEN"
}, {
"company" : "Denesik, Herzog and Leffler",
"name" : "Joelle Huel",
"dueAt" : "2025-06-18",
"correctiveAction" : "Odit ullam quia quia sunt nemo harum.",
"status" : "OPEN"
} ],
"attachments" : [ {
"uuid" : "3f464f2b-c850-4964-91eb-11cb289a9c0b",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "sint.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 32482
}, {
"uuid" : "01544ce3-89b9-4d53-8662-445d9187c5bc",
"url" : "https://www.example.com/image",
"description" : "Description",
"fileName" : "deserunt.jpg",
"thumbnailUrl" : "https://www.example.com/thumbnailImage",
"contentType" : "image/png",
"mediaType" : "IMAGE",
"fileSize" : 87674
} ],
"category" : "POSITIVE",
"createdAt" : "2025-06-13T06:11:50.723Z",
"createdBy" : {
"uuid" : "a3d2b56c-880d-4abb-9c40-418160c4939a",
"name" : "Nathanael O'Conner V"
},
"description" : "Et dignissimos et. Odit omnis molestias ea libero praesentium. Qui enim nemo.",
"location" : {
"fullPath" : "Quia ut est ipsa numquam.",
"name" : "Voluptatem excepturi ut nihil quo."
},
"observationDate" : "2025-06-17",
"priority" : "MEDIUM",
"projectUuid" : "f6516cd7-adbe-4ba7-a6fa-a6cb471ac9fa",
"referenceNumber" : "000-92-2197",
"status" : "OPEN",
"type" : {
"typeClass" : "Commissioning",
"type" : "Mechanical",
"subType" : "Wet commissioning"
},
"updatedAt" : "2025-06-13T04:08:24.359Z",
"updatedBy" : {
"uuid" : "74703ff7-3a41-4d3b-a1b2-5a2195281616",
"name" : "Ray Bradtke"
}
}
Groups
List
A GET
request will list all groups for your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
query |
Search for groups based on group name and class |
true |
|
classNames |
Return only groups with the specified group class names. Must be an exact match |
true |
|
changedSince |
Return only groups updated at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only groups updated before this time, exclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
fromCreatedAt |
Return only groups created at or after this time, inclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
toCreatedAt |
Return only groups created before this time, exclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the group |
class |
String |
Name of the class that the group belongs to |
createdBy |
Object |
Member who created the group |
createdBy.uuid |
String |
Unique identifier for the user who created the group |
createdBy.name |
String |
Name of the user who created the group |
updatedBy |
Object |
Member who last updated the group |
updatedBy.uuid |
String |
Unique identifier for the user who updated the group |
updatedBy.name |
String |
Name of the user who updated the group |
createdAt |
String |
Date and Time (UTC) when the group was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the group was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
name |
String |
Group name |
projectUuids |
Array |
Collection of all projects that are assigned to the group |
memberUuids |
Array |
Collection of all members that are assigned to the group |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/groups?query=query&classNames=groupCLass&fromCreatedAt=2024-03-03T14:00:00Z&toCreatedAt=2024-03-13T14:00:00Z&changedSince=2024-03-03T14:00:00Z&changedUntil=2024-03-13T14:00:00Z&limit=10&offset=0' -i -X GET
Response body
{
"page" : {
"offset" : 0,
"limit" : 10,
"totalElements" : 10,
"previous" : null,
"next" : null,
"nextOffset" : null
},
"collection" : [ {
"uuid" : "2ff37117-b96e-4a07-abcd-48ea0769f41c",
"createdBy" : {
"uuid" : "8b80d796-c466-4e45-9d5e-09f22b88a900",
"name" : "laurine.kunze"
},
"updatedBy" : {
"uuid" : "3c9249d1-bf7e-42cc-8ab8-60bfbe4e6f66",
"name" : "winston.adams"
},
"createdAt" : "2025-06-17T02:40:28.601878184Z",
"updatedAt" : "2025-06-17T02:40:28.601885708Z",
"name" : "Emergency Department",
"projectUuids" : [ "6e437698-ac28-40cc-a912-0215b6692ebf", "8b91672b-2c51-4167-b3e8-5166373a4bb3", "a79ae1b3-572d-4635-b9ed-1939774242d2" ],
"memberUuids" : [ "9dff201a-50d0-4831-b4a1-c010054cb16f", "e41c12d0-8db4-453f-9128-272409cde23b" ],
"class" : "Departments"
} ]
}
Create
A POST
request will create a new group on your Raken account.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Group name |
false |
Must not be blank Size must be between 0 and 255 inclusive |
class |
String |
Name of the class that the group belongs to |
false |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the group |
class |
String |
Name of the class that the group belongs to |
createdBy |
Object |
Member who created the group |
createdBy.uuid |
String |
Unique identifier for the user who created the group |
createdBy.name |
String |
Name of the user who created the group |
updatedBy |
Object |
Member who last updated the group |
updatedBy.uuid |
String |
Unique identifier for the user who updated the group |
updatedBy.name |
String |
Name of the user who updated the group |
createdAt |
String |
Date and Time (UTC) when the group was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the group was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
name |
String |
Group name |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/groups' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "Emergency Department",
"class" : "Departments"
}'
Response body
{
"uuid" : "520ee5e1-63ee-452d-97d0-5712f71a2178",
"createdBy" : {
"uuid" : "185e246f-4d1a-48bb-99d3-e6b4698f6f88",
"name" : "kesha.reichel"
},
"updatedBy" : {
"uuid" : "55c5cbe7-73ea-47d7-a0f0-f2f69bd0fdcb",
"name" : "joseph.corwin"
},
"createdAt" : "2025-06-17T02:40:28.537564407Z",
"updatedAt" : "2025-06-17T02:40:28.537567925Z",
"name" : "Emergency Department",
"class" : "Departments"
}
Update
A PATCH
request will update a group on your Raken account.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Group name |
false |
Must not be blank Size must be between 0 and 255 inclusive |
class |
String |
Name of the class that the group belongs to |
false |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the group |
class |
String |
Name of the class that the group belongs to |
createdBy |
Object |
Member who created the group |
createdBy.uuid |
String |
Unique identifier for the user who created the group |
createdBy.name |
String |
Name of the user who created the group |
updatedBy |
Object |
Member who last updated the group |
updatedBy.uuid |
String |
Unique identifier for the user who updated the group |
updatedBy.name |
String |
Name of the user who updated the group |
createdAt |
String |
Date and Time (UTC) when the group was created Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the group was updated Format: "yyyy-MM-ddThh:mm:ssZ" |
name |
String |
Group name |
projectUuids |
Array |
Collection of all projects that are assigned to the group |
memberUuids |
Array |
Collection of all members that are assigned to the group |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/groups/a842067f-7512-4eab-8565-bd5748dc86a9' -i -X PATCH \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "Emergency Department",
"class" : "Departments"
}'
Response body
{
"uuid" : "10d3a4d0-c557-4a7e-a882-78dc3ccae59b",
"createdBy" : {
"uuid" : "8238e078-123d-48eb-a7c7-9a8dc0c1eed9",
"name" : "tonita.quigley"
},
"updatedBy" : {
"uuid" : "fb2d5593-58f7-459d-89a7-f1cd43181b77",
"name" : "hyman.lehner"
},
"createdAt" : "2025-06-17T02:40:28.783707116Z",
"updatedAt" : "2025-06-17T02:40:28.783708464Z",
"name" : "Emergency Department",
"projectUuids" : [ "c84b2d92-9154-4c10-adcf-fa35bf32fbce", "8db734dd-bbc7-456b-bb41-4a14131ee676", "66c48618-a6ca-4760-8242-350875d9cb96" ],
"memberUuids" : [ "ba7951f9-fb8e-4034-8302-401d651a3498", "09ea8f3a-0542-4cf5-bc44-6bb9878b94fa" ],
"class" : "Departments"
}
Certifications
List
A GET
request will list all certifications for your Raken account.
Query parameters
Parameter | Description | Optional | Constraints |
---|---|---|---|
query |
Search for certifications based on certification name and class |
true |
|
certificationTypeUuids |
Return only certifications with the specified certification types |
true |
|
changedSince |
Return only certifications updated at or after this time, inclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
changedUntil |
Return only certifications updated before this time, exclusive. |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
fromCreatedAt |
Return only certifications created at or after this time, inclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
toCreatedAt |
Return only certifications created before this time, exclusive |
true |
Format: "yyyy-MM-ddThh:mm:ssZ" |
Entity response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the certification |
name |
String |
Name of the certification |
createdBy |
Object |
Member who created the certification |
createdBy.uuid |
String |
Unique identifier for the member who created the certification |
createdBy.name |
String |
Name of the member who created the certification |
updatedBy |
Object |
Member who updated the certification |
updatedBy.uuid |
String |
Unique identifier for the member who updated the certification |
updatedBy.name |
String |
Name of the member who updated the certification |
createdAt |
String |
Date and Time (UTC) when the certification was createdFormat: "yyyy-MM-ddThh:mm:ssZ" Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the certification was updatedFormat: "yyyy-MM-ddThh:mm:ssZ" Format: "yyyy-MM-ddThh:mm:ssZ" |
certificationType |
Object |
Certification type associated with this certification |
certificationType.name |
String |
Name of this certification type |
certificationType.uuid |
String |
Unique identifier for this classification type |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/certifications?query=query&certificationTypeUuids=6d72de55-0507-4c55-839a-ddf07de34585,a2efed97-860a-4a01-b18d-86ec20da1422&fromCreatedAt=2024-03-03T14:00:00Z&toCreatedAt=2024-03-13T14:00:00Z&changedSince=2024-03-03T14:00:00Z&changedUntil=2024-03-13T14:00:00Z&limit=10&offset=0' -i -X GET
Response body
{
"page" : {
"offset" : 0,
"limit" : 10,
"totalElements" : 10,
"previous" : null,
"next" : null,
"nextOffset" : null
},
"collection" : [ {
"uuid" : "50132f99-8fe8-4b6c-ada1-e1da9e7e6d44",
"name" : "First Aid",
"certificationType" : {
"uuid" : "4c621043-79d2-410a-9291-45908b41f770",
"name" : "Search and Rescue"
},
"createdAt" : "2025-06-17T02:40:20.193099711Z",
"updatedAt" : "2025-06-17T02:40:20.193101607Z",
"createdBy" : {
"uuid" : "0e544a47-9288-49ee-82f4-926521c28988",
"name" : "Donnie Jacobson DVM"
},
"updatedBy" : {
"uuid" : "ce8a6c37-7509-4cac-8e51-d381bfbab3ee",
"name" : "Stacey Senger"
}
} ]
}
Create
A POST
request will create a new certification on your Raken account.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Certification name |
false |
Must not be blank Size must be between 0 and 255 inclusive |
certificationTypeUuid |
String |
Unique identifier of the certification type for the certification |
false |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the certification |
name |
String |
Name of the certification |
createdBy |
Object |
Member who created the certification |
createdBy.uuid |
String |
Unique identifier for the member who created the certification |
createdBy.name |
String |
Name of the member who created the certification |
updatedBy |
Object |
Member who updated the certification |
updatedBy.uuid |
String |
Unique identifier for the member who updated the certification |
updatedBy.name |
String |
Name of the member who updated the certification |
createdAt |
String |
Date and Time (UTC) when the certification was createdFormat: "yyyy-MM-ddThh:mm:ssZ" Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the certification was updatedFormat: "yyyy-MM-ddThh:mm:ssZ" Format: "yyyy-MM-ddThh:mm:ssZ" |
certificationType |
Object |
Certification type associated with this certification |
certificationType.name |
String |
Name of this certification type |
certificationType.uuid |
String |
Unique identifier for this classification type |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/certifications' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "First Aid",
"certificationTypeUuid" : "c1f1934f-3c25-4c3a-826d-5fdc5f369496"
}'
Response body
{
"uuid" : "50132f99-8fe8-4b6c-ada1-e1da9e7e6d44",
"name" : "First Aid",
"certificationType" : {
"uuid" : "382675d4-1c12-4387-b3f2-8bb83593adc8",
"name" : "Search and Rescue"
},
"createdAt" : "2025-06-17T02:40:20.021835264Z",
"updatedAt" : "2025-06-17T02:40:20.021839610Z",
"createdBy" : {
"uuid" : "0b45ae6a-95f9-44ce-bb70-4e2d953bcff5",
"name" : "Damon Stracke"
},
"updatedBy" : {
"uuid" : "0a4c7a88-a910-4a31-9d6d-47c3c685fdb9",
"name" : "Timmy Becker"
}
}
Update
A PATCH
request will update a certification on your Raken account.
Request fields
Path | Type | Description | Optional | Constraints |
---|---|---|---|---|
name |
String |
Certification name |
false |
Must not be blank Size must be between 0 and 255 inclusive |
certificationTypeUuid |
String |
Unique identifier of the certification type for the certification |
false |
|
certificationTypeName |
String |
Name of the certification type for the certification |
false |
Response fields
Path | Type | Description |
---|---|---|
uuid |
String |
Unique identifier for the certification |
name |
String |
Name of the certification |
createdBy |
Object |
Member who created the certification |
createdBy.uuid |
String |
Unique identifier for the member who created the certification |
createdBy.name |
String |
Name of the member who created the certification |
updatedBy |
Object |
Member who updated the certification |
updatedBy.uuid |
String |
Unique identifier for the member who updated the certification |
updatedBy.name |
String |
Name of the member who updated the certification |
createdAt |
String |
Date and Time (UTC) when the certification was createdFormat: "yyyy-MM-ddThh:mm:ssZ" Format: "yyyy-MM-ddThh:mm:ssZ" |
updatedAt |
String |
Date and Time (UTC) when the certification was updatedFormat: "yyyy-MM-ddThh:mm:ssZ" Format: "yyyy-MM-ddThh:mm:ssZ" |
certificationType |
Object |
Certification type associated with this certification |
certificationType.name |
String |
Name of this certification type |
certificationType.uuid |
String |
Unique identifier for this classification type |
Usage Example with Curl
Curl request
$ curl 'https://developer.rakenapp.com/api/certifications/50132f99-8fe8-4b6c-ada1-e1da9e7e6d44' -i -X PATCH \
-H 'Content-Type: application/json;charset=UTF-8' \
-d '{
"name" : "First Aid",
"certificationTypeUuid" : "900f5209-cb72-4b83-b4a3-4115a7357ef0",
"certificationTypeName" : "Search and Rescue"
}'
Response body
{
"uuid" : "50132f99-8fe8-4b6c-ada1-e1da9e7e6d44",
"name" : "First Aid",
"certificationType" : {
"uuid" : "b531f9e2-0ac4-419f-9d83-e7068da296b3",
"name" : "Search and Rescue"
},
"createdAt" : "2025-06-17T02:40:20.595831116Z",
"updatedAt" : "2025-06-17T02:40:20.595832847Z",
"createdBy" : {
"uuid" : "15d4a28e-8cbf-4d36-ac4a-d3b41d3c04f2",
"name" : "Mr. Arminda Hansen"
},
"updatedBy" : {
"uuid" : "c2f43949-6dd6-4f02-9469-8f7fbfb45ada",
"name" : "Miquel Schumm"
}
}