NAV
curl

Introduction

API endpoint

https://<tenant>.staff.cloud/api/v1/

The Staffcloud API is organized around REST. Our API has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors. We use built-in HTTP features, like HTTP authentication and HTTP verbs, which are understood by off-the-shelf HTTP clients.

We support cross-origin resource sharing, allowing you to interact securely with our API from a client-side web application (though you should never expose your secret API key in any public website’s client-side code). By default JSON is returned by all API responses, including errors.

All API URLs listed in this documentation are relative to the API endpoint. For example, the GET /employees/1 API call is reachable at https://<tenant>.staff.cloud/api/v1/employees/1. Parameters should be sent in URL escaped format. All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

Libraries

Official libraries for the Staffcloud API will be available in several languages. Until they are released, a regular, language specific REST client may be used.

Versioning

Versioning helps us iterate faster and prevents invalid requests from hitting updated endpoints. It also helps smooth over any major API version transitions as we can continue to offer old API versions for a period of time. We are keeping the version in the URL to ensure browser explorability of the resources across versions.

Resources

The key principles of REST involve separating an API into logical resources. So what do we call resources? They are nouns that make sense from the perspective of the API consumer. For example, our API provides resources such as employees, events, projects, contacts and others.

Fields

A resource has many fields. Since it is easier to read, all field names (as well as the resource names) are written in snake_case. Every field has exactly one data type according to the JSON Schema definition.

Dynamic fields

A core concept of Staffcloud are the fully configurable entities. It is possible to manage most of the fields of most of the entities, i.e. it’s possible that an employee of tenant X contains entirely different fields than an employee of tenant Y.

However, some of the dynamic fields are preexisting and linked to a given functionality. They can’t be deleted. Since these fields and their intended behavior may also be relevant for an API consumer, they are given human readable names and they are listed in the particular resource documentations.

All other (user generated) dynamic fields are given a generic name like dynamic_field_50 where 50 refers to the ID of the related attribute. They are not included in the API documentation. To retrieve a list of all dynamic fields for a resource, you may either use the forms resource or perform a simple GET request to the desired resource.

Authentication

Example request

$ curl https://<tenant>.staff.cloud/api/v1/ \
   -H "Authorization: Bearer <ACCESS_TOKEN>"

Our RESTful API is stateless, meaning that the authentication request does not depend on cookies or sessions.

For authentication we are using JSON Web Tokens. Each request must provide an Authorization header containing a Bearer token.

Since the API also supports JSONP and a JSONP request can’t contain custom headers, a special query parameter authorization_bearer is supported as well.

Generating tokens

A tenant can have multiple API users.

API users and tokens are managed in the Office.

Privileges

There is no granular privilege control for API users except a ready-only state which is preventing a user from calling POST, PUT and DELETE actions.

Apart from that, an API user has access to all resources of its tenant, considering the available modules, addons, etc.

Actions

RESTful principles provide strategies to handle CRUD actions using HTTP methods mapped as follows:

In case of a POST that resulted in a creation, a Location header that points to the URL of the new resource will be included in the response.

Our API does not support the PATCH HTTP verb, but only PUT which may accept only partial updates.

Overriding the HTTP method

Some HTTP clients can only work with simple GET and POST requests. To increase accessibility to these limited clients, the API supports a request header X-HTTP-Method-Override with a string value containing one of PUT or DELETE.

Note that the override header is only accepted on POST requests. GET requests must never change data!

Special actions

If an action doesn’t fit in the CRUD operations set, so called special actions will be available for the particular resources. These special actions will be documented separately in the resource documentation sections.

Relations

Example request

$ curl https://<tenant>.staff.cloud/api/v1/projects/12 \
   -H "Authorization: Bearer <ACCESS_TOKEN>"

Example response

{
    "id" : 12,
    "name" : "My project",
    "date" : "2015-01-01",
    "client" : {
        "id" : 330,
        "name" : "Sample Inc.",
        "location" : "Anywhere"
    },
    "events" : [
        {
            "id" : 445,
            "name" : "My event"
        },
        {
            "id" : 446,
            "name" : "Another event"
        }
    ],
    "locations" : [
        {
            "id" : 33,
            "name" : "A location"
        },
        {
            "id" : 42,
            "name" : "Another location"
        }
    ]
}

Example request

$ curl https://<tenant>.staff.cloud/api/v1/projects/12?embed=client.id,client.name,events \
   -H "Authorization: Bearer <ACCESS_TOKEN>"

Example response

{
    "id" : 12,
    "name" : "My project",
    "date" : "2015-01-01",
    "client" : {
        "id" : 330,
        "name" : "Sample Inc."
    },
    "events" : [
        {
            "id"  : 445,
            "name" : "My event"
        },
        {
            "id" : 446,
            "name" : "Another event"
        }
    ]
}

For resources that are related to other resources or only exist as children of such, RESTful principles provide useful guidance. An example of this would be as the following:

A form in Staffcloud contains a number of attributes. These attributes can be logically mapped to the /forms endpoint as follows:

For providing information about relations and providing access to them, we will include identifiers (foreign keys) in the result sets. The API consumer will then have to hit the child relation’s endpoint.

However, if the relation is commonly requested alongside the resource, the API is offering the functionality to automatically embed the relation’s representation and avoid the second hit to the API. In this case, embed is a query parameter having a comma separated list of fields to be embedded. Dot-notation may be used to refer to sub-fields. Note that the dot notation is optional. If a sub-resource is requested without specifying fields, the full relation resource will be returned.

Filtering, searching and sorting

Complex result filters, sorting and advanced searching (when restricted to a single type of resource) can all be easily achieved by using query parameters on top of the base URL. Let’s look at these in more detail:

Filtering

Use an unique query parameter for each field that implements filtering. For example, when requesting a list of employees from the /employees endpoint, you may want to limit these to only those having state active. This could be accomplished with a request like GET /employees?state=1. Here, state is a query parameter that implements a filter.

The filters supports expressions and operators like this:

Name Expression Example
Like (case insensitive) =~ ?name=~john
Equals (case sensitive) = ?name=john
Not equals =- ?name=-john
Less than =< ?age=<5
Greater than => ?age=>5
Contains = ?name=doe
Not contains =- ?name=-doe
Starts with =*… ?name=*john
Ends with =…* ?name=doe*
null =null ?name=null
not null =-null ?name=-null
empty string = ?name=
not empty string =- ?name=-
And Use multiple filters ?count[]=>2&count[]=<5
Or =…,… ?name=john,george
?count=2,<2,>5

All of these expressions and operators may be combined as far as possible. Reserved characters for expressions must be escaped with a backslash if not contemplated as such.

Limiting returned fields

The API consumer doesn’t always need the full representation of a resource.

The fields query parameter accepts a comma separated list of fields to include. A request like this will limit the fields returned for employees:

Sorting

Similar to filtering, a generic parameter sort is used to describe sorting rules.

It accepts a list of comma separated fields, each with a possible negative prefix to imply descending sort order. By default, if no prefix is specified, the field will be used to sort results in ascending order. Let’s look at some examples:

Aliases for common queries

To make the API experience more pleasant for basic consumers, there are sets of conditions (templates) packed into easily accessible RESTful paths.

For example, the query GET /events?fields=name,start_time,end_time&state=1&date=2001-01-01&sort=name,-start_time could be packaged up as GET /events/today.

Similar to special actions, all aliases will be documented separately in the resource documentation sections.

Response format

Though JSON is the de-facto standard for RESTful API’s today, our API supports multiple return formats.

To ensure browser explorability, the format can be passed in the URL. Therefore you may just append the format as a file extension to the endpoint URL:

For the moment only JSON and XML are supported, while JSON is used as the default format. A content type header in compliance with RFC 6838 is sent according to the response format.

JSON specific features

JSON return values are always pretty printed.

Envelopes

JSONP envelope

callback_function({
    status_code: 200,
    additional_header: "...",
    response: {
        ... actual JSON response body ...
    }
})

By default, a JSON API response is not wrapped in an envelope.

If you need to use cross domain requests over JSONP you may use the additional query parameter callback containing the name of the desired callback function. Now the API will switch to a full envelope mode where it always responds with a 200 HTTP status code and passes the real status code in the JSON payload. Any additional HTTP headers that would have been passed alongside the response will be mapped to JSON fields.

Similarly, to support limited HTTP clients, a special query parameter envelope=true that will trigger full enveloping is supported.

Compression

All responses are compressed using GZIP, a corresponding Content-Encoding header is always included in the response.

Encoding / formats

All returned data is UTF-8 encoded. Dates, times and other formatable types are returned in consistent, common formats.

Input format

In contrast to the responses, the API only accepts JSON as format for input values used for POST and PUT actions.

An Accept-Encoding header is sent with every response to inform the client about the accepted format. If the API receives malformed data, a 415 error code will be sent.

File uploads

Example file upload POST request. Please note that the Content-Type and X-File-Name headers are optional.

curl -X POST https://<tenant>.staff.cloud/api/v1/files \
    -H "Authorization: Bearer <ACCESS_TOKEN>" \
    -H "Content-Type: image/jpeg" \
    -H "X-File-Name: filename.jpg" \
    -d "@/path/to/filename.jpg" 

Example response

{
  "id": 8,
  "path": "9f1d1d056e86af3b542453521ea7691",
  "name": "text_58ac754s1cb2234.80345007.plain-charset-UTF-8",
  "mime": "text/plain;charset=UTF-8",
  "status": 0,
  "user_id": 54
}

File uploads are a bit harder to implement in a pure REST manner so the file upload action is documented here although it is part of the files resource.

A file upload request looks like this: POST /files and the body of the request should contain the file content (binary data)

The platform will autodetect the file type and also generate a sensible and unique name for the folder/file.

Should you however want to specify the filename or the mime type for the file you can optionally do this by specifying the following headers: * X-File-Name - to specify a file name for the uploaded file * Content-Type - to specify a mime type for the uploaded file

The response will be the stored file resource. You can see an example on the right.

Rate limiting

To prevent abuse, we are rate limiting our API. RFC 6585 introduced a HTTP status code 429 Too Many Requests to accommodate this. In order to notify the API consumer about the current limits, the following headers will be sent:

Caching

The API is using an caching mechanism called ETag. The response will contain an ETag header which contains a hash of the representation sent. The value of the header will change whenever the output representation changes.

If an inbound HTTP request contains a If-None-Match header with an matching ETag value, the API will return a 304 Not Modified status code instead of the output representation of the resource.

HTTP status codes

Status Code Description
200 OK Response to a successful GET, PUT or DELETE. Can also be returned for a POST that doesn’t result in a creation.
201 Created Response to a POST that results in a creation. It is combined with a Location header pointing to the location of the new resource.
204 No Content Response to a successful request that won’t be returning a body (like a DELETE request).
304 Not Modified Used when HTTP caching headers are used.
400 Bad Request The request is malformed, such as if the body does not parse.
401 Unauthorized When no or invalid authentication details are provided.
403 Forbidden When authentication succeeded but authenticated user doesn’t have access to the resource.
404 Not Found When a non-existent resource is requested.
405 Method Not Allowed When an HTTP method is being requested that isn’t allowed for the authenticated user.
410 Gone Indicates that the resource at this end point is no longer available.
415 Unsupported Media Type If incorrect content type was provided as part of the request.
422 Unprocessable Entity Used for validation errors.
429 Too Many Requests When a request is rejected due to rate limiting.
500 Internal Server Error Something unexpected happened.
503 Service Unavailable The API is not available at the moment.

Errors

Example error response

{
    "code" : "field_deleted",
    "message" : "Field not available",
    "description" : "The requested field has been deleted." 
}

Example validation error response for PUT and POST requests

{
    "code" : "validation_failed",
    "message" : "Validation Failed",
    "errors" : [
        {
            "code" : "invalid_character",
            "field" : "first_name",
            "message" : "First name must not contain have special characters"
        },
        {
            "code" : "not_empty",
            "field" : "password",
            "message" : "Password cannot be blank"
        }
    ]
}

In case of errors, the API provides useful responses which explain the errors thrown.

Resources

Assignment wages

Schema

Assignment-wages schema

{
    "properties": {
        "assignment_id": {
            "label": "Assignment ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "wage_profile_id": {
            "label": "Profile Id",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "type": {
            "label": "Payment Type",
            "editable": false,
            "type": "string",
            "format": "int"
        },
        "payable_amount": {
            "label": "Payable Amount",
            "editable": false,
            "type": "float"
        },
        "base_value": {
            "label": "Base Value",
            "editable": false,
            "type": "float"
        },
        "factor": {
            "label": "Factor",
            "editable": false,
            "type": "float",
            "format": "int"
        },
        "is_disabled": {
            "label": "Disabled",
            "editable": false,
            "type": "integer",
            "format": "bool"
        },
        "is_valid": {
            "label": "Valid",
            "editable": false,
            "type": "integer",
            "format": "bool"
        },
        "wage_type": {
            "label": "Wage Type",
            "editable": false,
            "type": "object",
            "flatten": true
        },
        "wage_type_value": {
            "label": "Wage Type Value",
            "editable": false,
            "type": "object",
            "flatten": true
        },
        "wage_type.name": {
            "label": "Wage Type Name",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "wage_type.external_id": {
            "label": "Wage Type External ID",
            "editable": false,
            "type": "string"
        },
        "wage_type_value.unit": {
            "label": "Wage Type Unit",
            "format": "string",
            "editable": false,
            "type": "string"
        }
    }
}

Fields

Name Properties Type Description
assignment_id Read Only foreignKey (int)
wage_profile_id Read Only foreignKey (int)
type Read Only string (int)
payable_amount Read Only float
base_value Read Only float
factor Read Only float (int)
is_disabled Read Only integer (bool)
is_valid Read Only integer (bool)
wage_type Read Only object
wage_type_value Read Only object
wage_type.name Read Only string (string)
wage_type.external_id Read Only string
wage_type_value.unit Read Only string (string)

Relations

Name Resource Foreign Key Description
wageAssignment assignments assignment-wages.assignment_id
wageProfile wage-profiles assignment-wages.wage_profile_id

Actions

Request Description
GET /assignment-wages Resource listing.

Assignments

Describes event assignments. An event function that has been assigned to an employee.

Schema

Assignments schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "employee_id": {
            "label": "Employee Id",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "event_function_id": {
            "label": "Event Function Id",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "event_id": {
            "label": "Event Id",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "project_id": {
            "label": "Project Id",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "client_id": {
            "label": "Client Id",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "contact_id": {
            "label": "Contact Id",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "planner_id": {
            "label": "Planner Id",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "location_id": {
            "label": "Location Id",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "wage_profile_id": {
            "label": "Assignment Wage Profile Id",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "event_function.function": {
            "label": "Event Function Name",
            "editable": false,
            "description": "Name of the event function",
            "type": "string"
        },
        "event_function.function_id": {
            "label": "Event Function ID",
            "editable": false,
            "description": "ID of the event function",
            "type": "int"
        },
        "event_function.description": {
            "label": "Event Function Description",
            "editable": false,
            "description": "Short description of the event function referenced by the assignment.",
            "type": "string"
        },
        "event_function.location.name": {
            "label": "Event Function Location",
            "editable": false,
            "description": "The assignments event function location name.",
            "type": "string"
        },
        "event_function.start": {
            "label": "Event Function Start Time",
            "editable": false,
            "description": "The assignments event function start time.",
            "type": "string",
            "format": "date-time"
        },
        "event_function.end": {
            "label": "Event Function End Time",
            "editable": false,
            "description": "The assignments event function end time.",
            "type": "string",
            "format": "date-time"
        },
        "event_function.is_locked": {
            "label": "Event Function is locked",
            "editable": false,
            "description": "The assignments event function is locked.",
            "type": "int",
            "format": "bool"
        },
        "event_function.wage_profile_id": {
            "label": "Event Function Wage Profile Id",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "event.name": {
            "label": "Event Name",
            "editable": false,
            "description": "The name of the event that the assignment belongs to.",
            "type": "string"
        },
        "event.start": {
            "label": "Event Start",
            "editable": false,
            "description": "The start time of the event that the assignment belongs to.",
            "type": "string",
            "format": "date-time"
        },
        "event.end": {
            "label": "Event End",
            "editable": false,
            "description": "The end time of the event that the assignment belongs to.",
            "type": "string",
            "format": "date-time"
        },
        "event.location.name": {
            "label": "Event Location Name",
            "editable": false,
            "description": "The assignments event location name",
            "type": "string"
        },
        "event.contact.first_name": {
            "label": "Client contact first name",
            "editable": false,
            "description": "First name of the assignment client contact.",
            "type": "string"
        },
        "event.contact.last_name": {
            "label": "Client contact last name",
            "editable": false,
            "description": "Last name of the assignment client contact.",
            "type": "string"
        },
        "event.planner.first_name": {
            "label": "Planner first name",
            "editable": false,
            "description": "First name of the assignment planner.",
            "type": "string"
        },
        "event.planner.last_name": {
            "label": "Planner last name",
            "editable": false,
            "description": "Last name of the assignment planner.",
            "type": "string"
        },
        "event.project.name": {
            "label": "Project Name",
            "editable": false,
            "description": "Name of the assignment project.",
            "type": "string"
        },
        "status": {
            "label": "Status",
            "editable": true,
            "description": "The status of the assignment.",
            "type": "integer",
            "enum": {
                "invited": 1,
                "invited_ignored": 2,
                "applied": 3,
                "applied_maybe": 4,
                "denied": 8,
                "assigned": 6,
                "assigned_provisional": 5,
                "confirmed": 7
            },
            "format": "int",
            "valueMapping": {
                "1": "Invited",
                "2": "Ignored",
                "3": "Applied",
                "4": "Applied (maybe)",
                "5": "Assigned (provisional)",
                "6": "Assigned",
                "7": "Confirmed",
                "8": "Denied"
            }
        },
        "remarks": {
            "label": "Remarks",
            "editable": true,
            "description": "Remarks on the assignment.",
            "type": "string"
        },
        "start": {
            "label": "Start time",
            "editable": false,
            "description": "The start time of the assignment.",
            "type": "string",
            "format": "date-time"
        },
        "end": {
            "label": "End time",
            "editable": false,
            "description": "The end time of the assignment",
            "type": "string",
            "format": "date-time"
        },
        "break_start": {
            "label": "Break start time",
            "editable": false,
            "description": "The start time of the assignment break.",
            "type": "string",
            "format": "date-time"
        },
        "break_end": {
            "label": "Break end time",
            "editable": false,
            "description": "The end time of the assignment break",
            "type": "string",
            "format": "date-time"
        },
        "is_approved": {
            "label": "Approved",
            "editable": false,
            "description": "Is assignment data approved by planner",
            "type": "int",
            "format": "bool"
        },
        "pay_amount": {
            "label": "Approved pay amount",
            "editable": false,
            "description": "Wage amount that has been approved for payment",
            "type": "float",
            "format": "currency",
            "minimum": 0
        },
        "approved_on": {
            "label": "Payment approval time",
            "editable": false,
            "description": "Date and time when the payment was approved",
            "type": "string",
            "format": "date-time"
        },
        "approved_by_planner_id": {
            "label": "Id of the planner that approved the payment",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "paid_on": {
            "label": "Payment time",
            "editable": false,
            "description": "Date and time when the payment was made",
            "type": "string",
            "format": "date-time"
        },
        "created_at": {
            "label": "Created date",
            "editable": false,
            "description": "The date the assignment was created.",
            "type": "string",
            "format": "date-time"
        },
        "updated_at": {
            "label": "Updated date",
            "editable": false,
            "description": "The date the assignment was updated.",
            "type": "string",
            "format": "date-time"
        },
        "open_actions": {
            "label": "Open Actions",
            "editable": false,
            "description": "Contains information about all open actions that can be performed on an assignment",
            "type": "object"
        },
        "configurations": {
            "label": "Configurations",
            "editable": false,
            "description": "Contains information about assignment specific configuration",
            "type": "object"
        },
        "location": {
            "label": "Assignment Location",
            "editable": false,
            "description": "Assignment location address.",
            "type": "string"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
employee_id Read Only foreignKey (int)
event_function_id Read Only foreignKey (int)
event_id Read Only foreignKey (int)
project_id Read Only foreignKey (int)
client_id Read Only foreignKey (int)
contact_id Read Only foreignKey (int)
planner_id Read Only foreignKey (int)
location_id Read Only foreignKey (int)
wage_profile_id Read Only foreignKey (int)
event_function.function Read Only string Name of the event function
event_function.function_id Read Only int ID of the event function
event_function.description Read Only string Short description of the event function referenced by the assignment.
event_function.location.name Read Only string The assignments event function location name.
event_function.start Read Only string (date-time) The assignments event function start time.
event_function.end Read Only string (date-time) The assignments event function end time.
event_function.is_locked Read Only int (bool) The assignments event function is locked.
event_function.wage_profile_id Read Only foreignKey (int)
event.name Read Only string The name of the event that the assignment belongs to.
event.start Read Only string (date-time) The start time of the event that the assignment belongs to.
event.end Read Only string (date-time) The end time of the event that the assignment belongs to.
event.location.name Read Only string The assignments event location name
event.contact.first_name Read Only string First name of the assignment client contact.
event.contact.last_name Read Only string Last name of the assignment client contact.
event.planner.first_name Read Only string First name of the assignment planner.
event.planner.last_name Read Only string Last name of the assignment planner.
event.project.name Read Only string Name of the assignment project.
status integer (int) The status of the assignment.
remarks string Remarks on the assignment.
start Read Only string (date-time) The start time of the assignment.
end Read Only string (date-time) The end time of the assignment
break_start Read Only string (date-time) The start time of the assignment break.
break_end Read Only string (date-time) The end time of the assignment break
is_approved Read Only int (bool) Is assignment data approved by planner
pay_amount Read Only float (currency) Wage amount that has been approved for payment
approved_on Read Only string (date-time) Date and time when the payment was approved
approved_by_planner_id Read Only foreignKey (int)
paid_on Read Only string (date-time) Date and time when the payment was made
created_at Read Only string (date-time) The date the assignment was created.
updated_at Read Only string (date-time) The date the assignment was updated.
open_actions Read Only object Contains information about all open actions that can be performed on an assignment
configurations Read Only object Contains information about assignment specific configuration
location Read Only string Assignment location address.

Relations

Name Resource Foreign Key Description
assignmentEmployee employees assignments.employee_id Employee referenced by the assignment.
assignmentEvent events assignments.event_id Event referenced by the assignment.
assignmentProject projects assignments.project_id Project referenced by the assignment.
assignmentFunction event-functions assignments.event_function_id Function referenced by the assignment.
assignmentWageProfile wage-profiles assignments.wage_profile_id Wage profile referenced by the assignment.
assignmentLocation locations assignments.location_id Location of the assignment.
paysheets paysheets paysheets.assignment_id
work-times work-times work-times.event_function_employee_id
wages assignment-wages assignment-wages.assignment_id
work-time-proposals work-time-proposals work-time-proposals.assignment_id
wage-proposals wage-proposals wage-proposals.assignment_id
livestamps livestamps livestamps.assignment_id
checkins checkins checkins.assignment_id

Actions

Request Description
GET /assignments Resource listing.
GET /assignments/<id> Resource read.
GET /assignments/<id>/status-map Available assignment status values.
PUT /assignments/<id>/status Change assignment specific state
PUT /assignments/<id>/status Bulk change assignments states
GET /assignments/<id>/teamsheet Get the team sheet for a specific assignment
GET /assignments/<id>/open-actions Get open actions for a specific assignment.
GET /assignments/<id>/configurations Get configurations for a specific assignment
PUT /assignments/<id>/pay Set payment time for a specific assignment
GET /assignments/<id>/reporting-forms Get reporting forms attached to a particular assignment via related event / project.
GET /assignments/<id>/reporting-forms Get reporting forms attached to multiple assignments via related events / projects.

Filters

Attributes

Schema

Attributes schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "collection_id": {
            "label": "Project ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "entity_id": {
            "label": "Entity ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "type_id": {
            "label": "Attribute type ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "identifier": {
            "label": "Identifier",
            "type": "string",
            "editable": false,
            "format": "string"
        },
        "name": {
            "label": "Label",
            "type": "string",
            "editable": false,
            "format": "string"
        },
        "language_id": {
            "label": "Language ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "is_locked_employees": {
            "label": "Is locked for employees",
            "type": "integer",
            "format": "bool",
            "editable": false
        },
        "deletable": {
            "label": "Is deletable",
            "type": "int",
            "format": "bool",
            "editable": false
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
collection_id Read Only foreignKey (int)
entity_id Read Only foreignKey (int)
type_id Read Only foreignKey (int)
identifier Read Only string (string)
name Read Only string (string)
language_id Read Only foreignKey (int)
is_locked_employees Read Only integer (bool)
deletable Read Only int (bool)

Relations

Name Resource Foreign Key Description
attributeCollection collections attributes.collection_id
languages languages attributes.language_id

Actions

Request Description
GET /attributes Resource listing.
GET /attributes/<id> Resource read.

Busy dates

Schema

Busy-dates schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "employee_id": {
            "label": "Employee Id",
            "editable": true,
            "type": "foreignKey",
            "format": "int"
        },
        "reason": {
            "label": "Reason",
            "editable": true,
            "type": "string",
            "format": "string"
        },
        "start": {
            "label": "Start date",
            "editable": false,
            "type": "string",
            "format": "date-time"
        },
        "end": {
            "label": "End date",
            "editable": false,
            "type": "string",
            "format": "date-time"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
employee_id foreignKey (int)
reason string (string)
start Read Only string (date-time)
end Read Only string (date-time)

Relations

Name Resource Foreign Key Description
busyDatesEmployee employees busy-dates.employee_id

Actions

Request Description
GET /busy-dates Resource listing.
GET /busy-dates/<id> Resource read.
POST /busy-dates Resource create.
DELETE /busy-dates/<id> Resource delete.

Checkins

Schema

Checkins schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField"
        },
        "assignment_id": {
            "label": "Assignment ID",
            "type": "foreignKey",
            "editable": false
        },
        "timestamp": {
            "label": "Timestamp",
            "editable": false,
            "type": "string",
            "format": "date-time"
        },
        "hash": {
            "label": "Hash",
            "description": "Optional check-in hash.",
            "editable": false,
            "type": "string"
        },
        "source": {
            "label": "Source",
            "editable": false,
            "type": "int",
            "enum": [
                1,
                2
            ],
            "valueMapping": {
                "1": "Mobile Apps",
                "2": "External"
            }
        },
        "type": {
            "label": "Type",
            "editable": false,
            "type": "int",
            "enum": [
                1,
                2,
                3,
                4
            ],
            "valueMapping": {
                "1": "Start",
                "2": "Break Start",
                "3": "Break End",
                "4": "End"
            }
        },
        "created_at": {
            "label": "Created",
            "editable": false
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField
assignment_id Read Only foreignKey
timestamp Read Only string (date-time)
hash Read Only string Optional check-in hash.
source Read Only int
type Read Only int
created_at Read Only

Relations

Name Resource Foreign Key Description
checkInAssignment assignments checkins.assignment_id

Actions

Request Description
GET /checkins Resource listing.
GET /checkins/<id> Resource read.
POST /checkins Resource create.
DELETE /checkins/<id> Resource delete.

Clients

Resource uses dynamic fields, all user defined fields are not included in this documentation.

Schema

Clients schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "relation_id": {
            "label": "Relation ID",
            "type": "foreignKey",
            "editable": false,
            "format": "int"
        },
        "status": {
            "label": "Status",
            "editable": false,
            "type": "integer",
            "enum": [
                1,
                2
            ],
            "format": "int",
            "valueMapping": {
                "1": "Active",
                "2": "Inactive"
            }
        },
        "created_at": {
            "label": "Created",
            "editable": false,
            "type": "string",
            "format": "date-time"
        },
        "updated_at": {
            "label": "Updated",
            "editable": false,
            "type": "string",
            "format": "date-time"
        },
        "company": {
            "label": "Company name",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 11,
            "input_type": "text"
        },
        "address_first": {
            "label": "Address line 1",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 12,
            "input_type": "text"
        },
        "address_second": {
            "label": "Address line 2",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 13,
            "input_type": "text"
        },
        "zip": {
            "label": "ZIP",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 14,
            "input_type": "text"
        },
        "city": {
            "label": "City",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 15,
            "input_type": "text"
        },
        "country": {
            "label": "Country",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 16,
            "input_type": "select"
        },
        "dynamic_field_86": {
            "label": "Checkbox",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 86,
            "input_type": "boolean"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
relation_id Read Only foreignKey (int)
status Read Only integer (int)
created_at Read Only string (date-time)
updated_at Read Only string (date-time)
company Dynamic Field
address_first Dynamic Field
address_second Dynamic Field
zip Dynamic Field
city Dynamic Field
country Dynamic Field

Relations

Name Resource Foreign Key Description
clientEvents events events.client_id
clientProjects projects projects.client_id

Actions

Request Description
GET /clients Resource listing.
GET /clients/<id> Resource read.
POST /clients Resource create.
PUT /clients/<id> Resource update.
DELETE /clients/<id> Resource delete.

Collections

Schema

Collections schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "identifier": {
            "label": "Identifier",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "name": {
            "label": "Name",
            "editable": true,
            "type": "string",
            "format": "string"
        },
        "editable": {
            "label": "Editable",
            "editable": false,
            "type": "integer",
            "format": "bool"
        },
        "visible": {
            "label": "Visible",
            "editable": false,
            "type": "integer",
            "format": "bool"
        },
        "deleted": {
            "label": "Deleted",
            "editable": false,
            "type": "integer",
            "format": "bool"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
identifier Read Only string (string)
name string (string)
editable Read Only integer (bool)
visible Read Only integer (bool)
deleted Read Only integer (bool)

Relations

Actions

Request Description
GET /collections Resource listing.
GET /collections/<id> Resource read.
POST /collections Resource create.
PUT /collections/<id> Resource update.
DELETE /collections/<id> Resource delete.
GET /collections/<id>/values List all values of a specific collection
GET /collections/<id>/objects List all objects of a specific collection
POST /collections/<id>/value Add new value to a collection
GET /collections/<id>/value Get specific value from a collection
PUT /collections/<id>/value Update specific value from a collection
DELETE /collections/<id>/value Delete value from collection

Contacts

Resource uses dynamic fields, all user defined fields are not included in this documentation.

Schema

Contacts schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "relation_id": {
            "label": "Relation ID",
            "type": "foreignKey",
            "editable": false,
            "format": "int"
        },
        "client_id": {
            "label": "Client ID",
            "type": "foreignKey",
            "editable": true,
            "format": "int"
        },
        "status": {
            "label": "Status",
            "editable": false,
            "type": "integer",
            "enum": [
                1,
                2
            ],
            "format": "int",
            "valueMapping": {
                "1": "Active",
                "2": "Inactive"
            }
        },
        "created_at": {
            "label": "Created",
            "editable": false,
            "type": "string",
            "format": "date-time"
        },
        "updated_at": {
            "label": "Updated",
            "editable": false,
            "type": "string",
            "format": "date-time"
        },
        "firstname": {
            "label": "First name",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 17,
            "input_type": "text"
        },
        "lastname": {
            "label": "Last name",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 18,
            "input_type": "text"
        },
        "email": {
            "label": "Email address",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 19,
            "input_type": "email"
        },
        "mobile": {
            "label": "Mobile number",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 20,
            "input_type": "phone"
        },
        "gender": {
            "label": "Gender",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 53,
            "input_type": "select"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
relation_id Read Only foreignKey (int)
client_id foreignKey (int)
status Read Only integer (int)
created_at Read Only string (date-time)
updated_at Read Only string (date-time)
firstname Dynamic Field
lastname Dynamic Field
email Dynamic Field
mobile Dynamic Field
gender Dynamic Field

Relations

Name Resource Foreign Key Description
contactClient clients contacts.client_id
contactEvents events events.contact_id
contactProjects projects projects.contact_id

Actions

Request Description
GET /contacts Resource listing.
GET /contacts/<id> Resource read.
POST /contacts Resource create.
PUT /contacts/<id> Resource update.
DELETE /contacts/<id> Resource delete.

Employee pictures

Schema

Employee-pictures schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "employee_id": {
            "label": "Employee Id",
            "type": "foreignKey",
            "editable": false,
            "format": "int"
        },
        "file_id": {
            "label": "File Id",
            "type": "foreignKey",
            "editable": false,
            "format": "int"
        },
        "order": {
            "label": "Order index",
            "editable": true,
            "type": "integer",
            "format": "int"
        },
        "is_profile_picture": {
            "label": "Is Profile Picture",
            "editable": true,
            "type": "integer",
            "format": "bool"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
employee_id Read Only foreignKey (int)
file_id Read Only foreignKey (int)
order integer (int)
is_profile_picture integer (bool)

Relations

Name Resource Foreign Key Description
employee employees employee-pictures.employee_id
file files employee-pictures.file_id

Actions

Request Description
GET /employee-pictures Resource listing.
GET /employee-pictures/<id> Resource read.
POST /employee-pictures Resource create.
PUT /employee-pictures/<id> Resource update.
DELETE /employee-pictures/<id> Resource delete.

Employees

Resource uses dynamic fields, all user defined fields are not included in this documentation.

Schema

Employees schema

{
    "properties": {
        "id": {
            "label": "ID",
            "type": "identityField",
            "format": "int",
            "editable": false
        },
        "status": {
            "label": "Status",
            "type": "integer",
            "editable": true,
            "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6
            ],
            "valueMapping": [
                "Uncompleted",
                "Applicant",
                "Provisional candidate",
                "Candidate",
                "Active",
                "Inactive",
                "Anonymized"
            ],
            "format": "int"
        },
        "wage_profile_id": {
            "label": "Wage Profile ID",
            "type": "foreignKey",
            "editable": true,
            "format": "int"
        },
        "created_at": {
            "label": "Created on",
            "editable": false,
            "description": "The date the employee was created in the system.",
            "type": "string",
            "format": "date-time"
        },
        "updated_at": {
            "label": "Updated on",
            "editable": false,
            "description": "The date the employee was last updated in the system.",
            "type": "string",
            "format": "date-time"
        },
        "reminded_at": {
            "label": "Reminded on",
            "editable": false,
            "description": "The date the employee was last reminded to complete the recruiting process.",
            "type": "string",
            "format": "date-time"
        },
        "last_logged_in_at": {
            "label": "Logged in on",
            "editable": false,
            "description": "The date the employee was last logged in on.",
            "type": "string",
            "format": "date-time"
        },
        "last_active_at": {
            "label": "Last active on",
            "editable": false,
            "description": "The date the employee was last active on.",
            "type": "string",
            "format": "date-time"
        },
        "activated_at": {
            "label": "Activated on",
            "editable": false,
            "description": "The date the employee was activated on.",
            "type": "string",
            "format": "date-time"
        },
        "deactivated_at": {
            "label": "Deactivated on",
            "editable": false,
            "description": "The date the employee was deactivated on.",
            "type": "string",
            "format": "date-time"
        },
        "password_expires_at": {
            "label": "Password expires at",
            "editable": false,
            "description": "The date when the employee password will expire.",
            "type": "string",
            "format": "date-time"
        },
        "firstname": {
            "label": "First name",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 1,
            "input_type": "text"
        },
        "lastname": {
            "label": "Last name",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 2,
            "input_type": "text"
        },
        "email": {
            "label": "Email address",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 3,
            "input_type": "email"
        },
        "mobile": {
            "label": "Mobile number",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 4,
            "input_type": "phone"
        },
        "address_first": {
            "label": "Address line 1",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 5,
            "input_type": "text"
        },
        "address_second": {
            "label": "Address line 2",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 6,
            "input_type": "text"
        },
        "zip": {
            "label": "ZIP",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 7,
            "input_type": "text"
        },
        "city": {
            "label": "City",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 8,
            "input_type": "text"
        },
        "country": {
            "label": "Country",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 9,
            "input_type": "select"
        },
        "qualifications": {
            "label": "Qualifications",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 10,
            "input_type": "multi_select"
        },
        "dynamic_field_26": {
            "label": "Applies for",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 26,
            "input_type": "select"
        },
        "dynamic_field_27": {
            "label": "Wie bist du auf uns aufmerksam geworden?",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 27,
            "input_type": "multi_select"
        },
        "dynamic_field_28": {
            "label": "Height",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 28,
            "input_type": "number",
            "format": "number"
        },
        "dynamic_field_30": {
            "label": "E-Mail Sprache",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 30,
            "input_type": "select"
        },
        "dynamic_field_31": {
            "label": "Dirver",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 31,
            "input_type": "select"
        },
        "dynamic_field_32": {
            "label": "Car",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 32,
            "input_type": "select"
        },
        "dynamic_field_33": {
            "label": "Gesundheitszeugnis",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 33,
            "input_type": "select"
        },
        "dynamic_field_34": {
            "label": "SV-Nummer",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 34,
            "input_type": "text"
        },
        "dynamic_field_38": {
            "label": "IBAN-Nummer",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 38,
            "input_type": "text"
        },
        "dynamic_field_39": {
            "label": "Bank",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 39,
            "input_type": "text"
        },
        "dynamic_field_40": {
            "label": "Kontoart",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 40,
            "input_type": "select"
        },
        "dynamic_field_41": {
            "label": "Religious denomination",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 41,
            "input_type": "select"
        },
        "dynamic_field_43": {
            "label": "Driver's licence",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 43,
            "input_type": "multi_select"
        },
        "birthday": {
            "label": "Birthday",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 47,
            "input_type": "date",
            "format": "date"
        },
        "dynamic_field_48": {
            "label": "Employment contract",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 48,
            "input_type": "file"
        },
        "dynamic_field_49": {
            "label": "[missing translation]",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 49,
            "input_type": "file"
        },
        "gender": {
            "label": "Gender",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 51,
            "input_type": "select"
        },
        "dynamic_field_54": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 54,
            "input_type": "file"
        },
        "dynamic_field_62": {
            "label": "Document 3",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 62,
            "input_type": "file"
        },
        "dynamic_field_63": {
            "label": "Foto 1",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 63,
            "input_type": "file"
        },
        "dynamic_field_66": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 66,
            "input_type": "level_select"
        },
        "dynamic_field_69": {
            "label": "Ich akzeptiere die AGB",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 69,
            "input_type": "boolean"
        },
        "dynamic_field_72": {
            "label": "Anstellungsform",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 72,
            "input_type": "select"
        },
        "dynamic_field_73": {
            "label": "Expiry date Student card",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 73,
            "input_type": "date",
            "format": "date"
        },
        "dynamic_field_74": {
            "label": "DIAS number",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 74,
            "input_type": "number",
            "format": "number"
        },
        "dynamic_field_75": {
            "label": "Sprachen",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 75,
            "input_type": "level_select"
        },
        "dynamic_field_76": {
            "label": "Date",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 76,
            "input_type": "date",
            "format": "date"
        },
        "dynamic_field_77": {
            "label": "Account Balance",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 77,
            "input_type": "money",
            "format": "currency"
        },
        "dynamic_field_80": {
            "label": "Validatione Grande",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 80,
            "input_type": "text"
        },
        "dynamic_field_81": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 81,
            "input_type": "file"
        },
        "dynamic_field_83": {
            "label": "Afbeelding badge",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 83,
            "input_type": "file"
        },
        "dynamic_field_84": {
            "label": "Datum Badge",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 84,
            "input_type": "date",
            "format": "date"
        },
        "dynamic_field_85": {
            "label": "Anzahl kinder",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 85,
            "input_type": "number",
            "format": "number"
        },
        "dynamic_field_87": {
            "label": "EMP ID",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 87,
            "input_type": "index",
            "format": "int"
        },
        "dynamic_field_90": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 90,
            "input_type": "wysiwyg"
        },
        "dynamic_field_91": {
            "label": "Citizenship",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 91,
            "input_type": "select"
        },
        "dynamic_field_92": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 92,
            "input_type": "boolean"
        },
        "dynamic_field_93": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 93,
            "input_type": "boolean"
        },
        "dynamic_field_94": {
            "label": "T-Shirt size",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 94,
            "input_type": "select"
        },
        "dynamic_field_95": {
            "label": "Train tickets",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 95,
            "input_type": "select"
        },
        "dynamic_field_97": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 97,
            "input_type": "number",
            "format": "number"
        },
        "dynamic_field_98": {
            "label": "Profession",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 98,
            "input_type": "text"
        },
        "dynamic_field_99": {
            "label": "Land line",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 99,
            "input_type": "number",
            "format": "number"
        },
        "dynamic_field_100": {
            "label": "Martial status",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 100,
            "input_type": "select"
        },
        "dynamic_field_101": {
            "label": "Operation team",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 101,
            "input_type": "multi_select"
        },
        "dynamic_field_102": {
            "label": "Visible tatoos?",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 102,
            "input_type": "select"
        },
        "dynamic_field_103": {
            "label": "Pants size",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 103,
            "input_type": "select"
        },
        "dynamic_field_104": {
            "label": "[missing translation]",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 104,
            "input_type": "file"
        },
        "dynamic_field_107": {
            "label": "Assignments",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 107,
            "input_type": "select"
        },
        "dynamic_field_108": {
            "label": "Other languages",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 108,
            "input_type": "text_area"
        },
        "dynamic_field_111": {
            "label": "Collectionfield",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 111,
            "input_type": "select"
        },
        "dynamic_field_114": {
            "label": "Remarks",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 114,
            "input_type": "text_area"
        },
        "dynamic_field_115": {
            "label": "F\u00fchrerscheinkopie",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 115,
            "input_type": "file"
        },
        "dynamic_field_118": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 118,
            "input_type": "text"
        },
        "dynamic_field_119": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 119,
            "input_type": "select"
        },
        "dynamic_field_120": {
            "label": "[missing translation]",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 120,
            "input_type": "multi_select"
        },
        "dynamic_field_130": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 130,
            "input_type": "multi_select"
        },
        "dynamic_field_131": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 131,
            "input_type": "select"
        },
        "dynamic_field_132": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 132,
            "input_type": "url"
        },
        "dynamic_field_134": {
            "label": "This is a checkbox",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 134,
            "input_type": "boolean"
        },
        "dynamic_field_135": {
            "label": "Date",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 135,
            "input_type": "date",
            "format": "date"
        },
        "dynamic_field_136": {
            "label": "Lieblingsfarbe",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 136,
            "input_type": "color"
        },
        "dynamic_field_137": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 137,
            "input_type": "datetime",
            "format": "datetime"
        },
        "dynamic_field_138": {
            "label": "decimal",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 138,
            "input_type": "decimal"
        },
        "dynamic_field_139": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 139,
            "input_type": "url"
        },
        "dynamic_field_140": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 140,
            "input_type": "time",
            "format": "time"
        },
        "dynamic_field_141": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 141,
            "input_type": "text"
        },
        "dynamic_field_142": {
            "label": "[missing translation]",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 142,
            "input_type": "multi_select"
        },
        "dynamic_field_145": {
            "label": "[missing translation]",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 145,
            "input_type": "select"
        },
        "dynamic_field_146": {
            "label": "[missing translation]",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 146,
            "input_type": "text"
        },
        "communication_language": {
            "label": "Communication language",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 148,
            "input_type": "select"
        },
        "dynamic_field_155": {
            "label": "[missing translation]",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 155,
            "input_type": "multi_select"
        },
        "dynamic_field_156": {
            "label": "Nachtschicht",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 156,
            "input_type": "select"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
status integer (int)
wage_profile_id foreignKey (int)
created_at Read Only string (date-time) The date the employee was created in the system.
updated_at Read Only string (date-time) The date the employee was last updated in the system.
reminded_at Read Only string (date-time) The date the employee was last reminded to complete the recruiting process.
last_logged_in_at Read Only string (date-time) The date the employee was last logged in on.
last_active_at Read Only string (date-time) The date the employee was last active on.
activated_at Read Only string (date-time) The date the employee was activated on.
deactivated_at Read Only string (date-time) The date the employee was deactivated on.
password_expires_at Read Only string (date-time) The date when the employee password will expire.
firstname Dynamic Field
lastname Dynamic Field
email Dynamic Field
mobile Dynamic Field
address_first Dynamic Field
address_second Dynamic Field
zip Dynamic Field
city Dynamic Field
country Dynamic Field
qualifications Dynamic Field
birthday Dynamic Field (date)
gender Dynamic Field
communication_language Dynamic Field

Relations

Name Resource Foreign Key Description
employeeBusyDates busy-dates busy-dates.employee_id
employeeAssignments assignments assignments.employee_id
employeeWageProfile wage-profiles employees.wage_profile_id Base wage profile of the employee
employeeWorkQuotaProfiles work-quota-profiles work-quota-profiles.employee_id

Actions

Request Description
GET /employees Resource listing.
GET /employees/<id> Resource read.
POST /employees Resource create.
PUT /employees/<id> Resource update.
DELETE /employees/<id> Resource delete.
GET /employees/<id>/active Get all active employees.
PUT /employees/<id>/state Set the state of an employee.
PUT /employees/<id>/forms
GET /employees/<id>/forms Get employee rendered through a given form.

Filters

The default filters are:

Sort:

Event functions

Schema

Event-functions schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "code": {
            "label": "Code",
            "editable": true,
            "type": "string"
        },
        "description": {
            "label": "Description",
            "editable": true
        },
        "quantity": {
            "label": "Quantity",
            "editable": true,
            "format": "int"
        },
        "event_id": {
            "label": "Event ID",
            "type": "foreignKey",
            "editable": false,
            "format": "int"
        },
        "project_id": {
            "label": "Project ID",
            "type": "foreignKey",
            "editable": false,
            "format": "int"
        },
        "function_id": {
            "label": "Function ID",
            "type": "foreignKey",
            "editable": false,
            "format": "int"
        },
        "location_id": {
            "label": "Inherited location ID",
            "type": "foreignKey",
            "editable": true,
            "format": "int"
        },
        "eventFunction.location_id": {
            "label": "Location ID",
            "type": "foreignKey",
            "editable": true,
            "format": "int"
        },
        "wage_profile_id": {
            "label": "Location ID",
            "type": "foreignKey",
            "editable": true,
            "format": "int"
        },
        "start": {
            "label": "Start Time",
            "editable": true,
            "format": "date-time"
        },
        "end": {
            "label": "End Time",
            "editable": true,
            "format": "date-time"
        },
        "break_start": {
            "label": "Break Start Time",
            "editable": true,
            "format": "date-time"
        },
        "break_end": {
            "label": "Break End Time",
            "editable": true,
            "format": "date-time"
        },
        "is_locked": {
            "label": "Is locked",
            "editable": false,
            "type": "int",
            "format": "bool"
        },
        "is_private": {
            "label": "Is locked",
            "editable": false,
            "type": "int",
            "format": "bool"
        },
        "is_transition_locked": {
            "label": "Is locked",
            "editable": false,
            "type": "int",
            "format": "bool"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
code string
description
quantity (int)
event_id Read Only foreignKey (int)
project_id Read Only foreignKey (int)
function_id Read Only foreignKey (int)
location_id foreignKey (int)
eventFunction.location_id foreignKey (int)
wage_profile_id foreignKey (int)
start (date-time)
end (date-time)
break_start (date-time)
break_end (date-time)
is_locked Read Only int (bool)
is_private Read Only int (bool)
is_transition_locked Read Only int (bool)

Relations

Name Resource Foreign Key Description
functionEvent events event-functions.event_id
project projects event-functions.project_id
eventFunctionAssignments assignments assignments.event_function_id
location locations event-functions.location_id

Actions

Request Description
GET /event-functions Resource listing.
GET /event-functions/<id> Resource read.
POST /event-functions Resource create.
PUT /event-functions/<id> Resource update.

Events

Resource uses dynamic fields, all user defined fields are not included in this documentation.

Schema

Events schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "planner_id": {
            "label": "Planner Id",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "project_id": {
            "label": "Project ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "location_id": {
            "label": "Location ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "client_id": {
            "label": "Inherited client ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "contact_id": {
            "label": "Inherited contact ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "event.client_id": {
            "label": "Client ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "event.contact_id": {
            "label": "Contact ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "status": {
            "label": "Status",
            "editable": false,
            "type": "integer",
            "enum": [
                1,
                2,
                3
            ],
            "valueMapping": {
                "1": "Upcoming",
                "2": "Active",
                "3": "Archived"
            }
        },
        "name": {
            "label": "Name",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "start": {
            "label": "Start Time",
            "editable": false,
            "type": "string",
            "format": "date-time"
        },
        "end": {
            "label": "End Time",
            "editable": false,
            "format": "date-time"
        },
        "break_start": {
            "label": "Break Start Time",
            "editable": false,
            "format": "date-time"
        },
        "break_end": {
            "label": "Break End Time",
            "editable": false,
            "type": "string",
            "format": "date-time"
        },
        "created_at": {
            "label": "Created",
            "editable": false,
            "type": "string",
            "format": "date-time"
        },
        "updated_at": {
            "label": "Updated",
            "editable": false,
            "format": "date-time"
        },
        "project_name": {
            "label": "Project",
            "editable": false,
            "type": "string"
        },
        "dynamic_field_55": {
            "label": "Project Manager",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 55,
            "input_type": "text"
        },
        "dynamic_field_59": {
            "label": "Event description",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 59,
            "input_type": "text_area"
        },
        "dynamic_field_60": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 60,
            "input_type": "file"
        },
        "dynamic_field_61": {
            "label": "File upload",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 61,
            "input_type": "file"
        },
        "dynamic_field_67": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 67,
            "input_type": "multi_select"
        },
        "dynamic_field_78": {
            "label": "Auto",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 78,
            "input_type": "select"
        },
        "dynamic_field_82": {
            "label": "Bitte mitbringen",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 82,
            "input_type": "multi_select"
        },
        "dynamic_field_89": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 89,
            "input_type": "wysiwyg"
        },
        "dynamic_field_105": {
            "label": "Expenses paid",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 105,
            "input_type": "multi_select"
        },
        "dynamic_field_112": {
            "label": "[missing translation]",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 112,
            "input_type": "text"
        },
        "dynamic_field_116": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 116,
            "input_type": "multi_select"
        },
        "dynamic_field_127": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 127,
            "input_type": "select"
        },
        "dynamic_field_147": {
            "label": "[missing translation]",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 147,
            "input_type": "money",
            "format": "currency"
        },
        "dynamic_field_154": {
            "label": "[missing translation]",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 154,
            "input_type": "wysiwyg"
        },
        "dynamic_field_157": {
            "label": "Offerte",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 157,
            "input_type": "select"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
planner_id Read Only foreignKey (int)
project_id Read Only foreignKey (int)
location_id Read Only foreignKey (int)
client_id Read Only foreignKey (int)
contact_id Read Only foreignKey (int)
event.client_id Read Only foreignKey (int)
event.contact_id Read Only foreignKey (int)
status Read Only integer
name Read Only string (string)
start Read Only string (date-time)
end Read Only (date-time)
break_start Read Only (date-time)
break_end Read Only string (date-time)
created_at Read Only string (date-time)
updated_at Read Only (date-time)
project_name Read Only string

Relations

Name Resource Foreign Key Description
eventProject projects events.project_id
eventFunctions event-functions event-functions.event_id
eventClient clients events.client_id
eventContact contacts events.contact_id
eventAssignments assignments assignments.event_id
eventPlanner planners events.planner_id Planner of the event.
eventLocation locations events.location_id Location of the event.

Actions

Request Description
GET /events Resource listing.
GET /events/<id> Resource read.
POST /events Resource create.
PUT /events/<id> Resource update.
GET /events/<id>/forms Get event rendered through a given form.
GET /events/<id>/reporting-forms Get reporting forms attached to a particular event.
GET /events/<id>/reporting-forms Get reporting forms for indicated / all events

Files

Schema

Files schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "path": {
            "label": "Path",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "name": {
            "label": "Name",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "mime": {
            "label": "Mime Type",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "user_id": {
            "label": "User ID",
            "editable": false,
            "type": "integer",
            "format": "int"
        },
        "status": {
            "label": "Status",
            "editable": true,
            "type": "integer",
            "enum": [
                0,
                1
            ],
            "valueMapping": [
                "Temporary",
                "Permanent"
            ],
            "format": "int"
        },
        "created_at": {
            "label": "Created",
            "editable": false,
            "type": "string",
            "format": "date-time"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
path Read Only string (string)
name Read Only string (string)
mime Read Only string (string)
user_id Read Only integer (int)
status integer (int)
created_at Read Only string (date-time)

Relations

Actions

Request Description
GET /files Resource listing.
GET /files/<id> Resource read.
PUT /files/<id> Resource update.
DELETE /files/<id> Resource delete.

Forms

Schema

Forms schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "identifier": {
            "label": "Identifier",
            "type": "string",
            "editable": false,
            "format": "string"
        },
        "name": {
            "label": "Label",
            "type": "string",
            "editable": false,
            "format": "string"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
identifier Read Only string (string)
name Read Only string (string)

Relations

Actions

Request Description
GET /forms Resource listing.
GET /forms/<id> Resource read.

Languages

Schema

Languages schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "code": {
            "label": "Code",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "name": {
            "label": "Name",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "short": {
            "label": "Short",
            "editable": false,
            "type": "string",
            "format": "string"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
code Read Only string (string)
name Read Only string (string)
short Read Only string (string)

Relations

Actions

Request Description
GET /languages Resource listing.
GET /languages/<id> Resource read.

Livestamps

Schema

Livestamps schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "assignment_id": {
            "label": "Assignment ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "planner_id": {
            "label": "Planner ID",
            "editable": false,
            "description": "The ID of the planner who accepted\/rejected the livestamp",
            "type": "foreignKey",
            "format": "int"
        },
        "proposed_date_time": {
            "label": "Proposed date time",
            "editable": true,
            "description": "The assignment livestamp proposed date and time.",
            "type": "string",
            "format": "date-time"
        },
        "latitude": {
            "label": "Latitude",
            "editable": true,
            "description": "The assignment livestamp latitude.",
            "type": "float",
            "format": "float"
        },
        "longitude": {
            "label": "Longitude",
            "editable": true,
            "description": "The assignment livestamp longitude.",
            "type": "float",
            "format": "float"
        },
        "remarks": {
            "label": "Remarks",
            "editable": true,
            "description": "The assignment livestamp remarks.",
            "type": "string",
            "format": "string"
        },
        "source": {
            "label": "Source",
            "editable": true,
            "description": "The assignment livestamp creation source.",
            "type": "string",
            "enum": [
                "employee_mobile_app",
                "employee_web_app"
            ],
            "format": "string"
        },
        "created_at": {
            "label": "Created at",
            "editable": false,
            "description": "The date and time when the livestamp was created.",
            "type": "string",
            "format": "date-time"
        },
        "updated_at": {
            "label": "Updated at",
            "editable": false,
            "description": "The date and time when the livestamp was last updated.",
            "type": "string",
            "format": "date-time"
        },
        "accepted_at": {
            "label": "Accepted at",
            "editable": false,
            "description": "The date and time when the livestamp was accepted.",
            "type": "string",
            "format": "date-time"
        },
        "rejected_at": {
            "label": "Rejected at",
            "editable": false,
            "description": "The date and time when the livestamp was rejected.",
            "type": "string",
            "format": "date-time"
        },
        "files_ids": {
            "label": "Livestamp files IDs (optional)",
            "editable": true,
            "description": "The IDs of the files to be added to the livestamp.",
            "type": "array",
            "format": "array"
        },
        "files": {
            "label": "Files",
            "editable": false,
            "description": "The assignment livestamp uploaded files.",
            "type": "array",
            "format": "array"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
assignment_id Read Only foreignKey (int)
planner_id Read Only foreignKey (int) The ID of the planner who accepted/rejected the livestamp
proposed_date_time string (date-time) The assignment livestamp proposed date and time.
latitude float (float) The assignment livestamp latitude.
longitude float (float) The assignment livestamp longitude.
remarks string (string) The assignment livestamp remarks.
source string (string) The assignment livestamp creation source.
created_at Read Only string (date-time) The date and time when the livestamp was created.
updated_at Read Only string (date-time) The date and time when the livestamp was last updated.
accepted_at Read Only string (date-time) The date and time when the livestamp was accepted.
rejected_at Read Only string (date-time) The date and time when the livestamp was rejected.
files_ids array (array) The IDs of the files to be added to the livestamp.
files Read Only array (array) The assignment livestamp uploaded files.

Relations

Name Resource Foreign Key Description
livestampAssignment assignments livestamps.assignment_id
livestampPlanner planners livestamps.planner_id

Actions

Request Description
GET /livestamps Resource listing.
GET /livestamps/<id> Resource read.
POST /livestamps Resource create.
POST /livestamps/<id>/add-files Add new files to an assignment wage proposal.
DELETE /livestamps/<id>/delete-files Delete files from an assignment wage proposal.
PUT /livestamps/<id>/accept Accept an assignment wage proposal.
PUT /livestamps/<id>/reject Reject an assignment wage proposal.

Locations

Schema

Locations schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "name": {
            "label": "Name",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "code": {
            "label": "Code",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "line_1": {
            "label": "Addres line 1",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "line_2": {
            "label": "Addres line 2",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "zip": {
            "label": "Zip",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "city": {
            "label": "City",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "country": {
            "label": "Country",
            "editable": false,
            "type": "string",
            "format": "string"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
name Read Only string (string)
code Read Only string (string)
line_1 Read Only string (string)
line_2 Read Only string (string)
zip Read Only string (string)
city Read Only string (string)
country Read Only string (string)

Relations

Actions

Request Description
GET /locations Resource listing.
GET /locations/<id> Resource read.

Messages

Schema

Messages schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "conversation_identifier": {
            "label": "Conversation identifier",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "subject": {
            "label": "Subject",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "text": {
            "label": "Text",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "attachments": {
            "label": "Attachments",
            "editable": false,
            "type": "array"
        },
        "is_read": {
            "label": "Message was read",
            "editable": false,
            "type": "integer",
            "format": "bool"
        },
        "created_at": {
            "label": "Created at",
            "editable": false,
            "type": "string",
            "format": "date-time"
        },
        "type": {
            "label": "Message type",
            "editable": false,
            "type": "string",
            "enum": [
                "notification",
                "message"
            ]
        },
        "hasAttachments": {
            "label": "Message has attachments",
            "editable": false,
            "type": "int",
            "format": "bool"
        },
        "payload": {
            "label": "Payload",
            "editable": false,
            "type": "object"
        },
        "from": {
            "label": "From",
            "editable": false,
            "type": "object"
        },
        "to": {
            "label": "To",
            "editable": false,
            "type": "object"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
conversation_identifier Read Only string (string)
subject Read Only string (string)
text Read Only string (string)
attachments Read Only array
is_read Read Only integer (bool)
created_at Read Only string (date-time)
type Read Only string
hasAttachments Read Only int (bool)
payload Read Only object
from Read Only object
to Read Only object

Relations

Actions

Request Description
GET /messages Resource listing.
GET /messages/<id> Resource read.
DELETE /messages/<id> Resource delete.
GET /messages/<id>/conversations Fetch messages for a conversation.
PUT /messages/<id>/conversations Update a conversation.
DELETE /messages/<id>/conversations Delete a conversation thread
POST /messages/<id>/send Send or reply to a message.
GET /messages/<id>/mark-all-as-read Mark all the messages of the given type as read.

Paysheets

Schema

Paysheets schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "assignment_id": {
            "label": "Assignment ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "is_approved": {
            "label": "Paysheet Approved",
            "editable": false,
            "type": "integer",
            "format": "boolean"
        },
        "wages": {
            "label": "Paysheet wages",
            "editable": false,
            "type": "object"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
assignment_id Read Only foreignKey (int)
is_approved Read Only integer (boolean)
wages Read Only object

Relations

Name Resource Foreign Key Description
paysheetAssignment assignments paysheets.assignment_id

Actions

Request Description
GET /paysheets Resource listing.

Planners

Resource uses dynamic fields, all user defined fields are not included in this documentation.

Schema

Planners schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "username": {
            "label": "Username",
            "editable": true,
            "type": "string",
            "format": "string"
        },
        "first_name": {
            "label": "Planner first name",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "last_name": {
            "label": "Planner last name",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "password_expires_at": {
            "label": "Password expires at",
            "editable": false,
            "description": "The date when the planner password will expire.",
            "type": "string",
            "format": "date-time"
        },
        "firstname": {
            "label": "First name",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 21,
            "input_type": "text"
        },
        "lastname": {
            "label": "Last name",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 22,
            "input_type": "text"
        },
        "email": {
            "label": "Email address",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 23,
            "input_type": "email"
        },
        "mobile": {
            "label": "Mobile number",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 24,
            "input_type": "phone"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
username string (string)
first_name Read Only string (string)
last_name Read Only string (string)
password_expires_at Read Only string (date-time) The date when the planner password will expire.
firstname Dynamic Field
lastname Dynamic Field
email Dynamic Field
mobile Dynamic Field

Relations

Actions

Request Description
GET /planners Resource listing.
GET /planners/<id> Resource read.

Projects

Resource uses dynamic fields, all user defined fields are not included in this documentation.

Schema

Projects schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "relation_id": {
            "label": "Relation ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "client_id": {
            "label": "Client ID",
            "editable": true,
            "type": "foreignKey",
            "format": "int"
        },
        "planner_id": {
            "label": "Planner ID",
            "editable": true,
            "type": "foreignKey",
            "format": "int"
        },
        "contact_id": {
            "label": "Contact ID",
            "editable": true,
            "type": "foreignKey",
            "format": "int"
        },
        "name": {
            "label": "Project name",
            "editable": true,
            "type": "string",
            "format": "string"
        },
        "created_at": {
            "label": "Created date",
            "editable": false,
            "type": "string",
            "format": "date-time"
        },
        "updated_at": {
            "label": "Updated date",
            "editable": false,
            "type": "string",
            "format": "date-time"
        },
        "dynamic_field_56": {
            "label": "Data upload",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 56,
            "input_type": "file"
        },
        "dynamic_field_57": {
            "label": "Project details",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 57,
            "input_type": "text_area"
        },
        "dynamic_field_58": {
            "label": "Data upload",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 58,
            "input_type": "file"
        },
        "dynamic_field_109": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 109,
            "input_type": "multi_select"
        },
        "dynamic_field_110": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 110,
            "input_type": "select"
        },
        "dynamic_field_117": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 117,
            "input_type": "multi_select"
        },
        "dynamic_field_121": {
            "label": "Description",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 121,
            "input_type": "wysiwyg"
        },
        "dynamic_field_129": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 129,
            "input_type": "text"
        },
        "dynamic_field_133": {
            "label": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 133,
            "input_type": "url"
        },
        "dynamic_field_144": {
            "label": "Dress code",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 144,
            "input_type": "multi_select"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
relation_id Read Only foreignKey (int)
client_id foreignKey (int)
planner_id foreignKey (int)
contact_id foreignKey (int)
name string (string)
created_at Read Only string (date-time)
updated_at Read Only string (date-time)

Relations

Name Resource Foreign Key Description
projectClient clients projects.client_id
projectContact contacts projects.contact_id
projectEvents events events.project_id
projectPlanner planners projects.planner_id

Actions

Request Description
GET /projects Resource listing.
GET /projects/<id> Resource read.
POST /projects Resource create.
PUT /projects/<id> Resource update.
GET /projects/<id>/forms Get project rendered through a given form.
GET /projects/<id>/reporting-forms Get reporting forms attached to a particular project.
GET /projects/<id>/reporting-forms Get reporting forms for indicated projects

Settings

Schema

Settings schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "identifier": {
            "label": "Identifier",
            "type": "string",
            "editable": false,
            "format": "string"
        },
        "type_id": {
            "label": "Setting type ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "value_type_id": {
            "label": "Setting value type ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "section_id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "collection_id": {
            "label": "ID",
            "editable": false,
            "type": "integer",
            "format": "int"
        },
        "collection": {
            "label": "ID",
            "editable": false,
            "type": "object"
        },
        "name": {
            "label": "Name",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "description": {
            "label": "Description",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "validators": {
            "label": "Setting validators",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "value": {
            "label": "Setting value",
            "editable": false,
            "type": "object"
        },
        "setting_type": {
            "label": "Setting type",
            "editable": false,
            "type": "object"
        },
        "setting_section": {
            "label": "Setting section",
            "editable": false,
            "type": "object"
        },
        "data_type": {
            "label": "Data type",
            "editable": false,
            "type": "object"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
identifier Read Only string (string)
type_id Read Only foreignKey (int)
value_type_id Read Only foreignKey (int)
section_id Read Only identityField (int)
collection_id Read Only integer (int)
collection Read Only object
name Read Only string (string)
description Read Only string (string)
validators Read Only string (string)
value Read Only object
setting_type Read Only object
setting_section Read Only object
data_type Read Only object

Relations

Name Resource Foreign Key Description
relations

Actions

Request Description
GET /settings Resource listing.
GET /settings/<id> Resource read.
PUT /settings/<id> Resource update.

Special dates

Schema

Special-dates schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "name": {
            "label": "Name",
            "editable": true,
            "type": "string",
            "format": "string"
        },
        "date": {
            "label": "Date",
            "editable": true,
            "type": "string",
            "format": "date-time"
        },
        "location_id": {
            "label": "Location Id",
            "editable": false,
            "type": "integer",
            "format": "int"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
name string (string)
date string (date-time)
location_id Read Only integer (int)

Relations

Actions

Request Description
GET /special-dates Resource listing.
GET /special-dates/<id> Resource read.
POST /special-dates Resource create.
PUT /special-dates/<id> Resource update.
DELETE /special-dates/<id> Resource delete.

Wage profiles

Schema

Wage-profiles schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "identifier": {
            "label": "Identifier",
            "type": "string",
            "editable": false,
            "format": "string"
        },
        "name": {
            "label": "Label",
            "type": "string",
            "editable": false,
            "format": "string"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
identifier Read Only string (string)
name Read Only string (string)

Relations

Name Resource Foreign Key Description
profileWageTypes wage-types wage-profiles.wage_profile_id

Actions

Request Description
GET /wage-profiles Resource listing.
GET /wage-profiles/<id> Resource read.

Wage proposals

Schema

Wage-proposals schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "assignment_id": {
            "label": "Assignment ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "planner_id": {
            "label": "Planner ID",
            "description": "The ID of the planner who accepted\/rejected the proposal",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "remarks": {
            "label": "Remarks",
            "editable": true,
            "description": "The assignment proposal remarks.",
            "type": "string",
            "format": "string"
        },
        "requested_updates": {
            "label": "Requested updates",
            "editable": false,
            "description": "The assignment proposal requested updates.",
            "type": "string",
            "format": "string"
        },
        "source": {
            "label": "Source",
            "editable": true,
            "description": "The assignment proposal creation source.",
            "type": "string",
            "enum": [
                "employee_mobile_app",
                "employee_web_app"
            ],
            "format": "string"
        },
        "created_at": {
            "label": "Created at",
            "editable": false,
            "description": "The date and time when the proposal was created.",
            "type": "string",
            "format": "date-time"
        },
        "updated_at": {
            "label": "Updated at",
            "editable": false,
            "description": "The date and time when the proposal was last updated.",
            "type": "string",
            "format": "date-time"
        },
        "accepted_at": {
            "label": "Accepted at",
            "editable": false,
            "description": "The date and time when the proposal was accepted.",
            "type": "string",
            "format": "date-time"
        },
        "rejected_at": {
            "label": "Rejected at",
            "editable": false,
            "description": "The date and time when the proposal was rejected.",
            "type": "string",
            "format": "date-time"
        },
        "proposed_wage_type_values": {
            "label": "Proposed wage type values (optional)",
            "editable": true,
            "description": "The proposed wage type values.",
            "type": "array",
            "format": "array"
        },
        "files_ids": {
            "label": "Proposal files IDs (optional)",
            "editable": true,
            "description": "The IDs of the files to be added to the proposal.",
            "type": "array",
            "format": "array"
        },
        "files": {
            "label": "Files",
            "editable": false,
            "description": "The assignment proposal uploaded files.",
            "type": "array",
            "format": "array"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
assignment_id Read Only foreignKey (int)
planner_id Read Only foreignKey (int) The ID of the planner who accepted/rejected the proposal
remarks string (string) The assignment proposal remarks.
requested_updates Read Only string (string) The assignment proposal requested updates.
source string (string) The assignment proposal creation source.
created_at Read Only string (date-time) The date and time when the proposal was created.
updated_at Read Only string (date-time) The date and time when the proposal was last updated.
accepted_at Read Only string (date-time) The date and time when the proposal was accepted.
rejected_at Read Only string (date-time) The date and time when the proposal was rejected.
proposed_wage_type_values array (array) The proposed wage type values.
files_ids array (array) The IDs of the files to be added to the proposal.
files Read Only array (array) The assignment proposal uploaded files.

Relations

Name Resource Foreign Key Description
wageProposalAssignment assignments wage-proposals.assignment_id
wageProposalPlanner planners wage-proposals.planner_id

Actions

Request Description
GET /wage-proposals Resource listing.
GET /wage-proposals/<id> Resource read.
POST /wage-proposals Resource create.
PUT /wage-proposals/<id> Resource update.
GET /wage-proposals/<id>/proposable-wage-types Get the proposable wage types.
POST /wage-proposals/<id>/add-files Add new files to an assignment wage proposal.
DELETE /wage-proposals/<id>/delete-files Delete files from an assignment wage proposal.
PUT /wage-proposals/<id>/accept Accept an assignment wage proposal.
PUT /wage-proposals/<id>/reject Reject an assignment wage proposal.
POST /wage-proposals/<id>/request-updates Request updates for an assignment wage proposal.

Wage types

Schema

Wage-types schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "type": {
            "label": "Identifier",
            "type": "string",
            "enum": [
                "rated",
                "fixed"
            ],
            "valueMapping": {
                "rated": "Rated",
                "fixed": "Fixed"
            },
            "editable": false
        },
        "name": {
            "label": "Label",
            "type": "string",
            "editable": false,
            "format": "string"
        },
        "external_id": {
            "label": "External ID",
            "type": "string",
            "editable": false,
            "format": "string"
        },
        "base_type": {
            "label": "Base Type",
            "type": "string",
            "enum": [
                "predefined",
                "adjustable"
            ],
            "valueMapping": {
                "predefined": "Predefined",
                "adjustable": "Adjustable"
            },
            "editable": false
        },
        "is_controllable": {
            "label": "Is Controllable",
            "type": "int",
            "format": "bool",
            "editable": false
        },
        "is_proposable": {
            "label": "Is Proposable",
            "type": "int",
            "format": "bool",
            "editable": false
        },
        "is_dynamic": {
            "label": "Is Dynamic",
            "type": "int",
            "format": "bool",
            "editable": false
        },
        "valid_from": {
            "label": "Valid From",
            "type": "string",
            "format": "time",
            "editable": false
        },
        "valid_to": {
            "label": "Valid To",
            "type": "string",
            "format": "time",
            "editable": false
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
type Read Only string
name Read Only string (string)
external_id Read Only string (string)
base_type Read Only string
is_controllable Read Only int (bool)
is_proposable Read Only int (bool)
is_dynamic Read Only int (bool)
valid_from Read Only string (time)
valid_to Read Only string (time)

Relations

Name Resource Foreign Key Description
wageTypeProfiles wage-profiles wage-profiles.wage_profile_id

Actions

Request Description
GET /wage-types Resource listing.
GET /wage-types/<id> Resource read.

Work quota profiles

Schema

Work-quota-profiles schema

{
    "properties": {
        "id": {
            "label": "ID",
            "type": "identityField",
            "format": "int",
            "editable": false
        },
        "employee_id": {
            "label": "Employee Id",
            "type": "foreignKey",
            "format": "int",
            "editable": false
        },
        "work_quota_profile_id": {
            "label": "Work Quota Profile ID",
            "type": "foreignKey",
            "format": "int",
            "editable": false
        },
        "name": {
            "label": "Name",
            "type": "string",
            "format": "string",
            "editable": false
        },
        "valid_from": {
            "label": "Valid From",
            "type": "string",
            "format": "datetime",
            "editable": false
        },
        "valid_to": {
            "label": "Valid To",
            "type": "string",
            "format": "datetime",
            "editable": false
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
employee_id Read Only foreignKey (int)
work_quota_profile_id Read Only foreignKey (int)
name Read Only string (string)
valid_from Read Only string (datetime)
valid_to Read Only string (datetime)

Relations

Name Resource Foreign Key Description
workQuotaProfilesEmployee employees work-quota-profiles.employee_id

Actions

Request Description
GET /work-quota-profiles Resource listing.
GET /work-quota-profiles/<id> Resource read.

Work time proposals

Schema

Work-time-proposals schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "assignment_id": {
            "label": "Assignment ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "planner_id": {
            "label": "Planner ID",
            "description": "The ID of the planner who accepted\/rejected the proposal",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "start": {
            "label": "Start time",
            "editable": true,
            "description": "The proposed assignment start time.",
            "type": "string",
            "format": "date-time"
        },
        "end": {
            "label": "End time",
            "editable": true,
            "description": "The proposed assignment end time.",
            "type": "string",
            "format": "date-time"
        },
        "break_start": {
            "label": "Break start time",
            "editable": true,
            "description": "The proposed assignment break start time.",
            "type": "string",
            "format": "date-time"
        },
        "break_end": {
            "label": "Break end time",
            "editable": true,
            "description": "The proposed assignment break end time.",
            "type": "string",
            "format": "date-time"
        },
        "remarks": {
            "label": "Remarks",
            "editable": true,
            "description": "The assignment proposal remarks.",
            "type": "string",
            "format": "string"
        },
        "requested_updates": {
            "label": "Requested updates",
            "editable": false,
            "description": "The assignment proposal requested updates.",
            "type": "string",
            "format": "string"
        },
        "source": {
            "label": "Source",
            "editable": true,
            "description": "The assignment proposal creation source.",
            "type": "string",
            "enum": [
                "employee_mobile_app",
                "employee_web_app"
            ],
            "format": "string"
        },
        "created_at": {
            "label": "Created at",
            "editable": false,
            "description": "The date and time when the proposal was created.",
            "type": "string",
            "format": "date-time"
        },
        "updated_at": {
            "label": "Updated at",
            "editable": false,
            "description": "The date and time when the proposal was last updated.",
            "type": "string",
            "format": "date-time"
        },
        "accepted_at": {
            "label": "Accepted at",
            "editable": false,
            "description": "The date and time when the proposal was accepted.",
            "type": "string",
            "format": "date-time"
        },
        "rejected_at": {
            "label": "Rejected at",
            "editable": false,
            "description": "The date and time when the proposal was rejected.",
            "type": "string",
            "format": "date-time"
        },
        "rejected": {
            "label": "Rejected",
            "editable": false,
            "description": "Contains the times which were rejected when the proposal was accepted.",
            "type": "array",
            "format": "array"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
assignment_id Read Only foreignKey (int)
planner_id Read Only foreignKey (int) The ID of the planner who accepted/rejected the proposal
start string (date-time) The proposed assignment start time.
end string (date-time) The proposed assignment end time.
break_start string (date-time) The proposed assignment break start time.
break_end string (date-time) The proposed assignment break end time.
remarks string (string) The assignment proposal remarks.
requested_updates Read Only string (string) The assignment proposal requested updates.
source string (string) The assignment proposal creation source.
created_at Read Only string (date-time) The date and time when the proposal was created.
updated_at Read Only string (date-time) The date and time when the proposal was last updated.
accepted_at Read Only string (date-time) The date and time when the proposal was accepted.
rejected_at Read Only string (date-time) The date and time when the proposal was rejected.
rejected Read Only array (array) Contains the times which were rejected when the proposal was accepted.

Relations

Name Resource Foreign Key Description
workTimeProposalAssignment assignments work-time-proposals.assignment_id
workTimeProposalPlanner planners work-time-proposals.planner_id

Actions

Request Description
GET /work-time-proposals Resource listing.
GET /work-time-proposals/<id> Resource read.
POST /work-time-proposals Resource create.
PUT /work-time-proposals/<id>/accept Accept an assignment work time proposal.
PUT /work-time-proposals/<id>/reject Reject an assignment work time proposal.
POST /work-time-proposals/<id>/request-updates Request updates for an assignment work time proposal.

Work times

Schema

Work-times schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "event_function_employee_id": {
            "label": "Assignment ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "start": {
            "label": "Work Start Time",
            "editable": false,
            "description": "The assignments work start time.",
            "type": "string",
            "format": "date-time"
        },
        "end": {
            "label": "Work End Time",
            "editable": false,
            "description": "The assignments work end time.",
            "type": "string",
            "format": "date-time"
        },
        "break_start": {
            "label": "Break Start Time",
            "editable": false,
            "description": "The assignments break start time.",
            "type": "string",
            "format": "date-time"
        },
        "break_end": {
            "label": "Break End Time",
            "editable": false,
            "description": "The assignments break end time.",
            "type": "string",
            "format": "date-time"
        },
        "remarks": {
            "label": "Work Times Remarks",
            "editable": false,
            "description": "Optional remarks for the work times.",
            "type": "string"
        }
    }
}

Fields

Name Properties Type Description
id Read Only identityField (int)
event_function_employee_id Read Only foreignKey (int)
start Read Only string (date-time) The assignments work start time.
end Read Only string (date-time) The assignments work end time.
break_start Read Only string (date-time) The assignments break start time.
break_end Read Only string (date-time) The assignments break end time.
remarks Read Only string Optional remarks for the work times.

Relations

Name Resource Foreign Key Description
workTimesAssignment assignments work-times.event_function_employee_id

Actions

Request Description
GET /work-times Resource listing.