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

GET

Used to retrieve a resource or a list of resources

POST

Used to create a resource

PATCH

Used to update a resource. The value of null is used to remove a field from an entity.

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

200 OK

The request completed successfully

304 Not Modified

Indicates the response was not modified from the previous execution (using ETag/If-None-Matches)

400 Bad Request

The request was malformed. The response body will include an error providing further information

403 Access Denied

The credentials provided to the request were not sufficient

404 Not Found

The requested resource did not exist

429 Too Many Request

The API rate or burst limits are exceeded

429 Limit 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

Single Valued

GET /workLogs?fromDate=2022-11-01&toDate=2022-12-01&projectUuid=5c0de6b3-c871-4987-962e-f214f958d241

Multi Valued Type 1

GET /members?classificationUuids=d8d5e0b2-9232-424a-8fbf-ce689a06a0aa,b516b197-f5c6-4fd7-ac94-530c03b11c06

Multi Valued Type 2

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

grant_type

authorization_code, refresh_token

Authorization URL

https://app.rakenapp.com/oauth/authorize

Token URL

https://app.rakenapp.com/oauth/token

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:

  • access_token: The access token issued by Raken.

  • refresh_token: The refresh token, which can be used to obtain new access tokens.

  • scope: The scope requested by the client. Always ["api"].

  • token_type: The type of the access token. Always bearer. Value is case insensitive.

  • expires_in: The lifetime in seconds of the access token (e.g. 36000 is 10 hours).

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

Authorization

The Authorization Request Header. Format: "Bearer <access_token>".

Response Headers

Name Description

ETag

Identifier representing the response content (May be used for conditional requests)

Content-Type

The Content-Type of the payload, e.g. application/json

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

  1. 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.

  2. Copy this link: Raken Public API 3.0 Postman Collection

  3. 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:

  1. Visit the Raken Developer Page at https://app.rakenapp.com/developer/apps.

  2. Create a new app or use an existing one to obtain your client_id and client_secret from the App.

  3. Save the client_id and client_secret to two variables under the Variables section on the Postman collection’s home page:

    • api_client_id

    • api_client_secret

Get a New Access Token

  1. Click Get New Access Token under the Authorization section on the Postman collection’s home page. This action initiates an OAuth2 flow.

  2. You will be redirected to a browser window where you will be prompted to log in using your Raken user credentials.

  3. Once the OAuth2 flow is complete, an access token will be returned.

  4. 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:

  • Raken Public API base uri is https://developer.rakenapp.com/api/.

  • While the example requests provided in this guide do not show the Authorization HTTP header, it is required for all API calls.

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

email

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 ACTIVE members are returned

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

email

String

Email

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 ACTIVE members are returned

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 roles query parameter:

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.

  • ROLE_ACCOUNT_ADMIN - Members with this role can log into Raken and have access to create entries on projects they have been assigned. They can also manage all other members' access to projects and have permissions to change all settings at the project and company level.”

  • ROLE_ADMIN - Members with this role can log into Raken and have access to create entries on projects they have been assigned and typically have permissions to change some settings at the project and company level.

  • ROLE_PROJECT_MEMBER - Members with this role can log into Raken and have access to create entries on projects they have been assigned, but do not typically have permissions to change settings.

  • ROLE_USER - Members with this role can log into Raken, but had read-only access and cannot have time cards recorded for them.

  • ROLE_WORKER - Members with this role are workers who cannot directly log into Raken, but can have time cards recorded for them.

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

email

String

Email

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

email

String

Email

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 ACTIVE projects are returned

true

Enums: ACTIVE, INACTIVE, DELETED

Path parameters
Table 1. /members/{memberUuid}/projects
Parameter Description

memberUuid

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:

  • If projectUuids are not empty in the request, the created worker will become a member of the active projects in the list on your account.

  • If projectUuids are empty in the request, the created worker will not be added to any projects. You can assign the worker to any active projects on your account using the PATCH request for members.

Notes for ROLE_WORKER:

  • A worker with the ROLE_WORKER role will automatically be added to projects created in the future on the account.

Notes for other roles:

  • Automatic assignment to projects created in the future is based on the specific Role of the member. The settings for this can be managed in the company Roles and Permissions page in the Raken web app.

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

email

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

email

String

Email

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

email

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

email

String

Email

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 changedUntil parameter.

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 fromDate and toDate for a date range or changedSince and changedUntil for a modification timeframe. If both are provided, fromDate and toDate will take precedence.

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 changedUntil parameter.

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 changedUntil parameter.

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"
  }
}