NAV

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:

  • GET /employees - Retrieves a list of employees
  • GET /employees/12 - Retrieves a specific employee
  • POST /employees - Creates a new employee
  • PUT /employees/12 - Updates employee #12
  • DELETE /employees/12 - Deletes employee #12

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:

  • GET /forms/12/attributes - Retrieves list of attributes for form #12
  • GET /forms/12/attributes/5 - Retrieves attribute #5 for form #12
  • POST /forms/12/attributes - Creates a new attribute in form #12
  • PUT /forms/12/attributes/5 - Updates attribute #5 for form #12
  • DELETE /forms/12/attributes/5 - Deletes attribute #5 for form #12

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:

  • GET /employees?fields=id,firstname,lastname,age

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:

  • GET /employees?sort=+age - Retrieves a list of employees in ascending order of age.
  • GET /employees?sort=-age,name - Retrieves a list of employees in descending order of age. Within a specific age, employees are ordered ascending by name

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:

  • GET /employees/12.json - Retrieves employee #12 in JSON format.
  • GET /forms/12/attributes.xml?sort=name - Retrieves a list of attributes for form #12 sorted by name in XML format.

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 and X-File-Visibility headers are optional. The X-File-Visibility header is used to (optionally) set the visibility of the file. Possible values are 'private' and 'public'. Default is 'private'

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" \
    -H "X-File-Visibility: private" \
    -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:

  • X-Rate-Limit-Limit - The number of allowed requests in the current period.
  • X-Rate-Limit-Remaining - The number of remaining requests in the current period.
  • X-Rate-Limit-Reset - The number of seconds left in the current period.

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


NamePropertiesTypeDescription
assignment_idRead OnlyforeignKey (int)Assignment ID
wage_profile_idRead OnlyforeignKey (int)Profile Id
typeRead Onlystring (int)Payment Type
payable_amountRead OnlyfloatPayable Amount
base_valueRead OnlyfloatBase Value
factorRead Onlyfloat (int)Factor
is_disabledRead Onlyinteger (bool)Disabled
is_validRead Onlyinteger (bool)Valid
wage_typeRead OnlyobjectWage Type
wage_type_valueRead OnlyobjectWage Type Value
wage_type.nameRead Onlystring (string)Wage Type Name
wage_type.external_idRead OnlystringWage Type External ID
wage_type_value.unitRead Onlystring (string)Wage Type Unit

Relations

NameResourceForeign KeyDescription
wageAssignmentassignmentsassignment-wages.assignment_id
wageProfilewage-profilesassignment-wages.wage_profile_id

Actions


RequestDescription
GET /assignment-wagesResource listing
GET /assignment-wages/<id>Resource read
POST /assignment-wagesResource create
PUT /assignment-wages/<id>Resource update
DELETE /assignment-wages/<id>Resource delete

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.id": {
            "label": "Event Function ID",
            "editable": false,
            "description": "ID of the event function",
            "type": "int"
        },
        "event_function.function_id": {
            "label": "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_function.function": {
            "label": "Event Function Name",
            "editable": false,
            "description": "Name of the event function",
            "type": "string"
        },
        "event_function.function.project_leader": {
            "label": "Event Function Project Leader",
            "editable": false,
            "description": "Flag that decides whether the assignments event function has project leader role or not.",
            "type": "int",
            "format": "bool"
        },
        "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"
        },
        "assigned_by_availability": {
            "label": "Assigned by availability",
            "editable": false,
            "description": "Whether the employee was assigned by its availability or not",
            "type": "int",
            "format": "bool"
        },
        "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"
        },
        "statistics": {
            "label": "Statistics",
            "editable": true,
            "description": "Contains some filled positions statistics regarding the assigment",
            "type": "string"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
employee_idRead OnlyforeignKey (int)Employee Id
event_function_idRead OnlyforeignKey (int)Event Function Id
event_idRead OnlyforeignKey (int)Event Id
project_idRead OnlyforeignKey (int)Project Id
client_idRead OnlyforeignKey (int)Client Id
contact_idRead OnlyforeignKey (int)Contact Id
planner_idRead OnlyforeignKey (int)Planner Id
location_idRead OnlyforeignKey (int)Location Id
wage_profile_idRead OnlyforeignKey (int)Assignment Wage Profile Id
event_function.idRead OnlyintEvent Function ID
ID of the event function
event_function.function_idRead OnlyintFunction ID
ID of the event function
event_function.descriptionRead OnlystringEvent Function Description
Short description of the event function referenced by the assignment.
event_function.location.nameRead OnlystringEvent Function Location
The assignments event function location name.
event_function.startRead Onlystring (date-time)Event Function Start Time
The assignments event function start time.
event_function.endRead Onlystring (date-time)Event Function End Time
The assignments event function end time.
event_function.is_lockedRead Onlyint (bool)Event Function is locked
The assignments event function is locked.
event_function.wage_profile_idRead OnlyforeignKey (int)Event Function Wage Profile Id
event_function.functionRead OnlystringEvent Function Name
Name of the event function
event_function.function.project_leaderRead Onlyint (bool)Event Function Project Leader
Flag that decides whether the assignments event function has project leader role or not.
event.nameRead OnlystringEvent Name
The name of the event that the assignment belongs to.
event.startRead Onlystring (date-time)Event Start
The start time of the event that the assignment belongs to.
event.endRead Onlystring (date-time)Event End
The end time of the event that the assignment belongs to.
event.location.nameRead OnlystringEvent Location Name
The assignments event location name
event.contact.first_nameRead OnlystringClient contact first name
First name of the assignment client contact.
event.contact.last_nameRead OnlystringClient contact last name
Last name of the assignment client contact.
event.planner.first_nameRead OnlystringPlanner first name
First name of the assignment planner.
event.planner.last_nameRead OnlystringPlanner last name
Last name of the assignment planner.
event.project.nameRead OnlystringProject Name
Name of the assignment project.
statusinteger (int)Status
The status of the assignment.
remarksstringRemarks
Remarks on the assignment.
startRead Onlystring (date-time)Start time
The start time of the assignment.
endRead Onlystring (date-time)End time
The end time of the assignment
break_startRead Onlystring (date-time)Break start time
The start time of the assignment break.
break_endRead Onlystring (date-time)Break end time
The end time of the assignment break
is_approvedRead Onlyint (bool)Approved
Is assignment data approved by planner
pay_amountRead Onlyfloat (currency)Approved pay amount
Wage amount that has been approved for payment
approved_onRead Onlystring (date-time)Payment approval time
Date and time when the payment was approved
approved_by_planner_idRead OnlyforeignKey (int)Id of the planner that approved the payment
paid_onRead Onlystring (date-time)Payment time
Date and time when the payment was made
assigned_by_availabilityRead Onlyint (bool)Assigned by availability
Whether the employee was assigned by its availability or not
created_atRead Onlystring (date-time)Created date
The date the assignment was created.
updated_atRead Onlystring (date-time)Updated date
The date the assignment was updated.
open_actionsRead OnlyobjectOpen Actions
Contains information about all open actions that can be performed on an assignment
configurationsRead OnlyobjectConfigurations
Contains information about assignment specific configuration
locationRead OnlystringAssignment Location
Assignment location address.
statisticsstringStatistics
Contains some filled positions statistics regarding the assigment

Relations

NameResourceForeign KeyDescription
assignmentEmployeeemployeesassignments.employee_idEmployee referenced by the assignment.
assignmentEventeventsassignments.event_idEvent referenced by the assignment.
assignmentProjectprojectsassignments.project_idProject referenced by the assignment.
assignmentFunctionevent-functionsassignments.event_function_idFunction referenced by the assignment.
assignmentWageProfilewage-profilesassignments.wage_profile_idWage profile referenced by the assignment.
assignmentLocationlocationsassignments.location_idLocation of the assignment.
paysheetspaysheetspaysheets.assignment_id
work-timeswork-timeswork-times.event_function_employee_id
wagesassignment-wagesassignment-wages.assignment_id
work-time-proposalswork-time-proposalswork-time-proposals.assignment_id
wage-proposalswage-proposalswage-proposals.assignment_id
livestampslivestampslivestamps.assignment_id
checkinscheckinscheckins.assignment_id

Actions


RequestDescription
GET /assignmentsResource listing
GET /assignments/<id>Resource read
POST /assignmentsResource create
PUT /assignments/<id>Resource update
DELETE /assignments/<id>Resource delete
GET /assignments/<id>/status-mapAvailable assignment status values.
PUT /assignments/<id>/statusChange assignment specific state
PUT /assignments/<id>/statusBulk change assignments states
GET /assignments/<id>/teamsheetGet the team sheet for a specific assignment
GET /assignments/<id>/open-actionsGet open actions for a specific assignment.
GET /assignments/<id>/configurationsGet configurations for a specific assignment
GET /assignments/<id>/configurationsGet configurations for a set of given assignment
PUT /assignments/<id>/paySet payment time for a specific assignment
GET /assignments/<id>/reporting-formsGet reporting forms attached to a particular assignment via related event / project.
GET /assignments/<id>/reporting-formsGet reporting forms attached to multiple assignments via related events / projects.

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


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
collection_idRead OnlyforeignKey (int)Project ID
entity_idRead OnlyforeignKey (int)Entity ID
type_idRead OnlyforeignKey (int)Attribute type ID
identifierRead Onlystring (string)Identifier
nameRead Onlystring (string)Label
language_idRead OnlyforeignKey (int)Language ID
is_locked_employeesRead Onlyinteger (bool)Is locked for employees
deletableRead Onlyint (bool)Is deletable

Relations

NameResourceForeign KeyDescription
attributeCollectioncollectionsattributes.collection_id
languageslanguagesattributes.language_id

Actions


RequestDescription
GET /attributesResource listing
GET /attributes/<id>Resource read
POST /attributesResource create
PUT /attributes/<id>Resource update
DELETE /attributes/<id>Resource delete

Automations

Schema

Automations schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "trigger_type": {
            "label": "Trigger Type",
            "editable": true,
            "type": "string",
            "format": "string"
        },
        "trigger_configuration": {
            "label": "Trigger Configuration",
            "editable": true,
            "type": "string",
            "format": "json"
        },
        "routine_type": {
            "label": "Routine Type",
            "editable": true,
            "type": "string",
            "format": "string"
        },
        "routine_configuration": {
            "label": "Routine Configuration",
            "editable": true,
            "type": "string",
            "format": "json"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
trigger_typestring (string)Trigger Type
trigger_configurationstring (json)Trigger Configuration
routine_typestring (string)Routine Type
routine_configurationstring (json)Routine Configuration

Actions


RequestDescription
GET /automationsResource listing
GET /automations/<id>Resource read
POST /automationsResource create
PUT /automations/<id>Resource update
DELETE /automations/<id>Resource delete

Availability requests

Schema

Availability-requests schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "employee_id": {
            "label": "Employee ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "name": {
            "label": "Name",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "from": {
            "label": "From date",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "to": {
            "label": "To date",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "blocked_at": {
            "label": "Request blocked at date",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "completed_at": {
            "label": "Request completed at date",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "completed_by_enforcement": {
            "label": "Request completed by enforcement",
            "editable": false,
            "type": "integer",
            "format": "bool"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
employee_idRead OnlyforeignKey (int)Employee ID
nameRead Onlystring (string)Name
fromRead Onlystring (string)From date
toRead Onlystring (string)To date
blocked_atRead Onlystring (string)Request blocked at date
completed_atRead Onlystring (string)Request completed at date
completed_by_enforcementRead Onlyinteger (bool)Request completed by enforcement

Relations

NameResourceForeign KeyDescription
employeeemployeesavailability-requests.employee_id
definitionavailability-requests-definitionsavailability-requests.id
availabilitiesavailability-requests-availabilitiesavailability-requests.id

Actions


RequestDescription
GET /availability-requestsResource listing
GET /availability-requests/<id>Resource read
POST /availability-requestsResource create
PUT /availability-requests/<id>Resource update
DELETE /availability-requests/<id>Resource delete

Availability requests availabilities

Schema

Availability-requests-availabilities schema

{
    "properties": {
        "availability_request_id": {
            "label": "Availability request ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "employee_id": {
            "label": "Employee ID",
            "editable": false,
            "type": "int",
            "format": "int"
        },
        "availabilities": {
            "label": "Availabilities",
            "editable": false,
            "type": "array",
            "format": "array"
        }
    }
}

Fields


NamePropertiesTypeDescription
availability_request_idRead OnlyidentityField (int)Availability request ID
employee_idRead Onlyint (int)Employee ID
availabilitiesRead Onlyarray (array)Availabilities

Relations

NameResourceForeign KeyDescription
availability-requestavailability-requestsavailability-requests-availabilities.availability_request_id
employeeemployeesavailability-requests-availabilities.employee_id

Actions


RequestDescription
GET /availability-requests-availabilitiesResource listing
GET /availability-requests-availabilities/<id>Resource read
POST /availability-requests-availabilitiesResource create
PUT /availability-requests-availabilities/<id>Resource update
DELETE /availability-requests-availabilities/<id>Resource delete

Availability requests definitions

Schema

Availability-requests-definitions schema

{
    "properties": {
        "availability_request_id": {
            "label": "Availability request ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "rules": {
            "label": "Rules",
            "editable": false,
            "type": "array",
            "format": "array"
        },
        "time_slots": {
            "label": "Time slots",
            "editable": false,
            "type": "array",
            "format": "array"
        },
        "requested_availabilities": {
            "label": "Requested availabilities",
            "editable": false,
            "type": "array",
            "format": "array"
        }
    }
}

Fields


NamePropertiesTypeDescription
availability_request_idRead OnlyidentityField (int)Availability request ID
rulesRead Onlyarray (array)Rules
time_slotsRead Onlyarray (array)Time slots
requested_availabilitiesRead Onlyarray (array)Requested availabilities

Relations

NameResourceForeign KeyDescription
availability-requestavailability-requestsavailability-requests-definitions.availability_request_id

Actions


RequestDescription
GET /availability-requests-definitionsResource listing
GET /availability-requests-definitions/<id>Resource read
POST /availability-requests-definitionsResource create
PUT /availability-requests-definitions/<id>Resource update
DELETE /availability-requests-definitions/<id>Resource delete

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"
        },
        "busy_entry": {
            "label": "Busy date configuration",
            "type": "object"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
employee_idforeignKey (int)Employee Id
reasonstring (string)Reason
startRead Onlystring (date-time)Start date
endRead Onlystring (date-time)End date
busy_entryRead OnlyobjectBusy date configuration

Relations

NameResourceForeign KeyDescription
busyDatesEmployeeemployeesbusy-dates.employee_id

Actions


RequestDescription
GET /busy-datesResource listing
GET /busy-dates/<id>Resource read
POST /busy-datesResource create
PUT /busy-dates/<id>Resource update
DELETE /busy-dates/<id>Resource delete

Busy dates presets

Schema

Busy-dates-presets schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "name": {
            "label": "Preset Name",
            "type": "string",
            "editable": false,
            "format": "string"
        },
        "is_default": {
            "label": "Is Default",
            "type": "int",
            "format": "bool",
            "editable": false
        },
        "intervals": {
            "label": "Time intervals",
            "editable": false
        },
        "created_at": {
            "label": "Created",
            "editable": false,
            "type": "string",
            "format": "date-time"
        },
        "updated_at": {
            "label": "Updated",
            "editable": false,
            "type": "string",
            "format": "date-time"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
nameRead Onlystring (string)Preset Name
is_defaultRead Onlyint (bool)Is Default
intervalsRead OnlyTime intervals
created_atRead Onlystring (date-time)Created
updated_atRead Onlystring (date-time)Updated

Actions


RequestDescription
GET /busy-dates-presetsResource listing
GET /busy-dates-presets/<id>Resource read
POST /busy-dates-presetsResource create
PUT /busy-dates-presets/<id>Resource update
DELETE /busy-dates-presets/<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


NamePropertiesTypeDescription
idRead OnlyidentityFieldID
assignment_idRead OnlyforeignKeyAssignment ID
timestampRead Onlystring (date-time)Timestamp
hashRead OnlystringHash
Optional check-in hash.
sourceRead OnlyintSource
typeRead OnlyintType
created_atRead OnlyCreated

Relations

NameResourceForeign KeyDescription
checkInAssignmentassignmentscheckins.assignment_id

Actions


RequestDescription
GET /checkinsResource listing
GET /checkins/<id>Resource read
POST /checkinsResource create
PUT /checkins/<id>Resource update
DELETE /checkins/<id>Resource delete

Clients

This resource uses dynamic fields.

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": true,
            "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",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 11,
            "input_type": "text"
        },
        "address_first": {
            "label": "Address line 1",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 12,
            "input_type": "text"
        },
        "address_second": {
            "label": "Address line 2",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 13,
            "input_type": "text"
        },
        "zip": {
            "label": "ZIP",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 14,
            "input_type": "text"
        },
        "city": {
            "label": "City",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 15,
            "input_type": "text"
        },
        "country": {
            "label": "Country",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 16,
            "input_type": "select"
        },
        "dynamic_field_86": {
            "label": "Checkbox",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 86,
            "input_type": "boolean"
        },
        "dynamic_field_212": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 212,
            "input_type": "select"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
relation_idRead OnlyforeignKey (int)Relation ID
statusinteger (int)Status
created_atRead Onlystring (date-time)Created
updated_atRead Onlystring (date-time)Updated
companyDynamic FieldCompany name
address_firstDynamic FieldAddress line 1
address_secondDynamic FieldAddress line 2
zipDynamic FieldZIP
cityDynamic FieldCity
countryDynamic FieldCountry
dynamic_field_86Dynamic FieldCheckbox
dynamic_field_212Dynamic Field[missing translation]

Relations

NameResourceForeign KeyDescription
clientEventseventsevents.client_id
clientProjectsprojectsprojects.client_id
clientContactscontactscontacts.client_id

Actions


RequestDescription
GET /clientsResource listing
GET /clients/<id>Resource read
POST /clientsResource create
PUT /clients/<id>Resource update
DELETE /clients/<id>Resource delete
Note: this action is deprecated. In order to mark a client as deleted you can use PUT /clients/<id> action by sending { status: 2 } as one of the parameters

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": true,
            "type": "integer",
            "format": "bool"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
identifierRead Onlystring (string)Identifier
namestring (string)Name
editableRead Onlyinteger (bool)Editable
visibleRead Onlyinteger (bool)Visible
deletedinteger (bool)Deleted

Actions


RequestDescription
GET /collectionsResource listing
Note: This returns all collections, including those marked as deleted. Use GET /collections?deleted=0 to filter out collections marked as deleted.
GET /collections/<id>Resource read
POST /collectionsResource create
PUT /collections/<id>Resource update
DELETE /collections/<id>Resource delete
Note: this action is deprecated. In order to mark a collection as deleted you can use PUT /collections/<id> action by sending { deleted: true } as one of the parameters
GET /collections/<id>/valuesList all values of a specific collection
GET /collections/<id>/objectsList all objects of a specific collection
POST /collections/<id>/valueAdd new value to a collection
GET /collections/<id>/valueGet specific value from a collection
PUT /collections/<id>/valueUpdate specific value from a collection
DELETE /collections/<id>/valueDelete specific value from a collection
Note: this action is deprecated. In order to mark a collection item as deleted you can use PUT /collections/<id>/value action by sending { deleted: true } as one of the parameters

Contacts

This resource uses dynamic fields.

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": true,
            "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",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 17,
            "input_type": "text"
        },
        "lastname": {
            "label": "Last name",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 18,
            "input_type": "text"
        },
        "email": {
            "label": "Email address",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 19,
            "input_type": "email"
        },
        "mobile": {
            "label": "Mobile number",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 20,
            "input_type": "phone"
        },
        "gender": {
            "label": "Gender",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 53,
            "input_type": "select"
        },
        "dynamic_field_167": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 167,
            "input_type": "text"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
relation_idRead OnlyforeignKey (int)Relation ID
client_idforeignKey (int)Client ID
statusinteger (int)Status
created_atRead Onlystring (date-time)Created
updated_atRead Onlystring (date-time)Updated
firstnameDynamic FieldFirst name
lastnameDynamic FieldLast name
emailDynamic FieldEmail address
mobileDynamic FieldMobile number
genderDynamic FieldGender
dynamic_field_167Dynamic Field[missing translation]

Relations

NameResourceForeign KeyDescription
contactClientclientscontacts.client_id
contactEventseventsevents.contact_id
contactProjectsprojectsprojects.contact_id

Actions


RequestDescription
GET /contactsResource listing
GET /contacts/<id>Resource read
POST /contactsResource create
PUT /contacts/<id>Resource update
DELETE /contacts/<id>Resource delete
Note: this action is deprecated. In order to mark a contact as deleted you can use PUT /contacts/<id> action by sending { status: 2 } as one of the parameters

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


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
employee_idRead OnlyforeignKey (int)Employee Id
file_idRead OnlyforeignKey (int)File Id
orderinteger (int)Order index
is_profile_pictureinteger (bool)Is Profile Picture

Relations

NameResourceForeign KeyDescription
employeeemployeesemployee-pictures.employee_id
filefilesemployee-pictures.file_id

Actions


RequestDescription
GET /employee-picturesResource listing
GET /employee-pictures/<id>Resource read
POST /employee-picturesResource create
PUT /employee-pictures/<id>Resource update
DELETE /employee-pictures/<id>Resource delete

Employees

This resource uses dynamic fields.

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",
                "Deleted"
            ],
            "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",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 1,
            "input_type": "text"
        },
        "lastname": {
            "label": "Last name",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 2,
            "input_type": "text"
        },
        "email": {
            "label": "Email address",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 3,
            "input_type": "email"
        },
        "mobile": {
            "label": "Mobile number",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 4,
            "input_type": "phone"
        },
        "address_first": {
            "label": "Street ",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 5,
            "input_type": "text"
        },
        "address_second": {
            "label": "Address line 2",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 6,
            "input_type": "text"
        },
        "zip": {
            "label": "ZIP",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 7,
            "input_type": "text"
        },
        "city": {
            "label": "City",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 8,
            "input_type": "text"
        },
        "country": {
            "label": "Country",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 9,
            "input_type": "select"
        },
        "qualifications": {
            "label": "Qualifications",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 10,
            "input_type": "multi_select"
        },
        "dynamic_field_26": {
            "label": "Applies for",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 26,
            "input_type": "select"
        },
        "dynamic_field_27": {
            "label": "Wie bist du auf uns aufmerksam geworden?",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 27,
            "input_type": "multi_select"
        },
        "dynamic_field_28": {
            "label": "Height",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 28,
            "input_type": "number",
            "format": "formatted-number"
        },
        "dynamic_field_30": {
            "label": "E-Mail Sprache",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 30,
            "input_type": "select"
        },
        "dynamic_field_31": {
            "label": "Dirver",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 31,
            "input_type": "select"
        },
        "dynamic_field_32": {
            "label": "Car",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 32,
            "input_type": "select"
        },
        "dynamic_field_33": {
            "label": "Gesundheitszeugnis",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 33,
            "input_type": "select"
        },
        "dynamic_field_34": {
            "label": "SV-Nummer",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 34,
            "input_type": "text"
        },
        "dynamic_field_38": {
            "label": "IBAN-Nummer",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 38,
            "input_type": "text"
        },
        "dynamic_field_39": {
            "label": "Bank",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 39,
            "input_type": "text"
        },
        "dynamic_field_41": {
            "label": "Religious denomination",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 41,
            "input_type": "select"
        },
        "dynamic_field_43": {
            "label": "Driver's licence",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 43,
            "input_type": "multi_select"
        },
        "birthday": {
            "label": "Birthday",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 47,
            "input_type": "date",
            "format": "formatted-date"
        },
        "dynamic_field_48": {
            "label": "Employment contract",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 48,
            "input_type": "file"
        },
        "dynamic_field_49": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 49,
            "input_type": "file"
        },
        "gender": {
            "label": "Gender",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 51,
            "input_type": "select"
        },
        "dynamic_field_54": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 54,
            "input_type": "file"
        },
        "dynamic_field_62": {
            "label": "Document 3",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 62,
            "input_type": "file"
        },
        "dynamic_field_63": {
            "label": "Foto 1",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 63,
            "input_type": "file"
        },
        "dynamic_field_66": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 66,
            "input_type": "level_select"
        },
        "dynamic_field_69": {
            "label": "Ich akzeptiere die AGB",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 69,
            "input_type": "boolean"
        },
        "dynamic_field_72": {
            "label": "Anstellungsform",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 72,
            "input_type": "select"
        },
        "dynamic_field_73": {
            "label": "Expiry date Student card",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 73,
            "input_type": "date",
            "format": "formatted-date"
        },
        "dynamic_field_74": {
            "label": "DIAS number",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 74,
            "input_type": "number",
            "format": "formatted-number"
        },
        "dynamic_field_75": {
            "label": "Sprachen (mit Sprachlevel)",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 75,
            "input_type": "level_select"
        },
        "dynamic_field_76": {
            "label": "Date",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 76,
            "input_type": "date",
            "format": "formatted-date"
        },
        "dynamic_field_77": {
            "label": "Account Balance",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 77,
            "input_type": "money",
            "format": "formatted-currency"
        },
        "dynamic_field_80": {
            "label": "Validatione Grande",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 80,
            "input_type": "text"
        },
        "dynamic_field_81": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 81,
            "input_type": "file"
        },
        "dynamic_field_83": {
            "label": "Afbeelding badge",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 83,
            "input_type": "file"
        },
        "dynamic_field_84": {
            "label": "Datum Badge",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 84,
            "input_type": "date",
            "format": "formatted-date"
        },
        "dynamic_field_87": {
            "label": "EMP ID",
            "description": "",
            "editable": false,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 87,
            "input_type": "index",
            "format": "int"
        },
        "dynamic_field_90": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 90,
            "input_type": "wysiwyg"
        },
        "dynamic_field_91": {
            "label": "Citizenship",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 91,
            "input_type": "select"
        },
        "dynamic_field_92": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 92,
            "input_type": "boolean"
        },
        "dynamic_field_93": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 93,
            "input_type": "boolean"
        },
        "dynamic_field_94": {
            "label": "T-Shirt size",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 94,
            "input_type": "select"
        },
        "dynamic_field_95": {
            "label": "Train tickets",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 95,
            "input_type": "select"
        },
        "dynamic_field_97": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 97,
            "input_type": "number",
            "format": "formatted-number"
        },
        "dynamic_field_98": {
            "label": "Profession",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 98,
            "input_type": "text"
        },
        "dynamic_field_99": {
            "label": "Land line",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 99,
            "input_type": "number",
            "format": "formatted-number"
        },
        "dynamic_field_100": {
            "label": "Martial status",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 100,
            "input_type": "select"
        },
        "dynamic_field_101": {
            "label": "Operation team",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 101,
            "input_type": "multi_select"
        },
        "dynamic_field_102": {
            "label": "Visible tatoos?",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 102,
            "input_type": "select"
        },
        "dynamic_field_103": {
            "label": "Pants size",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 103,
            "input_type": "select"
        },
        "dynamic_field_104": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 104,
            "input_type": "file"
        },
        "dynamic_field_107": {
            "label": "Assignments",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 107,
            "input_type": "select"
        },
        "dynamic_field_108": {
            "label": "Other languages",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 108,
            "input_type": "text_area"
        },
        "dynamic_field_111": {
            "label": "Collectionfield",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 111,
            "input_type": "select"
        },
        "dynamic_field_114": {
            "label": "Remarks",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 114,
            "input_type": "text_area"
        },
        "dynamic_field_115": {
            "label": "F\u00fchrerscheinkopie",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 115,
            "input_type": "file"
        },
        "dynamic_field_118": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 118,
            "input_type": "text"
        },
        "dynamic_field_119": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 119,
            "input_type": "select"
        },
        "dynamic_field_120": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 120,
            "input_type": "multi_select"
        },
        "dynamic_field_130": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 130,
            "input_type": "multi_select"
        },
        "dynamic_field_131": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 131,
            "input_type": "select"
        },
        "dynamic_field_132": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 132,
            "input_type": "url"
        },
        "dynamic_field_134": {
            "label": "This is a checkbox",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 134,
            "input_type": "boolean"
        },
        "dynamic_field_135": {
            "label": "Date",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 135,
            "input_type": "date",
            "format": "formatted-date"
        },
        "dynamic_field_136": {
            "label": "Lieblingsfarbe",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 136,
            "input_type": "color"
        },
        "dynamic_field_137": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 137,
            "input_type": "datetime",
            "format": "formatted-datetime"
        },
        "dynamic_field_138": {
            "label": "decimal",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 138,
            "input_type": "decimal"
        },
        "dynamic_field_139": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 139,
            "input_type": "url"
        },
        "dynamic_field_140": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 140,
            "input_type": "time",
            "format": "formatted-time"
        },
        "dynamic_field_141": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 141,
            "input_type": "text"
        },
        "dynamic_field_145": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 145,
            "input_type": "select"
        },
        "dynamic_field_146": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 146,
            "input_type": "text"
        },
        "communication_language": {
            "label": "Communication language",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 148,
            "input_type": "select"
        },
        "dynamic_field_155": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 155,
            "input_type": "multi_select"
        },
        "dynamic_field_156": {
            "label": "Nachtschicht",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 156,
            "input_type": "select"
        },
        "dynamic_field_158": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 158,
            "input_type": "select"
        },
        "dynamic_field_159": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 159,
            "input_type": "multi_select"
        },
        "dynamic_field_160": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 160,
            "input_type": "money",
            "format": "formatted-currency"
        },
        "dynamic_field_164": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 164,
            "input_type": "color"
        },
        "dynamic_field_172": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 172,
            "input_type": "select"
        },
        "dynamic_field_179": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 179,
            "input_type": "file"
        },
        "dynamic_field_180": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 180,
            "input_type": "file"
        },
        "dynamic_field_183": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 183,
            "input_type": "boolean"
        },
        "dynamic_field_184": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 184,
            "input_type": "date",
            "format": "formatted-date"
        },
        "dynamic_field_186": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 186,
            "input_type": "wysiwyg"
        },
        "dynamic_field_189": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 189,
            "input_type": "level_select"
        },
        "dynamic_field_191": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 191,
            "input_type": "select"
        },
        "dynamic_field_192": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 192,
            "input_type": "datetime",
            "format": "formatted-datetime"
        },
        "dynamic_field_193": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 193,
            "input_type": "select"
        },
        "dynamic_field_195": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 195,
            "input_type": "select"
        },
        "dynamic_field_196": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 196,
            "input_type": "select"
        },
        "dynamic_field_197": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 197,
            "input_type": "file"
        },
        "dynamic_field_198": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 198,
            "input_type": "date",
            "format": "formatted-date"
        },
        "dynamic_field_199": {
            "label": "AGB's",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 199,
            "input_type": "boolean"
        },
        "dynamic_field_200": {
            "label": "AGB's done",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 200,
            "input_type": "select"
        },
        "dynamic_field_204": {
            "label": "date validation 1",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 204,
            "input_type": "datetime",
            "format": "formatted-datetime"
        },
        "dynamic_field_205": {
            "label": "date validation 2",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 205,
            "input_type": "datetime",
            "format": "formatted-datetime"
        },
        "dynamic_field_206": {
            "label": "new date",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 206,
            "input_type": "date",
            "format": "formatted-date"
        },
        "dynamic_field_207": {
            "label": "new date 1",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 207,
            "input_type": "date",
            "format": "formatted-date"
        },
        "dynamic_field_209": {
            "label": "Date hide",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 209,
            "input_type": "date",
            "format": "formatted-date"
        },
        "dynamic_field_210": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 210,
            "input_type": "date",
            "format": "formatted-date"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
statusinteger (int)Status
wage_profile_idforeignKey (int)Wage Profile ID
created_atRead Onlystring (date-time)Created on
The date the employee was created in the system.
updated_atRead Onlystring (date-time)Updated on
The date the employee was last updated in the system.
reminded_atRead Onlystring (date-time)Reminded on
The date the employee was last reminded to complete the recruiting process.
last_logged_in_atRead Onlystring (date-time)Logged in on
The date the employee was last logged in on.
last_active_atRead Onlystring (date-time)Last active on
The date the employee was last active on.
activated_atRead Onlystring (date-time)Activated on
The date the employee was activated on.
deactivated_atRead Onlystring (date-time)Deactivated on
The date the employee was deactivated on.
password_expires_atRead Onlystring (date-time)Password expires at
The date when the employee password will expire.
firstnameDynamic FieldFirst name
lastnameDynamic FieldLast name
emailDynamic FieldEmail address
mobileDynamic FieldMobile number
address_firstDynamic FieldStreet
address_secondDynamic FieldAddress line 2
zipDynamic FieldZIP
cityDynamic FieldCity
countryDynamic FieldCountry
qualificationsDynamic FieldQualifications
dynamic_field_26Dynamic FieldApplies for
dynamic_field_27Dynamic FieldWie bist du auf uns aufmerksam geworden?
dynamic_field_28Dynamic Field (formatted-number)Height
dynamic_field_30Dynamic FieldE-Mail Sprache
dynamic_field_31Dynamic FieldDirver
dynamic_field_32Dynamic FieldCar
dynamic_field_33Dynamic FieldGesundheitszeugnis
dynamic_field_34Dynamic FieldSV-Nummer
dynamic_field_38Dynamic FieldIBAN-Nummer
dynamic_field_39Dynamic FieldBank
dynamic_field_41Dynamic FieldReligious denomination
dynamic_field_43Dynamic FieldDriver's licence
birthdayDynamic Field (formatted-date)Birthday
dynamic_field_48Dynamic FieldEmployment contract
dynamic_field_49Dynamic Field[missing translation]
genderDynamic FieldGender
dynamic_field_54Dynamic Field
dynamic_field_62Dynamic FieldDocument 3
dynamic_field_63Dynamic FieldFoto 1
dynamic_field_66Dynamic Field
dynamic_field_69Dynamic FieldIch akzeptiere die AGB
dynamic_field_72Dynamic FieldAnstellungsform
dynamic_field_73Dynamic Field (formatted-date)Expiry date Student card
dynamic_field_74Dynamic Field (formatted-number)DIAS number
dynamic_field_75Dynamic FieldSprachen (mit Sprachlevel)
dynamic_field_76Dynamic Field (formatted-date)Date
dynamic_field_77Dynamic Field (formatted-currency)Account Balance
dynamic_field_80Dynamic FieldValidatione Grande
dynamic_field_81Dynamic Field
dynamic_field_83Dynamic FieldAfbeelding badge
dynamic_field_84Dynamic Field (formatted-date)Datum Badge
dynamic_field_87Read Only
Dynamic Field
(int)EMP ID
dynamic_field_90Dynamic Field
dynamic_field_91Dynamic FieldCitizenship
dynamic_field_92Dynamic Field
dynamic_field_93Dynamic Field
dynamic_field_94Dynamic FieldT-Shirt size
dynamic_field_95Dynamic FieldTrain tickets
dynamic_field_97Dynamic Field (formatted-number)
dynamic_field_98Dynamic FieldProfession
dynamic_field_99Dynamic Field (formatted-number)Land line
dynamic_field_100Dynamic FieldMartial status
dynamic_field_101Dynamic FieldOperation team
dynamic_field_102Dynamic FieldVisible tatoos?
dynamic_field_103Dynamic FieldPants size
dynamic_field_104Dynamic Field[missing translation]
dynamic_field_107Dynamic FieldAssignments
dynamic_field_108Dynamic FieldOther languages
dynamic_field_111Dynamic FieldCollectionfield
dynamic_field_114Dynamic FieldRemarks
dynamic_field_115Dynamic FieldF├╝hrerscheinkopie
dynamic_field_118Dynamic Field
dynamic_field_119Dynamic Field
dynamic_field_120Dynamic Field[missing translation]
dynamic_field_130Dynamic Field
dynamic_field_131Dynamic Field
dynamic_field_132Dynamic Field
dynamic_field_134Dynamic FieldThis is a checkbox
dynamic_field_135Dynamic Field (formatted-date)Date
dynamic_field_136Dynamic FieldLieblingsfarbe
dynamic_field_137Dynamic Field (formatted-datetime)
dynamic_field_138Dynamic Fielddecimal
dynamic_field_139Dynamic Field
dynamic_field_140Dynamic Field (formatted-time)
dynamic_field_141Dynamic Field
dynamic_field_145Dynamic Field[missing translation]
dynamic_field_146Dynamic Field[missing translation]
communication_languageDynamic FieldCommunication language
dynamic_field_155Dynamic Field[missing translation]
dynamic_field_156Dynamic FieldNachtschicht
dynamic_field_158Dynamic Field[missing translation]
dynamic_field_159Dynamic Field[missing translation]
dynamic_field_160Dynamic Field (formatted-currency)[missing translation]
dynamic_field_164Dynamic Field[missing translation]
dynamic_field_172Dynamic Field[missing translation]
dynamic_field_179Dynamic Field[missing translation]
dynamic_field_180Dynamic Field[missing translation]
dynamic_field_183Dynamic Field[missing translation]
dynamic_field_184Dynamic Field (formatted-date)[missing translation]
dynamic_field_186Dynamic Field[missing translation]
dynamic_field_189Dynamic Field[missing translation]
dynamic_field_191Dynamic Field[missing translation]
dynamic_field_192Dynamic Field (formatted-datetime)[missing translation]
dynamic_field_193Dynamic Field[missing translation]
dynamic_field_195Dynamic Field[missing translation]
dynamic_field_196Dynamic Field[missing translation]
dynamic_field_197Dynamic Field[missing translation]
dynamic_field_198Dynamic Field (formatted-date)[missing translation]
dynamic_field_199Dynamic FieldAGB's
dynamic_field_200Dynamic FieldAGB's done
dynamic_field_204Dynamic Field (formatted-datetime)date validation 1
dynamic_field_205Dynamic Field (formatted-datetime)date validation 2
dynamic_field_206Dynamic Field (formatted-date)new date
dynamic_field_207Dynamic Field (formatted-date)new date 1
dynamic_field_209Dynamic Field (formatted-date)Date hide
dynamic_field_210Dynamic Field (formatted-date)[missing translation]

Relations

NameResourceForeign KeyDescription
employeeBusyDatesbusy-datesbusy-dates.employee_id
employeeAssignmentsassignmentsassignments.employee_id
employeeWageProfilewage-profilesemployees.wage_profile_idBase wage profile of the employee
employeeWorkQuotaProfileswork-quota-profileswork-quota-profiles.employee_id
availability-requestsavailability-requestsavailability-requests.employee_id
availabilitiesavailability-requests-availabilitiesavailability-requests-availabilities.employee_id
employeeRatingsratingsratings.employee_id

Actions


RequestDescription
GET /employeesResource listing
GET /employees/<id>Resource read
POST /employeesResource create
PUT /employees/<id>Resource update
DELETE /employees/<id>Resource delete
Note: this action is deprecated. In order to mark an employee as deleted or inactive you can use PUT /employees/<id>/state/<statusId> action where statusId can be 5 for inactive, or 6 for deleted
GET /employees/<id>/activeGet all active employees.
PUT /employees/<id>/stateSet the state of an employee.
PUT /employees/<id>/forms
GET /employees/<id>/formsGet employee rendered through a given form.

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,
            "type": "string",
            "format": "string"
        },
        "quantity": {
            "label": "Quantity",
            "editable": true,
            "type": "integer",
            "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"
        },
        "project_shift_id": {
            "label": "Shift ID",
            "type": "foreignKey",
            "editable": true,
            "format": "int"
        },
        "shift_name": {
            "label": "Shift Name",
            "editable": true
        },
        "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 private",
            "editable": false,
            "type": "int",
            "format": "bool"
        },
        "is_transition_locked": {
            "label": "Is locked while changing states",
            "editable": false,
            "type": "int",
            "format": "bool",
            "description": "This field is deprecated. Please use transition_locked_at instead."
        },
        "transition_locked_at": {
            "label": "Transition locked date and time",
            "editable": false,
            "format": "date-time"
        },
        "planner_id": {
            "label": "Planner ID",
            "editable": true,
            "type": "foreignKey",
            "format": "int"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
codestringCode
descriptionstring (string)Description
quantityinteger (int)Quantity
event_idRead OnlyforeignKey (int)Event ID
project_idRead OnlyforeignKey (int)Project ID
function_idRead OnlyforeignKey (int)Function ID
location_idforeignKey (int)Inherited location ID
eventFunction.location_idforeignKey (int)Location ID
wage_profile_idforeignKey (int)Location ID
project_shift_idforeignKey (int)Shift ID
shift_nameShift Name
start (date-time)Start Time
end (date-time)End Time
break_start (date-time)Break Start Time
break_end (date-time)Break End Time
is_lockedRead Onlyint (bool)Is locked
is_privateRead Onlyint (bool)Is private
is_transition_lockedRead Onlyint (bool)Is locked while changing states
This field is deprecated. Please use transition_locked_at instead.
transition_locked_atRead Only (date-time)Transition locked date and time
planner_idforeignKey (int)Planner ID

Relations

NameResourceForeign KeyDescription
functionEventeventsevent-functions.event_id
projectprojectsevent-functions.project_id
eventFunctionAssignmentsassignmentsassignments.event_function_id
locationlocationsevent-functions.location_id
functionfunctionsevent-functions.function_id

Actions


RequestDescription
GET /event-functionsResource listing
GET /event-functions/<id>Resource read
POST /event-functionsResource create
PUT /event-functions/<id>Resource update
DELETE /event-functions/<id>Resource delete

Events

This resource uses dynamic fields.

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": "Client ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "contact_id": {
            "label": "Contact ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "event.client_id": {
            "label": "Client ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int",
            "description": "This field is deprecated. Please use client_id instead."
        },
        "event.contact_id": {
            "label": "Contact ID",
            "editable": false,
            "type": "foreignKey",
            "format": "int",
            "description": "This field is deprecated. Please use contact_id instead."
        },
        "status": {
            "label": "Status",
            "editable": false,
            "type": "integer",
            "enum": [
                1,
                2,
                3
            ],
            "valueMapping": {
                "1": "Draft",
                "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_60": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 60,
            "input_type": "file"
        },
        "dynamic_field_61": {
            "label": "File upload",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 61,
            "input_type": "file"
        },
        "dynamic_field_67": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 67,
            "input_type": "multi_select"
        },
        "dynamic_field_78": {
            "label": "Auto",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 78,
            "input_type": "select"
        },
        "dynamic_field_82": {
            "label": "Bitte mitbringen",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 82,
            "input_type": "multi_select"
        },
        "dynamic_field_89": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 89,
            "input_type": "wysiwyg"
        },
        "dynamic_field_105": {
            "label": "Expenses paid",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 105,
            "input_type": "multi_select"
        },
        "dynamic_field_112": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 112,
            "input_type": "text"
        },
        "dynamic_field_116": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 116,
            "input_type": "multi_select"
        },
        "dynamic_field_127": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 127,
            "input_type": "select"
        },
        "dynamic_field_147": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 147,
            "input_type": "money",
            "format": "formatted-currency"
        },
        "dynamic_field_157": {
            "label": "Offerte",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 157,
            "input_type": "select"
        },
        "dynamic_field_168": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 168,
            "input_type": "text_area"
        },
        "dynamic_field_178": {
            "label": "[missing translation]",
            "description": "",
            "editable": false,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 178,
            "input_type": "index",
            "format": "int"
        },
        "dynamic_field_187": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 187,
            "input_type": "number",
            "format": "formatted-number"
        },
        "dynamic_field_188": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 188,
            "input_type": "money",
            "format": "formatted-currency"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
planner_idRead OnlyforeignKey (int)Planner Id
project_idRead OnlyforeignKey (int)Project ID
location_idRead OnlyforeignKey (int)Location ID
client_idRead OnlyforeignKey (int)Client ID
contact_idRead OnlyforeignKey (int)Contact ID
event.client_idRead OnlyforeignKey (int)Client ID
This field is deprecated. Please use client_id instead.
event.contact_idRead OnlyforeignKey (int)Contact ID
This field is deprecated. Please use contact_id instead.
statusRead OnlyintegerStatus
nameRead Onlystring (string)Name
startRead Onlystring (date-time)Start Time
endRead Only (date-time)End Time
break_startRead Only (date-time)Break Start Time
break_endRead Onlystring (date-time)Break End Time
created_atRead Onlystring (date-time)Created
updated_atRead Only (date-time)Updated
project_nameRead OnlystringProject
dynamic_field_60Dynamic Field
dynamic_field_61Dynamic FieldFile upload
dynamic_field_67Dynamic Field
dynamic_field_78Dynamic FieldAuto
dynamic_field_82Dynamic FieldBitte mitbringen
dynamic_field_89Dynamic Field
dynamic_field_105Dynamic FieldExpenses paid
dynamic_field_112Dynamic Field[missing translation]
dynamic_field_116Dynamic Field
dynamic_field_127Dynamic Field
dynamic_field_147Dynamic Field (formatted-currency)[missing translation]
dynamic_field_157Dynamic FieldOfferte
dynamic_field_168Dynamic Field[missing translation]
dynamic_field_178Read Only
Dynamic Field
(int)[missing translation]
dynamic_field_187Dynamic Field (formatted-number)[missing translation]
dynamic_field_188Dynamic Field (formatted-currency)[missing translation]

Relations

NameResourceForeign KeyDescription
eventProjectprojectsevents.project_id
eventFunctionsevent-functionsevent-functions.event_id
eventClientclientsevents.client_id
eventContactcontactsevents.contact_id
eventAssignmentsassignmentsassignments.event_id
eventPlannerplannersevents.planner_idPlanner of the event.
eventLocationlocationsevents.location_idLocation of the event.

Actions


RequestDescription
GET /eventsResource listing
GET /events/<id>Resource read
POST /eventsResource create
PUT /events/<id>Resource update
DELETE /events/<id>Resource delete
GET /events/<id>/formsGet event rendered through a given form.
GET /events/<id>/reporting-formsGet reporting forms attached to a particular event.
GET /events/<id>/reporting-formsGet 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"
        },
        "public_url": {
            "label": "Public url",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "visibility": {
            "label": "Visibility",
            "editable": false,
            "type": "string",
            "enum": [
                "public",
                "private"
            ],
            "format": "string"
        },
        "created_at": {
            "label": "Created",
            "editable": false,
            "type": "string",
            "format": "date-time"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
pathRead Onlystring (string)Path
nameRead Onlystring (string)Name
mimeRead Onlystring (string)Mime Type
user_idRead Onlyinteger (int)User ID
statusinteger (int)Status
public_urlRead Onlystring (string)Public url
visibilityRead Onlystring (string)Visibility
created_atRead Onlystring (date-time)Created

Actions


RequestDescription
GET /filesResource listing
GET /files/<id>Resource read
POST /filesResource create
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


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
identifierRead Onlystring (string)Identifier
nameRead Onlystring (string)Label

Actions


RequestDescription
GET /formsResource listing
GET /forms/<id>Resource read
POST /formsResource create
PUT /forms/<id>Resource update
DELETE /forms/<id>Resource delete

Functions

Schema

Functions 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"
        },
        "wage_profile_id": {
            "label": "Wage profile ID",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "wage_profile_name": {
            "label": "Wage profile name",
            "editable": false,
            "type": "string",
            "format": "string"
        },
        "project_leader": {
            "label": "Project leader",
            "editable": false,
            "type": "integer",
            "format": "bool",
            "description": "If true, the employees assigned to this function are set as project leaders."
        },
        "qualifications": {
            "label": "Qualifications",
            "editable": false,
            "type": "array",
            "format": "array"
        },
        "deleted": {
            "label": "Deleted",
            "editable": false,
            "type": "integer",
            "format": "bool",
            "description": "Whether the function is deleted or not."
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
nameRead Onlystring (string)Name
codeRead Onlystring (string)Code
wage_profile_idRead Onlystring (string)Wage profile ID
wage_profile_nameRead Onlystring (string)Wage profile name
project_leaderRead Onlyinteger (bool)Project leader
If true, the employees assigned to this function are set as project leaders.
qualificationsRead Onlyarray (array)Qualifications
deletedRead Onlyinteger (bool)Deleted
Whether the function is deleted or not.

Actions


RequestDescription
GET /functionsResource listing
GET /functions/<id>Resource read
POST /functionsResource create
PUT /functions/<id>Resource update
DELETE /functions/<id>Resource delete

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


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
codeRead Onlystring (string)Code
nameRead Onlystring (string)Name
shortRead Onlystring (string)Short

Actions


RequestDescription
GET /languagesResource listing
GET /languages/<id>Resource read
POST /languagesResource create
PUT /languages/<id>Resource update
DELETE /languages/<id>Resource delete

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


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
assignment_idRead OnlyforeignKey (int)Assignment ID
planner_idRead OnlyforeignKey (int)Planner ID
The ID of the planner who accepted/rejected the livestamp
proposed_date_timestring (date-time)Proposed date time
The assignment livestamp proposed date and time.
latitudefloat (float)Latitude
The assignment livestamp latitude.
longitudefloat (float)Longitude
The assignment livestamp longitude.
remarksstring (string)Remarks
The assignment livestamp remarks.
sourcestring (string)Source
The assignment livestamp creation source.
created_atRead Onlystring (date-time)Created at
The date and time when the livestamp was created.
updated_atRead Onlystring (date-time)Updated at
The date and time when the livestamp was last updated.
accepted_atRead Onlystring (date-time)Accepted at
The date and time when the livestamp was accepted.
rejected_atRead Onlystring (date-time)Rejected at
The date and time when the livestamp was rejected.
files_idsarray (array)Livestamp files IDs (optional)
The IDs of the files to be added to the livestamp.
filesRead Onlyarray (array)Files
The assignment livestamp uploaded files.

Relations

NameResourceForeign KeyDescription
livestampAssignmentassignmentslivestamps.assignment_id
livestampPlannerplannerslivestamps.planner_id

Actions


RequestDescription
GET /livestampsResource listing
GET /livestamps/<id>Resource read
POST /livestampsResource create
PUT /livestamps/<id>Resource update
DELETE /livestamps/<id>Resource delete
POST /livestamps/<id>/add-filesAdd new files to an assignment wage proposal.
DELETE /livestamps/<id>/delete-filesDelete files from an assignment wage proposal.
PUT /livestamps/<id>/acceptAccept an assignment wage proposal.
PUT /livestamps/<id>/rejectReject 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


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
nameRead Onlystring (string)Name
codeRead Onlystring (string)Code
line_1Read Onlystring (string)Addres line 1
line_2Read Onlystring (string)Addres line 2
zipRead Onlystring (string)Zip
cityRead Onlystring (string)City
countryRead Onlystring (string)Country

Actions


RequestDescription
GET /locationsResource listing
GET /locations/<id>Resource read
POST /locationsResource create
PUT /locations/<id>Resource update
DELETE /locations/<id>Resource delete

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"
        },
        "plain_text": {
            "label": "Plain text",
            "description": "Returned only when using the flag `with-plain-text` set to `1`",
            "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


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
conversation_identifierRead Onlystring (string)Conversation identifier
subjectRead Onlystring (string)Subject
textRead Onlystring (string)Text
plain_textRead Onlystring (string)Plain text
Returned only when using the flag `with-plain-text` set to `1`
attachmentsRead OnlyarrayAttachments
is_readRead Onlyinteger (bool)Message was read
created_atRead Onlystring (date-time)Created at
typeRead OnlystringMessage type
hasAttachmentsRead Onlyint (bool)Message has attachments
payloadRead OnlyobjectPayload
fromRead OnlyobjectFrom
toRead OnlyobjectTo

Actions


RequestDescription
GET /messagesResource listing
GET /messages/<id>Resource read
POST /messagesResource create
PUT /messages/<id>Resource update
DELETE /messages/<id>Resource delete
GET /messages/<id>/conversationsFetch messages for a conversation.
PUT /messages/<id>/conversationsUpdate a conversation.
DELETE /messages/<id>/conversationsDelete a conversation thread
POST /messages/<id>/sendSend or reply to a message.
GET /messages/<id>/mark-all-as-readMark all the messages of the given type as read.

Pay lines

Schema

Pay-lines schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "pay_run_id": {
            "label": "Pay Run Id",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "assignment_id": {
            "label": "Assignment Id",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "wage_type_id": {
            "label": "Wage Type Id",
            "editable": false,
            "type": "foreignKey",
            "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"
        },
        "rate": {
            "label": "Pay rate (if any)",
            "editable": false,
            "type": "float"
        },
        "quantity": {
            "label": "Pay quantity (if any)",
            "editable": false,
            "type": "float"
        },
        "amount": {
            "label": "Total Payable Amount",
            "editable": false,
            "type": "float"
        },
        "created_at": {
            "label": "Created Date",
            "editable": true,
            "type": "string",
            "format": "date-time"
        },
        "created_by_planner_id": {
            "label": "Id of the planner that created the pay line.",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "pay_run.identifier": {
            "label": "Pay Run Identifier",
            "editable": false,
            "type": "string"
        },
        "pay_run.name": {
            "label": "Pay Run Name",
            "editable": false,
            "type": "string"
        },
        "pay_run.description": {
            "label": "Pay Run Description",
            "editable": false,
            "type": "string"
        },
        "wage_type.type": {
            "label": "Wage Type",
            "editable": false,
            "type": "string"
        },
        "wage_type.name": {
            "label": "Wage Type Name",
            "editable": false,
            "type": "string"
        },
        "wage_type.external_id": {
            "label": "Wage Type Identifier",
            "editable": false,
            "type": "string"
        },
        "employee.first_name": {
            "label": "Employee First Name",
            "editable": false,
            "type": "string"
        },
        "employee.last_name": {
            "label": "Employee Last Name",
            "editable": false,
            "type": "string"
        },
        "employee.email": {
            "label": "Employee Email",
            "editable": false,
            "type": "string"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
pay_run_idRead OnlyforeignKey (int)Pay Run Id
assignment_idRead OnlyforeignKey (int)Assignment Id
wage_type_idRead OnlyforeignKey (int)Wage Type Id
employee_idRead OnlyforeignKey (int)Employee Id
event_function_idRead OnlyforeignKey (int)Event Function Id
event_idRead OnlyforeignKey (int)Event Id
project_idRead OnlyforeignKey (int)Project Id
client_idRead OnlyforeignKey (int)Client Id
contact_idRead OnlyforeignKey (int)Contact Id
rateRead OnlyfloatPay rate (if any)
quantityRead OnlyfloatPay quantity (if any)
amountRead OnlyfloatTotal Payable Amount
created_atstring (date-time)Created Date
created_by_planner_idRead OnlyforeignKey (int)Id of the planner that created the pay line.
pay_run.identifierRead OnlystringPay Run Identifier
pay_run.nameRead OnlystringPay Run Name
pay_run.descriptionRead OnlystringPay Run Description
wage_type.typeRead OnlystringWage Type
wage_type.nameRead OnlystringWage Type Name
wage_type.external_idRead OnlystringWage Type Identifier
employee.first_nameRead OnlystringEmployee First Name
employee.last_nameRead OnlystringEmployee Last Name
employee.emailRead OnlystringEmployee Email

Relations

NameResourceForeign KeyDescription
payLinePayRunpay-runspay-runs.pay_run_id
payLineEmployeeemployeespay-lines.employee_id
payLineAssignmentassignmentspay-lines.assignment_id
payLineEventFunctionevent-functionspay-lines.event_function_id
payLineEventeventspay-lines.event_id
payLineProjectprojectspay-lines.project_id
payLineClientclientspay-lines.client_id
payLineContactcontactspay-lines.contact_id

Actions


RequestDescription
GET /pay-linesResource listing
GET /pay-lines/<id>Resource read
POST /pay-linesResource create
PUT /pay-lines/<id>Resource update
DELETE /pay-lines/<id>Resource delete

Pay runs

Schema

Pay-runs schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "identifier": {
            "label": "Identifier",
            "type": "string",
            "editable": true,
            "format": "string"
        },
        "name": {
            "label": "Name",
            "type": "string",
            "editable": true,
            "format": "string"
        },
        "description": {
            "label": "Description",
            "type": "string",
            "editable": true,
            "format": "string"
        },
        "created_at": {
            "label": "Created Date",
            "editable": true,
            "type": "string",
            "format": "date-time"
        },
        "exported_at": {
            "label": "Exported Date",
            "editable": true,
            "type": "string",
            "format": "date-time"
        },
        "paid_at": {
            "label": "Pay Date",
            "editable": true,
            "type": "string",
            "format": "date-time"
        },
        "created_by_planner_id": {
            "label": "Id of the planner that created the pay run.",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "exported_by_planner_id": {
            "label": "Id of the planner that exported the pay run.",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "paid_by_planner_id": {
            "label": "Id of the planner that paid the pay run.",
            "editable": false,
            "type": "foreignKey",
            "format": "int"
        },
        "pay_lines": {
            "label": "Pay lines for this pay run.",
            "editable": false,
            "type": "object"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
identifierstring (string)Identifier
namestring (string)Name
descriptionstring (string)Description
created_atstring (date-time)Created Date
exported_atstring (date-time)Exported Date
paid_atstring (date-time)Pay Date
created_by_planner_idRead OnlyforeignKey (int)Id of the planner that created the pay run.
exported_by_planner_idRead OnlyforeignKey (int)Id of the planner that exported the pay run.
paid_by_planner_idRead OnlyforeignKey (int)Id of the planner that paid the pay run.
pay_linesRead OnlyobjectPay lines for this pay run.

Relations

NameResourceForeign KeyDescription
payRunPayLinespay-linespay-runs.pay_run_id

Actions


RequestDescription
GET /pay-runsResource listing
GET /pay-runs/<id>Resource read
POST /pay-runsResource create
PUT /pay-runs/<id>Resource update
DELETE /pay-runs/<id>Resource delete

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


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
assignment_idRead OnlyforeignKey (int)Assignment ID
is_approvedRead Onlyinteger (boolean)Paysheet Approved
wagesRead OnlyobjectPaysheet wages

Relations

NameResourceForeign KeyDescription
paysheetAssignmentassignmentspaysheets.assignment_id

Actions


RequestDescription
GET /paysheetsResource listing
GET /paysheets/<id>Resource read
POST /paysheetsResource create
PUT /paysheets/<id>Resource update
DELETE /paysheets/<id>Resource delete

Planners

This resource uses dynamic fields.

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",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 21,
            "input_type": "text"
        },
        "lastname": {
            "label": "Last name",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 22,
            "input_type": "text"
        },
        "email": {
            "label": "Email address",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 23,
            "input_type": "email"
        },
        "mobile": {
            "label": "Mobile number",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 24,
            "input_type": "phone"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
usernamestring (string)Username
first_nameRead Onlystring (string)Planner first name
last_nameRead Onlystring (string)Planner last name
password_expires_atRead Onlystring (date-time)Password expires at
The date when the planner password will expire.
firstnameDynamic FieldFirst name
lastnameDynamic FieldLast name
emailDynamic FieldEmail address
mobileDynamic FieldMobile number

Actions


RequestDescription
GET /plannersResource listing
GET /planners/<id>Resource read
POST /plannersResource create
PUT /planners/<id>Resource update
DELETE /planners/<id>Resource delete

Projects

This resource uses dynamic fields.

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",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 56,
            "input_type": "file"
        },
        "dynamic_field_57": {
            "label": "Project details",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 57,
            "input_type": "text_area"
        },
        "dynamic_field_58": {
            "label": "Data upload",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 58,
            "input_type": "file"
        },
        "dynamic_field_109": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 109,
            "input_type": "multi_select"
        },
        "dynamic_field_110": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 110,
            "input_type": "select"
        },
        "dynamic_field_117": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 117,
            "input_type": "multi_select"
        },
        "dynamic_field_129": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 129,
            "input_type": "text"
        },
        "dynamic_field_133": {
            "label": "",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 133,
            "input_type": "url"
        },
        "dynamic_field_144": {
            "label": "Dress code",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 144,
            "input_type": "multi_select"
        },
        "dynamic_field_165": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 165,
            "input_type": "phone"
        },
        "dynamic_field_170": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 170,
            "input_type": "text"
        },
        "dynamic_field_173": {
            "label": "List of Materials",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 173,
            "input_type": "level_select"
        },
        "dynamic_field_174": {
            "label": "[missing translation]",
            "description": "",
            "editable": false,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 174,
            "input_type": "index",
            "format": "int"
        },
        "dynamic_field_175": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 175,
            "input_type": "text_area"
        },
        "dynamic_field_176": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 176,
            "input_type": "file"
        },
        "dynamic_field_177": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 177,
            "input_type": "file"
        },
        "dynamic_field_181": {
            "label": "Contact info",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 181,
            "input_type": "phone"
        },
        "dynamic_field_182": {
            "label": "Direct contact",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 182,
            "input_type": "wysiwyg"
        },
        "dynamic_field_185": {
            "label": "Materials needed?",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 185,
            "input_type": "select"
        },
        "dynamic_field_194": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 194,
            "input_type": "text"
        },
        "dynamic_field_211": {
            "label": "[missing translation]",
            "description": "",
            "editable": true,
            "dynamicField": true,
            "fieldType": "dynamicAttribute",
            "attributeId": 211,
            "input_type": "number",
            "format": "formatted-number"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
relation_idRead OnlyforeignKey (int)Relation ID
client_idforeignKey (int)Client ID
planner_idforeignKey (int)Planner ID
contact_idforeignKey (int)Contact ID
namestring (string)Project name
created_atRead Onlystring (date-time)Created date
updated_atRead Onlystring (date-time)Updated date
dynamic_field_56Dynamic FieldData upload
dynamic_field_57Dynamic FieldProject details
dynamic_field_58Dynamic FieldData upload
dynamic_field_109Dynamic Field
dynamic_field_110Dynamic Field
dynamic_field_117Dynamic Field
dynamic_field_129Dynamic Field
dynamic_field_133Dynamic Field
dynamic_field_144Dynamic FieldDress code
dynamic_field_165Dynamic Field[missing translation]
dynamic_field_170Dynamic Field[missing translation]
dynamic_field_173Dynamic FieldList of Materials
dynamic_field_174Read Only
Dynamic Field
(int)[missing translation]
dynamic_field_175Dynamic Field[missing translation]
dynamic_field_176Dynamic Field[missing translation]
dynamic_field_177Dynamic Field[missing translation]
dynamic_field_181Dynamic FieldContact info
dynamic_field_182Dynamic FieldDirect contact
dynamic_field_185Dynamic FieldMaterials needed?
dynamic_field_194Dynamic Field[missing translation]
dynamic_field_211Dynamic Field (formatted-number)[missing translation]

Relations

NameResourceForeign KeyDescription
projectClientclientsprojects.client_id
projectContactcontactsprojects.contact_id
projectEventseventsevents.project_id
projectPlannerplannersprojects.planner_id

Actions


RequestDescription
GET /projectsResource listing
GET /projects/<id>Resource read
POST /projectsResource create
PUT /projects/<id>Resource update
DELETE /projects/<id>Resource delete
GET /projects/<id>/formsGet project rendered through a given form.
GET /projects/<id>/reporting-formsGet reporting forms attached to a particular project.
GET /projects/<id>/reporting-formsGet reporting forms for indicated projects

Ratings

Schema

Ratings schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "employee_id": {
            "label": "Employee ID",
            "type": "foreignKey",
            "editable": false,
            "format": "int"
        },
        "rater_id": {
            "label": "Rater ID",
            "type": "foreignKey",
            "editable": false,
            "format": "int"
        },
        "project_id": {
            "label": "Project ID",
            "type": "foreignKey",
            "editable": false,
            "format": "int"
        },
        "event_id": {
            "label": "Event ID",
            "type": "foreignKey",
            "editable": false,
            "format": "int"
        },
        "score": {
            "label": "Score",
            "type": "float",
            "editable": false,
            "format": "float"
        },
        "remarks": {
            "label": "Remarks",
            "type": "string",
            "editable": false
        },
        "created_at": {
            "label": "Created",
            "editable": false,
            "type": "string",
            "format": "date-time"
        },
        "updated_at": {
            "label": "Updated",
            "editable": false,
            "type": "string",
            "format": "date-time"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
employee_idRead OnlyforeignKey (int)Employee ID
rater_idRead OnlyforeignKey (int)Rater ID
project_idRead OnlyforeignKey (int)Project ID
event_idRead OnlyforeignKey (int)Event ID
scoreRead Onlyfloat (float)Score
remarksRead OnlystringRemarks
created_atRead Onlystring (date-time)Created
updated_atRead Onlystring (date-time)Updated

Relations

NameResourceForeign KeyDescription
employeeemployeesratings.employee_id

Actions


RequestDescription
GET /ratingsResource listing
GET /ratings/<id>Resource read
POST /ratingsResource create
PUT /ratings/<id>Resource update
DELETE /ratings/<id>Resource delete

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


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
identifierRead Onlystring (string)Identifier
type_idRead OnlyforeignKey (int)Setting type ID
value_type_idRead OnlyforeignKey (int)Setting value type ID
section_idRead OnlyidentityField (int)ID
collection_idRead Onlyinteger (int)ID
collectionRead OnlyobjectID
nameRead Onlystring (string)Name
descriptionRead Onlystring (string)Description
validatorsRead Onlystring (string)Setting validators
valueRead OnlyobjectSetting value
setting_typeRead OnlyobjectSetting type
setting_sectionRead OnlyobjectSetting section
data_typeRead OnlyobjectData type

Relations

NameResourceForeign KeyDescription
settingCollectioncollectionssettings.collection_id

Actions


RequestDescription
GET /settingsResource listing
GET /settings/<id>Resource read
POST /settingsResource create
PUT /settings/<id>Resource update
DELETE /settings/<id>Resource delete

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"
        },
        "description": {
            "label": "Description",
            "editable": false,
            "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


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
namestring (string)Name
descriptionRead Onlystring (string)Description
datestring (date-time)Date
location_idRead Onlyinteger (int)Location Id

Actions


RequestDescription
GET /special-datesResource listing
GET /special-dates/<id>Resource read
POST /special-datesResource create
PUT /special-dates/<id>Resource update
DELETE /special-dates/<id>Resource delete

Time slots

Schema

Time-slots schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "time_slot_category_id": {
            "label": "Category ID",
            "type": "int",
            "format": "int",
            "editable": false
        },
        "name": {
            "label": "Label",
            "type": "string",
            "editable": false,
            "format": "string"
        },
        "week_days": {
            "label": "Week days",
            "type": "array",
            "editable": false,
            "format": "array"
        },
        "from": {
            "label": "Valid From",
            "type": "string",
            "format": "time",
            "editable": false
        },
        "to": {
            "label": "Valid To",
            "type": "string",
            "format": "time",
            "editable": false
        },
        "archived_at": {
            "label": "Archived at",
            "type": "string",
            "format": "time",
            "editable": false
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
time_slot_category_idRead Onlyint (int)Category ID
nameRead Onlystring (string)Label
week_daysRead Onlyarray (array)Week days
fromRead Onlystring (time)Valid From
toRead Onlystring (time)Valid To
archived_atRead Onlystring (time)Archived at

Actions


RequestDescription
GET /time-slotsResource listing
GET /time-slots/<id>Resource read
POST /time-slotsResource create
PUT /time-slots/<id>Resource update
DELETE /time-slots/<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


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
identifierRead Onlystring (string)Identifier
nameRead Onlystring (string)Label

Relations

NameResourceForeign KeyDescription
profileWageTypeswage-typeswage-profiles.wage_profile_id

Actions


RequestDescription
GET /wage-profilesResource listing
GET /wage-profiles/<id>Resource read
POST /wage-profilesResource create
PUT /wage-profiles/<id>Resource update
DELETE /wage-profiles/<id>Resource delete

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


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
assignment_idRead OnlyforeignKey (int)Assignment ID
planner_idRead OnlyforeignKey (int)Planner ID
The ID of the planner who accepted/rejected the proposal
remarksstring (string)Remarks
The assignment proposal remarks.
requested_updatesRead Onlystring (string)Requested updates
The assignment proposal requested updates.
sourcestring (string)Source
The assignment proposal creation source.
created_atRead Onlystring (date-time)Created at
The date and time when the proposal was created.
updated_atRead Onlystring (date-time)Updated at
The date and time when the proposal was last updated.
accepted_atRead Onlystring (date-time)Accepted at
The date and time when the proposal was accepted.
rejected_atRead Onlystring (date-time)Rejected at
The date and time when the proposal was rejected.
proposed_wage_type_valuesarray (array)Proposed wage type values (optional)
The proposed wage type values.
files_idsarray (array)Proposal files IDs (optional)
The IDs of the files to be added to the proposal.
filesRead Onlyarray (array)Files
The assignment proposal uploaded files.

Relations

NameResourceForeign KeyDescription
wageProposalAssignmentassignmentswage-proposals.assignment_id
wageProposalPlannerplannerswage-proposals.planner_id

Actions


RequestDescription
GET /wage-proposalsResource listing
GET /wage-proposals/<id>Resource read
POST /wage-proposalsResource create
PUT /wage-proposals/<id>Resource update
DELETE /wage-proposals/<id>Resource delete
GET /wage-proposals/<id>/proposable-wage-typesGet the proposable wage types.
POST /wage-proposals/<id>/add-filesAdd new files to an assignment wage proposal.
DELETE /wage-proposals/<id>/delete-filesDelete files from an assignment wage proposal.
PUT /wage-proposals/<id>/acceptAccept an assignment wage proposal.
PUT /wage-proposals/<id>/rejectReject an assignment wage proposal.
POST /wage-proposals/<id>/request-updatesRequest 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


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
typeRead OnlystringIdentifier
nameRead Onlystring (string)Label
external_idRead Onlystring (string)External ID
base_typeRead OnlystringBase Type
is_controllableRead Onlyint (bool)Is Controllable
is_proposableRead Onlyint (bool)Is Proposable
is_dynamicRead Onlyint (bool)Is Dynamic
valid_fromRead Onlystring (time)Valid From
valid_toRead Onlystring (time)Valid To

Relations

NameResourceForeign KeyDescription
wageTypeProfileswage-profileswage-profiles.wage_profile_id

Actions


RequestDescription
GET /wage-typesResource listing
GET /wage-types/<id>Resource read
POST /wage-typesResource create
PUT /wage-types/<id>Resource update
DELETE /wage-types/<id>Resource delete

Webhooks

Schema

Webhooks schema

{
    "properties": {
        "id": {
            "label": "ID",
            "editable": false,
            "type": "identityField",
            "format": "int"
        },
        "trigger": {
            "label": "Trigger",
            "editable": true,
            "type": "object",
            "format": "object"
        },
        "webhook": {
            "label": "Webhook",
            "editable": true,
            "type": "object",
            "format": "object"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
triggerobject (object)Trigger
webhookobject (object)Webhook

Actions


RequestDescription
GET /webhooksResource listing
GET /webhooks/<id>Resource read
POST /webhooksResource create
PUT /webhooks/<id>Resource update
DELETE /webhooks/<id>Resource delete

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


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
employee_idRead OnlyforeignKey (int)Employee Id
work_quota_profile_idRead OnlyforeignKey (int)Work Quota Profile ID
nameRead Onlystring (string)Name
valid_fromRead Onlystring (datetime)Valid From
valid_toRead Onlystring (datetime)Valid To

Relations

NameResourceForeign KeyDescription
workQuotaProfilesEmployeeemployeeswork-quota-profiles.employee_id

Actions


RequestDescription
GET /work-quota-profilesResource listing
GET /work-quota-profiles/<id>Resource read
POST /work-quota-profilesResource create
PUT /work-quota-profiles/<id>Resource update
DELETE /work-quota-profiles/<id>Resource delete

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


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
assignment_idRead OnlyforeignKey (int)Assignment ID
planner_idRead OnlyforeignKey (int)Planner ID
The ID of the planner who accepted/rejected the proposal
startstring (date-time)Start time
The proposed assignment start time.
endstring (date-time)End time
The proposed assignment end time.
break_startstring (date-time)Break start time
The proposed assignment break start time.
break_endstring (date-time)Break end time
The proposed assignment break end time.
remarksstring (string)Remarks
The assignment proposal remarks.
requested_updatesRead Onlystring (string)Requested updates
The assignment proposal requested updates.
sourcestring (string)Source
The assignment proposal creation source.
created_atRead Onlystring (date-time)Created at
The date and time when the proposal was created.
updated_atRead Onlystring (date-time)Updated at
The date and time when the proposal was last updated.
accepted_atRead Onlystring (date-time)Accepted at
The date and time when the proposal was accepted.
rejected_atRead Onlystring (date-time)Rejected at
The date and time when the proposal was rejected.
rejectedRead Onlyarray (array)Rejected
Contains the times which were rejected when the proposal was accepted.

Relations

NameResourceForeign KeyDescription
workTimeProposalAssignmentassignmentswork-time-proposals.assignment_id
workTimeProposalPlannerplannerswork-time-proposals.planner_id

Actions


RequestDescription
GET /work-time-proposalsResource listing
GET /work-time-proposals/<id>Resource read
POST /work-time-proposalsResource create
PUT /work-time-proposals/<id>Resource update
DELETE /work-time-proposals/<id>Resource delete
PUT /work-time-proposals/<id>/acceptAccept an assignment work time proposal.
PUT /work-time-proposals/<id>/rejectReject an assignment work time proposal.
POST /work-time-proposals/<id>/request-updatesRequest 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"
        },
        "work_time": {
            "label": "Work Time including breaks",
            "editable": false,
            "description": "The assignments work time including breaks.",
            "type": "string",
            "format": "fromHoursIntervalToHumans"
        },
        "work_time_without_break": {
            "label": "Work Time excluding breaks",
            "editable": false,
            "description": "The assignments work time excluding breaks.",
            "type": "string",
            "format": "fromHoursIntervalToHumans"
        },
        "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"
        },
        "break_time": {
            "label": "Break Time",
            "editable": false,
            "description": "The assignments break time.",
            "type": "string",
            "format": "fromHoursIntervalToHumans"
        },
        "remarks": {
            "label": "Work Times Remarks",
            "editable": false,
            "description": "Optional remarks for the work times.",
            "type": "string"
        },
        "is_approved": {
            "label": "Is Approved",
            "editable": false,
            "description": "Whether the work times were approved or not.",
            "type": "int",
            "format": "bool"
        },
        "approved_on": {
            "label": "Approved On",
            "editable": false,
            "description": "The date and time when the work times were approved.",
            "type": "string",
            "format": "date-time"
        },
        "approved_by_planner_id": {
            "label": "Approved By Planner ID",
            "editable": false,
            "description": "The ID of the planner that approved the work times.",
            "type": "int"
        },
        "proposal_work_start": {
            "label": "Proposed Work Start Time",
            "editable": false,
            "description": "The proposed work start time.",
            "type": "string",
            "format": "date-time"
        },
        "proposal_work_end": {
            "label": "Proposed Work End Time",
            "editable": false,
            "description": "The proposed work end time.",
            "type": "string",
            "format": "date-time"
        },
        "proposal_work_time": {
            "label": "Proposed Work Time",
            "editable": false,
            "description": "The proposed work time.",
            "type": "string",
            "format": "fromHoursIntervalToHumans"
        },
        "proposal_break_start": {
            "label": "Proposed Break Start Time",
            "editable": false,
            "description": "The proposed break start time.",
            "type": "string",
            "format": "date-time"
        },
        "proposal_break_end": {
            "label": "Proposed Break End Time",
            "editable": false,
            "description": "The proposed break end time.",
            "type": "string",
            "format": "date-time"
        },
        "proposal_break_time": {
            "label": "Proposed Break Time",
            "editable": false,
            "description": "The proposed break time.",
            "type": "string",
            "format": "fromHoursIntervalToHumans"
        }
    }
}

Fields


NamePropertiesTypeDescription
idRead OnlyidentityField (int)ID
event_function_employee_idRead OnlyforeignKey (int)Assignment ID
startRead Onlystring (date-time)Work Start Time
The assignments work start time.
endRead Onlystring (date-time)Work End Time
The assignments work end time.
work_timeRead Onlystring (fromHoursIntervalToHumans)Work Time including breaks
The assignments work time including breaks.
work_time_without_breakRead Onlystring (fromHoursIntervalToHumans)Work Time excluding breaks
The assignments work time excluding breaks.
break_startRead Onlystring (date-time)Break Start Time
The assignments break start time.
break_endRead Onlystring (date-time)Break End Time
The assignments break end time.
break_timeRead Onlystring (fromHoursIntervalToHumans)Break Time
The assignments break time.
remarksRead OnlystringWork Times Remarks
Optional remarks for the work times.
is_approvedRead Onlyint (bool)Is Approved
Whether the work times were approved or not.
approved_onRead Onlystring (date-time)Approved On
The date and time when the work times were approved.
approved_by_planner_idRead OnlyintApproved By Planner ID
The ID of the planner that approved the work times.
proposal_work_startRead Onlystring (date-time)Proposed Work Start Time
The proposed work start time.
proposal_work_endRead Onlystring (date-time)Proposed Work End Time
The proposed work end time.
proposal_work_timeRead Onlystring (fromHoursIntervalToHumans)Proposed Work Time
The proposed work time.
proposal_break_startRead Onlystring (date-time)Proposed Break Start Time
The proposed break start time.
proposal_break_endRead Onlystring (date-time)Proposed Break End Time
The proposed break end time.
proposal_break_timeRead Onlystring (fromHoursIntervalToHumans)Proposed Break Time
The proposed break time.

Relations

NameResourceForeign KeyDescription
workTimesAssignmentassignmentswork-times.event_function_employee_id

Actions


RequestDescription
GET /work-timesResource listing
GET /work-times/<id>Resource read
POST /work-timesResource create
PUT /work-times/<id>Resource update
DELETE /work-times/<id>Resource delete