Blikk API documentation

Overview

Getting started

The API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication and verbs.

To get started you need a Blikk account and an API-application. Follow the steps in the section below to create an API-application.

Base URL
https://publicapi.blikk.com

Creating an API-application

If you have an existing Blikk account and you're already signed in, you can just click on this link to navigate to the administration page where you manage your API-applications. Otherwise you can follow the steps below to get started.

  1. Login to your existing account or sign up for a 14-day free trial.
  2. Go to the administration panel by clicking on the cog-icon in the top right corner next to your profile. Note that this requires administrator permissions. If you don't see the cog-icon, you don't have administrator permissions.
  3. In the sidebar to the left, click on the "Integrationer" (Integrations) menu and then click on "API-applikationer" (API-applications).
  4. In the upper corner there is a button labeled "Lägg till" (Add), click it.
  5. Give your application a name and choose whose responsible for the API-application, then click the button labeled "Spara" (Save).

Authentication

Bearer token authentication is used for access to the API endpoints. Basic authentication is used to aquire access tokens.

Aquire access token

To aquire an access token, a request should be made to POST /v1/Auth/Token with the Authorization-header scheme set to Basic and the value should be the Base64-output of your application id and secret joined by a colon (:).

Token request
POST /v1/Auth/Token
Authorization: Basic bXlhcHBpZDpteWFwcHNlY3JldA==
Response
{ "objectName": "auth.token", "accessToken": "pk_00000000-0000-0000-0000-000000000000.pa_00000000-0000-0000-0000-000000000000", "expires": "2024-04-19 07:17:33 +00:00" }

Authenticate a request

To authenticate a request, the Authorization-header scheme is set to Bearer and the access token as the value.

Authenticated request
GET /v1/Core/Contacts?page=1
Authorization: Bearer pk_00000000-0000-0000-0000-000000000000.pa_00000000-0000-0000-0000-000000000000

Important!

Your API-applications can carry many privileges, so be sure to keep the application id, secret and issued access tokens secure! Do not share these in publicly accessible areas such as GitHub, client-side code, and so forth.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail.

All API endpoints requires authentication unless specified otherwise. Failure to provide a valid acces token in a request will result in a 401 Unauthorized response.

Rate limiting

All access-tokens are subjected to rate limiting. This is determined on a per-request basis and is enforced when an access-token has made more than four (4) requests during a given second.

When in effect, the response code to your requests will be 429 Too Many Requests, with a response body telling you for how long you have to wait until the rate limiting is no longer in effect. A Retry-After header will also be sent along with the response if you prefer to read the timeout from there.

The timeout is in seconds.

Response
{ "waitInSeconds": 1 }

Status codes

A range of standard HTTP status codes are used by the API to inform the client of the result of their action.

200 OK

The status code 200 OK is the most common status code and is returned when the request was successful. The response body may contain data such as an entity.

Examples to the right shows that a GET-request to /v1/Core/contacts/page=1 returns an object in its response whereas the DELETE-request does not.

GET /v1/Core/Contacts?page=1
{ "objectName": "generic.list", "page": 3, ... }
DELETE /v1/Core/Contacts/32
[Empty]

400 BAD REQUEST

The status code 400 BAD REQUEST is returned for any request where the server cannot or will not process the request due to an apparent client error.

The "client error" may be missing required parameters, missing required properties in a request body, invalid parameter/property values and so forth.

GET /v1/Core/Contacts
{ "message": "The request is invalid.", "modelState": { "page": [ "The field Page must be greater than or equal to 1." ] } }

401 UNAUTHORIZED

A 401 UNAUTHORIZED response will be produced when the client has failed to send the authentication header or if the authentication token is invalid.

POST /v1/Core/Contacts
{ "message": "Invalid token" }

403 FORBIDDEN

A 403 FORBIDDEN response will be produced when either the API-application does not have the required permissions to perform the action, or if the API-application has a list of allowed IP-addresses and the machine making the request is not on that list.

Insufficient permissions response
{ "message": "You dont have the nessecery permissions to perform this action", "ipAddressAllowed": true, "permissionsRequired": [ "Contact_read" ] }
IP-address restriction response
{ "message": "Your IP-address \"127.0.0.1\" is not allowed", "ipAddressAllowed": false, "permissionsRequired": [] }

404 NOT FOUND

A 404 NOT FOUND response will be produced when the resource URL does not exist.

GET /v1/EndpointThatDoesNotExist
[Empty]

429 TOO MANY REQUESTS

A 429 TOO MANY REQUESTS response will be produced when your access token has been requesting too many resources too fast.

Response
{ "waitInSeconds": 1 }

500 INTERNAL SERVER ERROR

A 500 INTERNAL SERVER ERROR response will be produced when something has gone wrong when processing the request.

Response
{ "message": "An unexpected error has occurred.", "requestId": "r-0fbf44e8-afb8-42be-ae69-55c8bc03311b" }

502 BAD GATEWAY | 503 SERVICE UNAVAILABLE

A 502 BAD GATEWAY and/or 503 SERVICE UNAVAILABLE responses will be produced when the API is restarting because of a hardware/software update or stopped because of a planned maintenance.

Lists, sorting and filtering

Lists

Most resources in this API has an endpoint for fetching a list of that resource. These lists are divided into pages. You control which page to fetch and optionally how many items the page should include.

Parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Basic list request
GET /v1/Core/Contacts?page=1&pageSize=25

Sorting

You can also specify what property to sort lists by. The available properties to sort by are specific to each endpoint. You can also choose in what order to perform the sort, either in ascending order (a-z, 0-9) or in descending order (z-a, 9-0).

Parameters
sortBy
string
Specifies which property of the entity to sort by.
sortOrder
string
Specifies the sorting order.
Basic sorted request
GET /v1/Core/Contacts?page=1&sortBy=name&sortOrder=ascending

Filtering

Lists can also be filtered and is done so with the
filter.{filter-name}={value} syntax. Available filters are specific to each endpoint.

Supported filter value datatypes
Datatype Example value
string mystr
integer 120
decimal 42.5
boolean false
integer array 5,21,46,231
datetime 2021-01-01 14:00:00
Basic filtered request
GET /v1/Core/Contacts?page=1&filter.query=anders&filter.tagids=42,150,6

List response

All list endpoints will return a standard list response comprised of properties which tells you where you are in the list and how much is left.

Response object
objectName
string
The name of the object.
page
required
integer
The page number that was fetched.
pageSize
required
integer
The size of the page that was fetched.
itemCount
required
integer
The number of items in the items property.
totalItemCount
required
integer
The total number of items on the server with the same filters.
totalPages
required
integer
The total number of pages given the current page size.
items
object array
The objects represented on this page.
Example list response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 0, "totalItemCount": 1, "totalPages": 1, "items": [] }

Core resources

Contacts

List contacts

Gets a list of contacts.

Required permissions
Contact_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name customerNumber created updated
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.query
string
Matches contacts where their name or customer number contains the query.
filter.phoneNumber
string
Matches contacts where their phone or cell phone number contains the query
filter.tagIds
integer array
Matches contacts whose list of tags contains the specified array of id's.
filter.createdOrUpdatedSince
datetime
Matches contacts who were created or updated since the specified date and time.
filter.contactType
string
Matches contacts who are of a specific type. Valid values are: person company
Response object
objectName
string
The name of the object.
id
required
integer
The unique identifier for this contact.
guid
string
The GUID for this contact.
name
string
The name of the contact.
phoneNumber
string
The phone number of the contact.
cellPhoneNumber
string
The cell phone number of the contact.
email
string
The email of the contact.
customerNumber
string
The customer number of the contact.
contactType
string
The type of contact. Valid values are: person company
organizationalOrSocialSecurityNumber
string
If the type of contact is person then this property represents a social security number, otherwise it represents a company's organizational number.
visitingAddress
object
The contact's visiting address
company
object
If the type of contact is person then this property represents the company that the person belongs to, otherwise it is null
parentCompany
object
If the type of contact is company then this property represents the parent company of the contact, otherwise it is null.
created
datetime utc
The date and time of which the contact was created.
lastUpdated
datetime utc
The date and time of which the contact was last updated if any.
externalId
string
An external id specified by the user that may be used to retrieve the contact.
isKycCustomer
required
boolean
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Core/Contacts
Example request
GET /v1/Core/Contacts?page=1&pageSize=10&filter.query=anders&sortBy=name&sortOrder=ascending
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "contact.list", "id": 1, "guid": null, "name": "John Doe", "phoneNumber": null, "cellPhoneNumber": null, "email": "John.doe@gmail.com", "customerNumber": "1", "contactType": "person", "organizationalOrSocialSecurityNumber": null, "visitingAddress": { "objectName": "generic.address", "streetAddress": "Trädvägen 123", "additionalAddress": null, "postalCode": "94100", "city": "Piteå", "state": "Norrbotten", "countryId": 1, "countryName": "Sverige" }, "company": { "objectName": "generic.name_id", "id": 2, "name": "My company" }, "parentCompany": null, "created": "2024-04-19 06:17:33 +00:00", "lastUpdated": null, "externalId": null, "isKycCustomer": false } ] }

Get contact

Gets a single contact.

Required permissions
Contact_Read
Parameters
id
required
integer
The id of the contact.
Response object
objectName
string
The name of the object.
id
int
The unique identifier for this contact.
name
string
The name of the contact.
customerNumber
string
The customer number of the contact.
contactType
string
The type of contact. May be either person or company.
organizationalOrSocialSecurityNumber
string
If the type of contact is person then this property represents a social security number, otherwise it represents a company's organizational number.
company
object
If the type of contact is person then this property represents the company that the person belongs to, otherwise it is null. For detailed description of properties, see id-name object.
parentCompany
object
If the type of contact is company then this property represents the parent company of the contact, otherwise it is null. For detailed description of properties, see id-name object.
isActive
boolean
Whether or not the contact is active.
email
string
The email of the contact.
invoiceEmail
string
The invoice email of the contact.
phoneNumber
string
The phone number of the contact.
cellPhoneNumber
string
The cellphone number of the contact.
importantInformation
string
Important information about the contact to be highlighted.
isSupplier
boolean
Whether or not the contact is a supplier.
isWholeSale
boolean
Whether or not the contact is a wholesaler.
isRetailer
boolean
Whether or not the contact is a retailer.
isSubContractor
boolean
Whether or not the contact is a subcontractor.
isPartner
boolean
Whether or not the contact is a partner.
isCustomer
boolean
Whether or not the contact is a customer.
useReverseBuildTax
boolean
Whether or not the contact should be billed using reversed build tax.
responsible
object
The user responsible for this contact. For detailed description of properties, see id-name object.
tags
object array
A list of tags assigned to this contact. For detailed description of properties, see id-name object.
visitingAddress
object
The contact's visiting address. For detailed description of properties, see address object.
deliveryAddress
object
The contact's delivery address. For detailed description of properties, see address object.
invoiceAddress
object
The contact's invoice address. For detailed description of properties, see address object.
created
datetime
The date and time of which the contact was created.
createdBy
object
The user who created this contact. For detailed description of properties, see id-name object.
lastUpdated
datetime
The date and time of which the contact was last updated if any.
lastUpdatedBy
object
The user who last updated this contact. For detailed description of properties, see id-name object.
Status codes
200 Ok
Indicates a successful request.
400 Bad Request
Indicates a client error. This status code will be produced if the contact could not be found.
GET /v1/Core/Contacts/:id
Example request
GET /v1/Core/Contacts/32
Response
{ "objectName": "contact.detail", "id": 32, "name": "Lotta Larsson", "customerNumber": "111", "contactType": "Person", "organizationalOrSocialSecurityNumber": "860311-7063", "company": null, "parentCompany": null, "isActive": true, "email": "lotta@familjenlarsson.se", "invoiceEmail": "", "phoneNumber": "075-9902281", "cellPhoneNumber": "0707788994", "importantInformation": "", "isSupplier": false, "isWholeSale": false, "isRetailer": false, "isSubContractor": false, "isPartner": false, "isCustomer": false, "useReverseBuildTax": false, "responsible": { "objectName": "generic.name_id", "id": 5, "name": "Jonas lindberg" }, "tags": [], "visitingAddress": { "objectName": "generic.address", "streetAddress": "Solberga", "additionalAddress": null, "postalCode": "92372", "city": null, "state": null, "countryId": 1, "countryName": "Sverige" }, "deliveryAddress": { "objectName": "generic.address", "streetAddress": "", "additionalAddress": null, "postalCode": "", "city": null, "state": null, "countryId": 1, "countryName": "Sverige" }, "invoiceAddress": { "objectName": "generic.address", "streetAddress": "", "additionalAddress": "", "postalCode": "", "city": null, "state": null, "countryId": 1, "countryName": "Sverige" }, "created": "2021-06-17 05:43:54 +00:00", "createdBy": { "objectName": "generic.name_id", "id": 5, "name": "Jonas lindberg" }, "lastUpdated": null, "lastUpdatedBy": null }

Create contact

Creates a new contact.

Required permissions
Contact_Write
Contact creation properties
name
required
string
The name of the contact.
customerNumber
string
The customer number of the contact, if provided.
contactType
required
string
The type of contact. May be either person or company.
organizationalOrSocialSecurityNumber
string
If the type of contact is person then this property represents a social security number, otherwise it represents a company's organizational number.
companyId
integer
If the type of contact is person then this property represents the Id of the company that the person belongs to, otherwise it should be null.
parentCompanyId
integer
If the type of contact is company then this property represents the Id of the parent company of the contact, otherwise it should be null.
isActive
boolean
Whether or not the contact is active.
email
string
The email of the contact.
invoiceEmail
string
The invoice email of the contact.
phoneNumber
string
The phone number of the contact.
cellPhoneNumber
string
The cellphone number of the contact.
importantInformation
string
Important information about the contact to be highlighted.
isSupplier
boolean
Whether or not the contact is a supplier.
isWholeSale
boolean
Whether or not the contact is a wholesaler.
isRetailer
boolean
Whether or not the contact is a retailer.
isSubContractor
boolean
Whether or not the contact is a subcontractor.
isPartner
boolean
Whether or not the contact is a partner.
isCustomer
boolean
Whether or not the contact is a customer.
useReverseBuildTax
boolean
Whether or not the contact should be billed using reversed build tax.
responsibleId
required
integer
The Id of the user responsible for this contact.
tags
integer array
A list of Ids to tags that this contact should have.
visitingAddress
object
The contact's visiting address. For detailed description of properties, see address object.
deliveryAddress
object
The contact's delivery address. For detailed description of properties, see address object.
invoiceAddress
object
The contact's invoice address. For detailed description of properties, see address object.
Status codes
201 Created
Indicates a successful request.
The response body will be equal to the response from Get contact.
400 Bad Request
Indicates a client error. This status code could be produced for a variety of reasons such as missing or invalid required fields, ids that point to resources that do not exist or have the appropriate permissons and so on.
POST /v1/Core/Contacts
Request body
{ "name": "Lotta Larsson", "customerNumber": "111", "contactType": "Person", "organizationalOrSocialSecurityNumber": "860311-7063", "companyId": null, "parentCompanyId": null, "isActive": true, "email": "lotta@familjenlarsson.se", "invoiceEmail": "", "phoneNumber": "075-9902281", "cellPhoneNumber": "0707788994", "importantInformation": null, "isSupplier": false, "isWholeSale": false, "isRetailer": false, "isSubContractor": false, "isPartner": false, "isCustomer": false, "useReverseBuildTax": false, "responsibleId": 15, "tagIds": [ 10, 16 ], "visitingAddress": { "streetAddress": "Solberga", "additionalAddress": null, "postalCode": "92372", "city": null, "state": null, "countryId": 1, }, "deliveryAddress": { "streetAddress": "", "additionalAddress": null, "postalCode": "", "city": null, "state": null, "countryId": 1, }, "invoiceAddress": { "streetAddress": "", "additionalAddress": "", "postalCode": "", "city": null, "state": null, "countryId": 1, } }

Update contact

Updates an existing contact.

Required permissions
Contact_Write
Parameters
id
required
integer
The id of the contact.
Contact update properties
name
required
string
The name of the contact.
customerNumber
string
The customer number of the contact. If not provided, the API will assign a customer number for this contact.
contactType
required
string
The type of contact. May be either person or company.
organizationalOrSocialSecurityNumber
string
If the type of contact is person then this property represents a social security number, otherwise it represents a company's organizational number.
companyId
integer
If the type of contact is person then this property represents the Id of the company that the person belongs to, otherwise it should be null.
parentCompanyId
integer
If the type of contact is company then this property represents the Id of the parent company of the contact, otherwise it should be null.
isActive
boolean
Whether or not the contact is active.
email
string
The email of the contact.
invoiceEmail
string
The invoice email of the contact.
phoneNumber
string
The phone number of the contact.
cellPhoneNumber
string
The cellphone number of the contact.
importantInformation
string
Important information about the contact to be highlighted.
isSupplier
boolean
Whether or not the contact is a supplier.
isWholeSale
boolean
Whether or not the contact is a wholesaler.
isRetailer
boolean
Whether or not the contact is a retailer.
isSubContractor
boolean
Whether or not the contact is a subcontractor.
isPartner
boolean
Whether or not the contact is a partner.
isCustomer
boolean
Whether or not the contact is a customer.
useReverseBuildTax
boolean
Whether or not the contact should be billed using reversed build tax.
responsibleId
required
integer
The Id of the user responsible for this contact.
tags
integer array
A list of Ids to tags that this contact should have.
visitingAddress
object
The contact's visiting address. For detailed description of properties, see address object.
deliveryAddress
object
The contact's delivery address. For detailed description of properties, see address object.
invoiceAddress
object
The contact's invoice address. For detailed description of properties, see address object.
Status codes
200 Ok
Indicates a successful request.
400 Bad Request
Indicates a client error. This status code could be produced for a variety of reasons such as missing or invalid required fields, ids that point to resources that do not exist or have the appropriate permissons and so on.
PUT /v1/Core/Contacts/:id
Example request
PUT /v1/Core/Contacts/32
Request body
{ "name": "Lotta Larsson", "customerNumber": "111", "contactType": "Person", "organizationalOrSocialSecurityNumber": "860311-7063", "companyId": null, "parentCompanyId": null, "isActive": true, "email": "lotta@familjenlarsson.se", "invoiceEmail": "", "phoneNumber": "075-9902281", "cellPhoneNumber": "0707788994", "importantInformation": null, "isSupplier": false, "isWholeSale": false, "isRetailer": false, "isSubContractor": false, "isPartner": false, "isCustomer": false, "useReverseBuildTax": false, "responsibleId": 15, "tagIds": [ 10, 16 ], "visitingAddress": { "streetAddress": "Solberga", "additionalAddress": null, "postalCode": "92372", "city": null, "state": null, "countryId": 1, }, "deliveryAddress": { "streetAddress": "", "additionalAddress": null, "postalCode": "", "city": null, "state": null, "countryId": 1, }, "invoiceAddress": { "streetAddress": "", "additionalAddress": "", "postalCode": "", "city": null, "state": null, "countryId": 1, } }

Delete contact

Deletes an existing contact.

Required permissions
Contact_Write
Parameters
id
required
integer
The id of the contact.
Status codes
200 Ok
Indicates a successful request.
400 Bad Request
Indicates a client error. This status code will be produced when the resource could not be found or if the resource could not be deleted for some reason.
DELETE /v1/Core/Contacts/:id
Example request
DELETE /v1/Core/Contacts/32

Logs

Available operations to the registry of logs are listed to the right.

List logs

Gets a list of logs.

Required permissions
Log_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: createdDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.logType
string
Matches logs of a specific type. Valid values are: project_All project_Created project_Updated project_Added_Note project_Deleted project_Mentioned project_Changed_Status project_Updated_StartDate project_Updated_EndDate project_Removed_StartDate project_Removed_EndDate
filter.createdDateFrom
datetime utc
Filter logs where the created date is greater than or equal to this date.
filter.createdDateTo
datetime utc
Filter logs where the created date is less than or equal to this date.
filter.projectId
integer
Filter logs for a specific project.
Response object
objectName
required
string
The name of the object.
id
required
integer
The unique identifier of this log.
text
string
The text of the log.
note
string
A user-written note that belongs to this log, if any.
logType
required
string
The type of log. (See definitions above)
entity
required
object
The entity that this log belongs to.
createdBy
object
The user that created this log.
createdDate
required
datetime utc
The date and time of which this log was created.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Core/Logs
Example request
GET /v1/Core/Logs?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 2, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "log.list", "id": 1, "text": "Changed status to Finished", "note": null, "logType": "Project_Changed_Status", "entity": { "entityType": "Project", "objectName": "generic.name_id", "id": 24, "name": "My project" }, "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "createdDate": "2024-04-07 03:53:33 +00:00" }, { "objectName": "log.list", "id": 2, "text": null, "note": "@johndoe you're up!", "logType": "Project_Changed_Status", "entity": { "entityType": "Project", "objectName": "generic.name_id", "id": 24, "name": "My project" }, "createdBy": { "objectName": "generic.name_id", "id": 2, "name": "Jane Doe" }, "createdDate": "2024-04-04 01:29:33 +00:00" } ] }

Offers

Available operations to the offers are listed to the right.

List offers

Gets a list of offers.

Required permissions
Offer_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: title offerNumber createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.offerNumber
integer
Filters offers which have the specified offer number. (Offers can have many versions with the same offer number)
filter.createdDateFrom
datetime utc
Filters offers where the created date is greater than or equal to this date.
filter.createdDateTo
datetime utc
Filters offers where the created date is less than or equal to this date.
filter.updatedDateFrom
datetime utc
Filters offers where the updated date is greater than or equal to this date.
filter.updatedDateTo
datetime utc
Filters offers where the updated date is less than or equal to this date.
filter.offerState
string
Matches offers which have a specific state. Valid values are: draft locked sentToCustomer openedByCustomer accepted acceptedSigned denied
filter.opportunityId
integer
Only list offers that belong to a certain opportunity.
Response object
objectName
string
The name of the object.
id
required
integer
The unique identifier for this offer.
offerNumber
integer
The number of the offer. (All versions of an offer has the same offer number)
version
integer
The version of the offer.
title
string
The title of the offer.
offerValue
required
decimal
The total value of the offer.
hasPdf
required
boolean
Whether or not the offer has a pdf.
user
required
object
The user that is responsible for this offer.
customer
object
The customer that the offer is for.
opportunity
object
The opportunity that this offer is for.
offerState
string
The state that the offer is in. Valid values are: draft locked sentToCustomer openedByCustomer accepted acceptedSigned denied
updatedDate
datetime utc
The date and time of which the offer was updated.
updatedByUser
object
The user that updated this offer.
createdDate
required
datetime utc
The date and time of which the offer was created.
createdByUser
object
The user that created this offer.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Core/Offers
Example request
GET /v1/Core/Offers?page=1&sortBy=CreatedDate&sortOrder=descending
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "offer.list", "id": 1, "offerNumber": 1, "version": 1, "title": "Lorem Ipsum", "offerValue": 10000.0, "hasPdf": true, "user": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "customer": { "objectName": "generic.name_id", "id": 1, "name": "Ipsum" }, "opportunity": null, "offerState": "SentToCustomer", "updatedDate": "2024-04-19 06:17:33 +00:00", "updatedByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "createdDate": "2024-04-19 06:17:33 +00:00", "createdByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" } } ] }

Download offer

Downloads the pdf version of the offer.

Required permissions
Offer_Read
Request parameters
offerId
required
integer
The id of the offer to download.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
If the offer could not be found or if the pdf has not been created yet.
GET /v1/Core/Offers/:offerId/Download
Example request
GET /v1/Core/Offers/1/Download

Opportunities

Available operations to the opportunities are listed to the right.

List opportunities

Gets a list of opportunities.

Required permissions
Opportunity_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: title createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.createdDateFrom
datetime utc
Filters opportunities where the created date is greater than or equal to this date.
filter.createdDateTo
datetime utc
Filters opportunities where the created date is less than or equal to this date.
filter.updatedDateFrom
datetime utc
Filters opportunities where the updated date is greater than or equal to this date.
filter.updatedDateTo
datetime utc
Filters opportunities where the updated date is less than or equal to this date.
filter.closedDateFrom
datetime
Filters opportunities where the closed date is greater than or equal to this date.
filter.closedDateTo
datetime
Filters opportunities where the closed date is less than or equal to this date.
filter.estimatedClosingDateFrom
datetime
Filters opportunities where the estimated closing date is greater than or equal to this date.
filter.estimatedClosingDateTo
datetime
Filters opportunities where the estimated closing date is less than or equal to this date.
filter.hasOffers
boolean
Only list opportunities that has any offers.
filter.opportunityStatusIds
integer array
Only list opportunities that has any of the specified statuses.
filter.opportunityTagIds
integer array
Only list opportunities that has any of the specified tags.
filter.opportunityState
string
Matches opportunities which have a specific state. Valid values are: open won lost
Response object
objectName
string
The name of the object.
id
required
integer
The unique identifier for this opportunity.
title
string
The title of the opportunity.
turnover
decimal
The expected turnover.
hasOffers
required
boolean
Whether or not the opportunity has offers.
user
required
object
The user that is responsible for this opportunity.
customer
object
The customer that the opportunity is for.
contact
object
The contact on the customer for the opportunity.
opportunityState
string
The state that the opportunity is in. Valid values are: open won lost
closedDate
datetime
The date of which the opportunity was closed as lost or won.
estimatedClosingDate
datetime
The date of which the opportunity is estimated to be closed.
closedByUser
object
The user that closed this opportunity as lost or won.
status
object
The status that this opportunity has.
updatedDate
datetime utc
The date and time of which the opportunity was updated.
updatedByUser
object
The user that updated this opportunity.
createdDate
required
datetime utc
The date and time of which the opportunity was created.
createdByUser
object
The user that created this opportunity.
tags
object array
A list of tags.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Core/Opportunities
Example request
GET /v1/Core/Opportunities?page=1&sortBy=CreatedDate&sortOrder=descending
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "opportunity.list", "id": 1, "title": "Lorem Ipsum", "turnover": 100000.0, "hasOffers": true, "user": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "customer": { "objectName": "generic.name_id", "id": 1, "name": "Ipsum" }, "contact": null, "opportunityState": "Won", "closedDate": "2024-04-19", "estimatedClosingDate": null, "closedByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "status": { "objectName": "generic.name_id", "id": 1, "name": "Lorem" }, "updatedDate": "2024-04-19 06:17:33 +00:00", "updatedByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "createdDate": "2024-04-19 06:17:33 +00:00", "createdByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "tags": [ { "objectName": "generic.tag", "id": 1, "title": "Ipsum", "color": "#41b18b" } ] } ] }

Get opportunity

Gets a single opportunity.

Required permissions
Opportunity_Read
Request parameter
opportunityId
required
integer
The id of the opportunity.
Response object
objectName
string
The name of the object.
id
required
integer
The unique identifier for this opportunity.
title
string
The title of the opportunity.
description
string
The description for the opportunity.
turnover
decimal
The expected turnover.
probability
decimal
The probability that this opportunity will be closed in percent.
hasOffers
required
boolean
Whether or not the opportunity has offers.
user
required
object
The user that is responsible for this opportunity.
customer
object
The customer that the opportunity is for.
contact
object
The contact on the customer for the opportunity.
estimatedClosingDate
datetime
The date of which the opportunity is estimated to be closed.
opportunityState
string
The state that the opportunity is in. Valid values are: open won lost
closedDate
datetime
The date of which the opportunity was closed as lost or won.
closedByUser
object
The user that closed this opportunity as lost or won.
project
object
The project created from this opportunity.
status
object
The status that this opportunity has.
updatedDate
datetime utc
The date and time of which the opportunity was updated.
updatedByUser
object
The user that updated this opportunity.
createdDate
required
datetime utc
The date and time of which the opportunity was created.
createdByUser
object
The user that created this opportunity.
tags
object array
A list of tags.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Core/Opportunities/:opportunityId
Example request
GET /v1/Core/Opportunities/1
Response
{ "objectName": "opportunity.detail", "id": 1, "title": "Lorem Ipsum", "description": null, "turnover": 100000.0, "probability": null, "hasOffers": true, "user": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "customer": { "objectName": "generic.name_id", "id": 1, "name": "Ipsum" }, "contact": null, "estimatedClosingDate": null, "opportunityState": null, "closedDate": "2024-04-19", "closedByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "project": null, "status": { "objectName": "generic.name_id", "id": 1, "name": "Lorem" }, "updatedDate": "2024-04-19 06:17:33 +00:00", "updatedByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "createdDate": "2024-04-19 06:17:33 +00:00", "createdByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "tags": [ { "objectName": "generic.tag", "id": 1, "title": "Ipsum", "color": "#41b18b" } ] }

Update opportunity

Updates an existing opportunity.

Required permissions
Opportunity_Write
Request object
title
required
string
The name of the opportunity.
description
string
The description for the opportunity
userId
required
integer
The user that is responsible for this opportunity
customerId
integer
The customer that the opportunity is for
contactId
integer
The contact on the customer for the opportunity.
turnover
decimal
The expected turnover.
estimatedClosingDate
datetime
The estimated date that the opportunity will be closed.
probability
required
integer
The probability that the opportunity will be closed.
tagIds
integer array
A list of tags that the opportunity should have.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code could be produced for a variety of reasons such as missing or invalid required fields, ids that point to resources that do not exist or have the appropriate permissons and so on.
PUT /v1/Core/Opportunities/:opportunityId
Example request
{ "title": "My opportunity", "description": "A very descriptive text about this opportunity", "userId": 15, "customerId": 3, "contactId": null, "turnover": 1000.5, "estimatedClosingDate": null, "probability": 80, "tagIds": [ 1, 5, 12 ] }

Project collections

Available operations to the registry of project collections are listed to the right.

List project collections

Gets a list of project collections.

Required permissions
ProjectCollection_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name projectNumber
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
objectName
string
The name of the object.
id
required
integer
The id of the project collection.
name
string
The name of the project collection (ProjectNumber + Title).
title
string
The title of the project collection.
projectNumber
string
The project number of the project collection.
description
string
The description of the project collection.
status
object
The status of the project collection.
type
string
The type of the project collection. Valid values are: normal absence internal
category
object
The category of the project collection.
manager
object
The manager of the project collection.
customer
object
The customer of the project collection.
finishedDate
datetime
The finished date if the project collection is finished.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Core/ProjectCollections
Example request
GET /v1/Core/ProjectCollections?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "projectcollection.list", "id": 1, "name": "26 Lorem ipsum", "title": "Lorem ipsum", "projectNumber": "26", "description": "Lorem ipsum dolor sit amit.", "status": { "objectName": "projectcollection.list.status", "id": 1, "name": "Ongoing", "isCompletedStatus": false }, "type": "Normal", "category": { "objectName": "projectcollection.list.category", "name": "Category 1", "color": "Green" }, "manager": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "customer": { "objectName": "generic.name_id", "id": 1, "name": "Ipsum" }, "finishedDate": "2021-02-01" } ] }

Get next project number in collection

Gets the next project number in the selected project collection.

Required permissions
ProjectCollection_Read
Parameters
id
required
integer
The id of the project collection.
Response object
nextProjectNumberInCollection
string
The next project number in the specified project collection.
GET /v1/Core/ProjectCollections/:id/nextProjectNumber
Example request
GET /v1/Core/ProjectCollections/123/nextProjectNumber
Response
{ "nextProjectNumberInCollection": "P001-001" }
Status codes
200 Ok
Indicates a successful request.
400 Bad Request
Indicates a client error. This status code will be produced if the contact could not be found.

Projects

List projects

Gets a list of projects.

Required permissions
Project_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: orderNumber title createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.createdDateFrom
datetime utc
Filters projects where the created date is greater than or equal to this date.
filter.createdDateTo
datetime utc
Filters projects where the created date is less than or equal to this date.
filter.updatedDateFrom
datetime utc
Filters projects where the updated date is greater than or equal to this date.
filter.updatedDateTo
datetime utc
Filters projects where the updated date is less than or equal to this date.
filter.query
string
Filters articles by project number, name, customer name, project number and project name.
filter.projectTagIds
integer array
Only list projects that has any of the specified project tags.
filter.projectCategoryIds
integer array
Only list projects that has any of the specified project category.
filter.projectStatusIds
integer array
Only list projects that has any of the specified project statuses.
filter.projectType
string
Matches projects which are of a specific type. Valid values are: ongoing fixedPrice none
Response object
objectName
string
The name of the object.
id
required
integer
The id of the project.
orderNumber
string
The order number of the project.
title
string
The title of the project.
status
object
The status of the project.
category
object
The category of the project.
salesResponsible
object
The sales person responsible for the project.
startDate
datetime
The date of which the projects starts.
endDate
datetime
The date of which the projects ends.
invoiceType
string
The type of invoicing used for this project. Valid values are: ongoing fixedPrice none
location
object
The location of the project.
projectManager
object
The user that is responsible for this project.
customer
object
The customer that this project is connected to.
projectCollection
object
The project collection that this project is connected to.
tags
object array
A list of tags.
costCenter
object
The cost center that this project is connected to, if any
createdBy
object
The user that created this project.
updatedBy
object
The user that last updated this project, if any.
created
datetime utc
The date and time of which this project was created.
updated
datetime utc
The date and time of which this project was last updated, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Core/Projects
Example request
GET /v1/Core/Projects?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "project.list", "id": 1, "orderNumber": "26", "title": "Lorem ipsum", "status": { "objectName": "project.list.status", "id": 1, "name": "Ongoing", "isCompletedStatus": false }, "category": { "objectName": "project.list.category", "id": 1, "name": "Lorem ipsum", "color": "#e3168a" }, "salesResponsible": null, "startDate": "2021-02-01", "endDate": "2022-02-15", "invoiceType": "Ongoing", "location": { "objectName": "project.list.location", "longitude": 21.48181104660036, "latitude": 65.3175658912035, "streetAddress": "Some street 123", "postalCode": "94100", "city": "Washington", "countryName": "USA" }, "projectManager": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "customer": { "objectName": "generic.name_id", "id": 1, "name": "Ipsum" }, "projectCollection": { "objectName": "projectcollection.name_id", "id": 14, "name": "Dolar sit amet", "number": "P012" }, "tags": [ { "objectName": "generic.tag", "id": 1, "title": "Ipsum", "color": "#41b18b" } ], "costCenter": { "objectName": "costcenter.name_id", "id": 123, "name": "Cost Center 123", "code": "CC123" }, "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedBy": null, "created": "2024-04-04 06:17:33 +00:00", "updated": null } ] }

Create project Beta

Creates a new project.

The created project will not have a booking project, meaning this will have to be added manually after the project is created.

All projects are created with the invoice method set to "Ongoing". This can also be altered after creation.

Required permissions
Project_Write
Request object
projectNumber
string
The project number.
title
required
string
The title of the project.
description
string
A description of the project.
contactId
required
integer
The id of the contact for whom the project is carried out.
responsibleId
required
integer
The id of the person responsible for the project.
statusId
integer
The status id specifying the status of the project. If set to null this will default to the standard status id of the account.
projectCollectionId
integer
A project collection id that the project should be a part of.
startDate
datetime utc
The project start date.
endDate
datetime utc
The project end date. Has to be after the start date.
workSiteAddress
object
An address for the project.
categoryId
integer
A category id for the project.
costCenterId
integer
The cost center where the project should be recorded.
invoiceText
string
Text that should be added as a complement to the invoice.
yourReference
string
Your reference, for example the name of the client.
ourReference
string
Our reference, for example the name of the project manager.
customerReferenceMarking
string
Customer reference marking, used for accounting purposes.
allIsMember
boolean
Whether or not all members of your organization should be part of the project, or just the responsible person specified. Default is false.
Status codes
201 CREATED
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code could be produced for a variety of reasons such as missing or invalid required fields, ids that point to resources that do not exist or have the appropriate permissons and so on.
POST /v1/Core/Projects
Example request
{ "projectNumber": "P-123", "title": "Lorem projectum", "description": "A nice description", "contactId": 1, "responsibleId": 1, "statusId": null, "projectCollectionId": null, "startDate": "2023-01-01 00:00:00", "endDate": "2023-12-31 00:00:00", "workSiteAddress": { "streetAddress": "Street 1", "postalCode": "12345", "city": "Town" }, "categoryId": null, "costCenterId": null, "invoiceText": "Text here", "yourReference": "Ref", "ourReference": "Ref", "customerReferenceMarking": "Ref", "allIsMember": false }
Response
{ "id": 1, "nextProjectNumber": "P-124" }

Update project

Updates an existing project.

Required permissions
Project_Write
Request parameter
projectId
required
integer
The id of the project.
Request object
id
required
integer
The id of the project.
title
required
string
The title of the project.
projectCollectionId
integer
The project collection id that this project should belong to.
startDate
datetime utc
This projects start date.
endDate
datetime utc
This projects end date. Has to be after StartDate.
tagIds
integer array
A list of tags that the project should have.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code could be produced for a variety of reasons such as missing or invalid required fields, ids that point to resources that do not exist or have the appropriate permissons and so on.
PUT /v1/Core/Projects/:projectId
Example request
PUT /v1/Core/Projects/32
Response
{ "id": 32, "messages": [ "Message one", "Error message" ] }

Get next project number

Gets the next suggested project number.

Required permissions
Project_Read
Response object
nextProjectNumber
string
The next suggested project number.
GET /v1/Core/Projects/nextProjectNumber
Example request
GET /v1/Core/Projects/nextProjectNumber
Response
{ "nextProjectNumber": "001" }
Status codes
200 Ok
Indicates a successful request.
400 Bad Request
Indicates a client error. This status code will be produced if the option to suggest next project number is not enabled in the admin settings.

List project comments

Gets a list of comments for a specific project.

Required permissions
Project_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.createdFrom
datetime
Only list project comments where created date is greater than or equal to this parameter.
filter.createdTo
datetime
Only list project comments where created date is less than or equal to this parameter.
filter.createdByUserIds
integer array
Only list project comments that has been created by any of the specified users.
Response object
objectName
string
The name of the object.
id
required
integer
The id of the project comment.
text
string
The text of the project comment.
createdByUser
object
The user that created this project comment.
updatedByUser
object
The user that last updated this project comment, if any.
createdDate
string
The date and time of which this project comment was created.
updatedDate
string
The date and time of which this project comment was last updated, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging or sorting parameter has an invalid value.
GET /v1/Core/Projects/:projectId/Comments
Example request
GET /v1/Core/Projects/1/Comments?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "project.comment.list", "id": 1, "text": "Lorem ipsum dolar sit amet", "createdByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedByUser": null, "createdDate": "2024-04-17 06:17:33 +00:00", "updatedDate": null } ] }

Create project comment

Creates a new project comment.

Required permissions
Project_Write
Request parameters
projectId
required
integer
The id of the project of which to add the comment.
Request object
text
required
string
The text of the comment.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code could be produced for a variety of reasons such as missing or invalid required fields, ids that point to resources that do not exist or have the appropriate permissons and so on.
POST /v1/Core/Projects/:projectId/Comments
Example request
{ "text": "Lorem ipsum dolar sit amet." }

Update project comment

Updates an existing project comment.

Required permissions
Project_Write
Request parameters
projectId
required
integer
The id of the project of which the comment belongs to.
commentId
required
integer
The id of the project comment to update.
Request object
text
required
string
The text of the comment.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code could be produced for a variety of reasons such as missing or invalid required fields, ids that point to resources that do not exist or have the appropriate permissons and so on.
PUT /v1/Core/Projects/:projectId/Comments/:commentId
Example request
{ "text": "Lorem ipsum dolar sit amet." }

Delete project comment

Deletes the specified project comment.

Required permissions
Project_Write
Request parameters
projectId
required
integer
The id of the project of which the comment belongs to.
commentId
required
integer
The id of the project comment to delete.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced when the resource could not be found or if the resource could not be deleted for some reason.
DELETE /v1/Core/Projects/:projectId/Comments/:commentId
Example request
DELETE /v1/Core/Projects/1/Comments/1

Get project time calculation

Gets a time calculation for a specific project.

Required permissions
Project_Read
Request parameters
projectId
required
integer
The id of the project of which the time calculation belongs to.
Response object
objectName
string
The name of the object.
total
decimal
Total amount of hours in calculation.
isTotal
required
boolean
Whether or not calculation type is total.
isByActivity
required
boolean
Whether or not the calculation is divided between activities.
isByActivityAndUser
required
boolean
Whether or not the calculation is divided between activities per user.
activityCalculations
object
Time calculations divided by activities, if any.
userActivityCalculations
object
Time calculations divided by activities per user, if any.
Status codes
200 OK
Indicates a succesful request.
400 BAD REQUEST
Indicates a client error.
GET /v1/Core/Projects/:projectId/TimeCalculation
Example request
GET /v1/Core/Projects/1/TimeCalculation
Response
{ "objectName": "project.calculation.detail", "total": 50.0, "isTotal": false, "isByActivity": true, "isByActivityAndUser": false, "activityCalculations": [ { "objectName": "project.calculation.byactivity", "activity": { "objectName": "generic.name_id", "id": 1, "name": "Activity 1" }, "calculation": 8.0 }, { "objectName": "project.calculation.byactivity", "activity": { "objectName": "generic.name_id", "id": 2, "name": "Activity 2" }, "calculation": 26.0 }, { "objectName": "project.calculation.byactivity", "activity": { "objectName": "generic.name_id", "id": 3, "name": "Activity 3" }, "calculation": 16.0 } ], "userActivityCalculations": null }

Task boards

Available operations to the registry of task boards are listed to the right.

List task boards

Gets a list of task boards.

Required permissions
Task_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: createdDate updatedDate name
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.query
string
Filter boards by text query.
filter.projectIds
integer array
Only list boards that are connected to the specified projects.
Response object
objectName
string
The name of the object.
id
required
integer
The id of the board
name
string
The name of the board
project
object
The project that the board is connected to, if any.
tags
object array
All the tags that can be assigned to tasks in this task board.
columns
object array
All the columns of the board.
members
object array
All the members of the board.
createdByUser
object
The user that created this board.
updatedByUser
object
The user that last updated this board, if any.
createdDate
string
The date and time of which this board was created.
updatedDate
string
The date and time of which this board was last updated, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Core/TaskBoards
Example request
GET /v1/Core/TaskBoards?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "taskboard.list", "id": 1, "name": "Sprint 2.8", "project": { "objectName": "project.name_id", "id": 15, "name": "Utvecklingsprojektet", "number": "26" }, "tags": [ { "objectName": "generic.tag", "id": 1, "title": null, "color": "#41b18b" }, { "objectName": "generic.tag", "id": 2, "title": "Bug", "color": "#f2d600" } ], "columns": [ { "objectName": "taskboard.list.column", "id": 1, "name": "Ska göras", "taskCount": 21, "createdByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedByUser": null, "createdDate": "2024-04-10 06:17:33 +00:00", "updatedDate": null }, { "objectName": "taskboard.list.column", "id": 2, "name": "Pågår", "taskCount": 7, "createdByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedByUser": null, "createdDate": "2024-04-12 06:17:33 +00:00", "updatedDate": null }, { "objectName": "taskboard.list.column", "id": 1, "name": "Klart", "taskCount": 234, "createdByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedByUser": null, "createdDate": "2024-04-11 06:17:33 +00:00", "updatedDate": null } ], "members": [ { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, { "objectName": "generic.name_id", "id": 2, "name": "Jane Doe" } ], "createdByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedByUser": null, "createdDate": "2024-04-09 06:17:33 +00:00", "updatedDate": null } ] }

Tasks

List tasks

Gets a list of tasks.

Required permissions
Task_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: createdDate title startDate endDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.from
datetime
Only list tasks that has a start date and where that start date is greater or equal to this parameter.
filter.to
datetime
Only list tasks that has a end date and where that end date is less than or equal to this parameter.
filter.memberIds
integer array
Only list tasks that has any of the specified members.
filter.createdByUserIds
integer array
Only list tasks that has been created by any of the specified users.
filter.taskIds
integer array
Only list the specified tasks.
filter.taskBoardId
integer
Only list tasks that belong to a certain task board. A special value of '-1' will list tasks that doesn't belong to a task board.
filter.taskBoardColumnId
integer
Only list tasks that belong to a certain task board column.
Response object
objectName
string
The name of the object.
id
required
integer
The id of the task.
title
string
The name of the task.
description
string
The description of the task.
completedDate
datetime utc
The date and time of which this task was completed, if any.
timeReportingEnabled
required
boolean
Whether or not time reporting is enabled on this task.
estimate
decimal
The estimated amount of hours to get this task done.
startDate
string
The date and time of which this task starts, if any.
startTime
string
endDate
string
The date and time of which this task ends, if any.
endTime
string
numberOfComments
required
integer
The total number of comments made on this task.
numberOfAttachments
required
integer
The total number of attachments uploaded to this task
numberOfChecklistPoints
required
integer
The total number of checklist items that this task has.
tags
object array
A list of tags.
members
object array
A list of members.
boardColumn
object
The board column that this task belongs to, if any.
board
object
The board that this task belongs to, if any.
project
object
The project that this task is connected to, if any.
projectCollection
object
The project collection that this task is connected to, if any.
opportunity
object
The opportunity that this task is connected to, if any.
createdByUser
object
The user that created this task.
createdDate
string
The date and time of which this task was created.
updatedDate
string
The date and time of which this task was last updated, if any.
archivedDate
datetime utc
The date and time of which this task was archived, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Core/Tasks
Example request
GET /v1/Core/Tasks?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "task.list", "id": 1, "title": "Uppgift 1", "description": "En beskrivning om vad som denna uppgift handlar om.", "completedDate": null, "timeReportingEnabled": true, "estimate": 10.5, "startDate": null, "startTime": null, "endDate": null, "endTime": null, "numberOfComments": 5, "numberOfAttachments": 3, "numberOfChecklistPoints": 14, "tags": [ { "objectName": "generic.tag", "id": 1, "title": "2.8", "color": "#41b18b" }, { "objectName": "generic.tag", "id": 2, "title": "GUI", "color": "#41b18b" } ], "members": [ { "objectName": "task.member", "userId": 1, "userName": "John Doe" }, { "objectName": "task.member", "userId": 2, "userName": "Jane Doe" } ], "boardColumn": { "objectName": "generic.name_id", "id": 1, "name": "Att göra" }, "board": { "objectName": "generic.name_id", "id": 1, "name": "Sprint 2.8" }, "project": { "objectName": "project.name_id", "id": 15, "name": "Utvecklingsprojektet", "number": "26" }, "projectCollection": null, "opportunity": null, "createdByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "createdDate": "2024-04-16 06:17:33 +00:00", "updatedDate": null, "archivedDate": null } ] }

Create task

Creates a new task.

Required permissions
Task_Write
Request object
title
required
string
The name of the task.
description
string
A description of the task.
isCompleted
boolean
Whether or not the task is completed.
timeReportingEnabled
boolean
Whether or not the time can be reported on this task.
estimate
decimal
The estimated amount of hours to get this task done.
startDate
datetime utc
The date and time of which this task starts, if any.
endDate
datetime utc
The date and time of which this task ends, if any.
tagIds
integer array
A list of tags that the task should have.
memberIds
integer array
A list of members that the task should have.
taskBoardColumnId
integer
The id of the task board column that the task should belong to.
projectId
integer
The id of the project that the task should be connected to.
isArchived
boolean
Whether or not the task should be archived.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code could be produced for a variety of reasons such as missing or invalid required fields, ids that point to resources that do not exist or have the appropriate permissons and so on.
POST /v1/Core/Tasks
Example request
{ "title": "My task", "description": "A very descriptive text about this task", "isCompleted": false, "timeReportingEnabled": true, "estimate": 26.5, "startDate": "2024-04-29 06:17:33", "endDate": null, "tagIds": [ 1, 5, 12 ], "memberIds": [ 1, 2 ], "taskBoardColumnId": 1, "projectId": 15, "isArchived": false }

Update task

Updates an existing task.

Required permissions
Task_Write
Request object
title
required
string
The name of the task.
description
string
A description of the task.
isCompleted
boolean
Whether or not the task is completed.
timeReportingEnabled
boolean
Whether or not the time can be reported on this task.
estimate
decimal
The estimated amount of hours to get this task done.
startDate
datetime utc
The date and time of which this task starts, if any.
endDate
datetime utc
The date and time of which this task ends, if any.
tagIds
integer array
A list of tags that the task should have.
memberIds
integer array
A list of members that the task should have.
taskBoardColumnId
integer
The id of the task board column that the task should belong to.
projectId
integer
The id of the project that the task should be connected to.
isArchived
boolean
Whether or not the task should be archived.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code could be produced for a variety of reasons such as missing or invalid required fields, ids that point to resources that do not exist or have the appropriate permissons and so on.
PUT /v1/Core/Tasks/:taskId
Example request
{ "title": "My task", "description": "A very descriptive text about this task", "isCompleted": false, "timeReportingEnabled": true, "estimate": 26.5, "startDate": "2024-04-29 06:17:33", "endDate": null, "tagIds": [ 1, 5, 12 ], "memberIds": [ 1, 2 ], "taskBoardColumnId": 1, "projectId": 15, "isArchived": false }

Delete task

Deletes the specified task.

Required permissions
Task_Write
Request parameters
id
required
integer
The id of the task to delete.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
If the task could not be found or if the task has time reported.
DELETE /v1/Core/Tasks/:id
Example request
DELETE /v1/Core/Tasks/1

List task comments

Gets a list of comments for a specific task.

Required permissions
Task_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: createdDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
objectName
string
The name of the object.
id
required
integer
The id of the comment.
text
string
The text of the comment.
createdByUser
object
The user that created this comment.
updatedByUser
object
The user that last updated this comment, if any.
createdDate
string
The date and time of which this comment was created.
updatedDate
string
The date and time of which this comment was last updated, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging or sorting parameter has an invalid value.
GET /v1/Core/Tasks/:taskId/Comments
Example request
GET /v1/Core/Tasks/1/Comments?page=1&sortorder=descending
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "task.comment.list", "id": 1, "text": "Lorem ipsum dolar sit amet", "createdByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedByUser": null, "createdDate": "2024-04-17 06:17:33 +00:00", "updatedDate": null } ] }

Create task comment

Creates a new task comment.

Required permissions
Task_Write
Request parameters
taskId
required
integer
The id of the task of which to add the comment.
Request object
text
required
string
The text of the comment.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code could be produced for a variety of reasons such as missing or invalid required fields, ids that point to resources that do not exist or have the appropriate permissons and so on.
POST /v1/Core/Tasks/:taskId/Comments
Example request
{ "text": "Lorem ipsum dolar sit amet." }

Update task comment

Updates an existing task comment.

Required permissions
Task_Write
Request parameters
taskId
required
integer
The id of the task of which the comment belongs to.
commentId
required
integer
The id of the task comment to update.
Request object
text
required
string
The text of the comment.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code could be produced for a variety of reasons such as missing or invalid required fields, ids that point to resources that do not exist or have the appropriate permissons and so on.
PUT /v1/Core/Tasks/:taskId/Comments/:commentId
Example request
{ "text": "Lorem ipsum dolar sit amet." }

Delete task comment

Deletes the specified task comment.

Required permissions
Task_Write
Request parameters
taskId
required
integer
The id of the task of which the comment belongs to.
commentId
required
integer
The id of the task comment to delete.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
If the task could not be found or if the task comment could not be found.
DELETE /v1/Core/Tasks/:taskId/Comments/:commentId
Example request
DELETE /v1/Core/Tasks/1/Comments/1

List task checklists

Gets a list of checklists for a specific task.

Required permissions
Task_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
objectName
string
The name of the object.
id
required
integer
The id of the checklist.
name
string
The name of the checklist.
items
object array
A list of checklist items.
createdByUser
object
The user that created the checklist.
createdDate
string
The date and time of which the checklist was created.
updatedDate
string
The date and time of which the checklist was last updated, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging or sorting parameter has an invalid value.
GET /v1/Core/Tasks/:taskId/Checklists
Example request
GET /v1/Core/Tasks/1/Checklists?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "task.checklist.list", "id": 1, "name": "Att göra", "items": [ { "objectName": "task.checklistitem.detail", "id": 1, "title": "Lorem ipsum 1", "sortOrder": 0, "completedDate": "2024-04-19 06:17:33 +00:00", "createdByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "createdDate": "2024-04-17 06:17:33 +00:00", "updatedDate": null }, { "objectName": "task.checklistitem.detail", "id": 2, "title": "Lorem ipsum 1", "sortOrder": 1, "completedDate": "2024-04-19 06:17:33 +00:00", "createdByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "createdDate": "2024-04-17 06:17:33 +00:00", "updatedDate": null } ], "createdByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "createdDate": "2024-04-17 06:17:33 +00:00", "updatedDate": null } ] }

Create task checklist

Creates a new task checklist.

Required permissions
Task_Write
Request parameters
taskId
required
integer
The id of the task of which to add the checklist.
Request object
name
required
string
The name of the checklist.
items
object array
A list of checklist items.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code could be produced for a variety of reasons such as missing or invalid required fields, ids that point to resources that do not exist or have the appropriate permissons and so on.
POST /v1/Core/Tasks/:taskId/Checklists
Example request
{ "name": "Lorem ipsum", "items": [ { "name": "Lorem ipsum dolar", "isCompleted": true }, { "name": "Lorem ipsum dolar sit", "isCompleted": false }, { "name": "Lorem ipsum dolar sit amet", "isCompleted": false } ] }

Update task checklist

Updates an existing task checklist and its items.

Required permissions
Task_Write
Request parameters
taskId
required
integer
The id of the task of which the checklist belongs to.
checklistId
required
integer
The id of the task checklist to update.
Request object
name
required
string
The new name of the checklist.
items
object array
An updated list of items. Sortorder for existing items will not change. Existing items that are excluded from this list will be deleted.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code could be produced for a variety of reasons such as missing or invalid required fields, ids that point to resources that do not exist or have the appropriate permissons and so on.
PUT /v1/Core/Tasks/:taskId/Checklists/:checklistId
Example request
{ "name": "Lorem ipsum dolar", "items": [ { "id": 1, "name": "Existing item", "isCompleted": false }, { "id": null, "name": "New item", "isCompleted": false } ] }

Delete task checklist

Deletes the specified task checklist.

Required permissions
Task_Write
Request parameters
taskId
required
integer
The id of the task of which the checklist belongs to.
checklistId
required
integer
The id of the task checklist to delete.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
If the task could not be found or if the task checklist could not be found.
DELETE /v1/Core/Tasks/:taskId/Checklists/:checklistId
Example request
DELETE /v1/Core/Tasks/1/Checklists/1

List task attachments

Gets a list of attachments for a specific task.

Required permissions
Task_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
objectName
string
The name of the object.
id
required
integer
The id of the attachment.
name
string
The name of the attachment.
type
string
The type of attachment. Can be either 'file' or 'link'.
contentType
string
Denotes the type of content if the attachment is a file.
sizeInBytes
integer
Denotes the size in bytes if the attachment is a file.
externalLinkUrl
string
A link to an external attachment. Will be null if type is file.
createdByUser
object
The user that created this attachment.
createdDate
datetime utc
The date and time of which this attachment was created.
updatedDate
datetime utc
The date and time of which this attachment was last updated, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging or sorting parameter has an invalid value.
GET /v1/Core/Tasks/:taskId/Attachments
Example request
GET /v1/Core/Tasks/1/Attachments?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 2, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "task.attachment.list", "id": 1, "name": "MyImage.png", "type": "file", "contentType": "image/png", "sizeInBytes": 12542, "externalLinkUrl": null, "createdByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "createdDate": "2024-04-17 06:17:33 +00:00", "updatedDate": null }, { "objectName": "task.attachment.list", "id": 2, "name": "Our external library", "type": "link", "contentType": null, "sizeInBytes": null, "externalLinkUrl": "https://example.com", "createdByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "createdDate": "2024-04-18 06:17:33 +00:00", "updatedDate": null } ] }

Download task attachment

Downloads the specified attachment.

Required permissions
Task_Read
Request parameters
taskId
required
integer
The id of the task of which the attachment belongs to.
attachmentId
required
integer
The id of the task attachment to download.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
If the task could not be found or if the task attachment could not be found.
GET /v1/Core/Tasks/:taskId/Attachments/:attachmentId/Download
Example request
GET /v1/Core/Tasks/1/Attachments/1/Download

Create task attachment

Creates a new task attachment.

Required permissions
Task_Write
Request parameters
taskId
required
integer
The id of the task of which to add the attachment.
Request object
name
string
The name of the attachment.
externalUrl
string
The link to the external attachment (if the attachment type is link).
externalUrlType
string
The type of external attachment (if the attachment type is link). Valid values are: googleDrive dropbox oneDrive
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code could be produced for a variety of reasons such as missing or invalid required fields, ids that point to resources that do not exist or have the appropriate permissons and so on.
POST /v1/Core/Tasks/:taskId/Attachments
Request example
Content-Type: multipart/form-data; boundary=---------------------------41184676334 Content-Length: 29278 -----------------------------41184676334 Content-Disposition: form-data; name="name" My image -----------------------------41184676334 Content-Disposition: form-data; name="file"; filename="myimage.png" Content-Type: image/jpeg (Binary data not shown) -----------------------------41184676334--

Update task attachment

Updates an existing task attachment.

Required permissions
Task_Write
Request parameters
taskId
required
integer
The id of the task of which the attachment belongs to.
attachmentId
required
integer
The id of the task attachment to update.
Request object
name
required
string
The new name of the attachment.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code could be produced for a variety of reasons such as missing or invalid required fields, ids that point to resources that do not exist or have the appropriate permissons and so on.
PUT /v1/Core/Tasks/:taskId/Attachments/:attachmentId
Example request
{ "name": "My updated attachment" }

Delete task attachment

Deletes the specified task attachment.

Required permissions
Task_Write
Request parameters
taskId
required
integer
The id of the task of which the attachment belongs to.
attachmentId
required
integer
The id of the task attachment to delete.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
If the task could not be found or if the task attachment could not be found.
DELETE /v1/Core/Tasks/:taskId/Attachments/:attachmentId
Example request
DELETE /v1/Core/Tasks/1/Attachments/1

Vacation requests

Available operations to the vacation requests are listed to the right.

List vacation requests

Gets a list of vacation requests.

Required permissions
VacationRequest_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: fromDate toDate createdDate updatedDate attestedDate deniedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.createdDateFrom
datetime utc
Filters vacation requests where the created date is greater than or equal to this date.
filter.createdDateTo
datetime utc
Filters vacation requests where the created date is less than or equal to this date.
filter.updatedDateFrom
datetime utc
Filters vacation requests where the updated date is greater than or equal to this date.
filter.updatedDateTo
datetime utc
Filters vacation requests where the updated date is less than or equal to this date.
filter.fromDate
datetime utc
Filters vacation requests where the from date is greater than or equal to this date.
filter.toDate
datetime utc
Filters vacation requests where the to date is less than or equal to this date.
filter.userIds
integer array
Only list vacation requests that has any of the specified users.
filter.departmentIds
integer array
Only list vacation requests that has users in the specified departments.
filter.managerIds
integer array
Only list vacation requests that has any of the specified managers.
filter.absenceIds
integer array
Only list vacation requests that has any of the specified absence projects.
filter.vacationStatus
string
Matches vacation request which have a specific status. Valid values are: attested awaitingAttest denied
Response object
objectName
string
The name of the object.
id
required
integer
The unique identifier for this vacation request.
user
required
object
The user that this vacation request belongs to.
fromDate
required
datetime utc
The date vacation will start.
toDate
datetime utc
The date vacation will end.
hours
required
decimal
The number of hours.
description
string
The description from the user that sent the vacation request.
absenceProject
required
object
The absence project that this vacation request is connected to.
attestedDate
datetime utc
The date and time of which the vacation request was attested.
attestedByUser
object
The user that attested this vacation request.
deniedDate
datetime utc
The date and time of which the vacation request was denied.
deniedByUser
object
The user that denied this vacation request.
updatedDate
datetime utc
The date and time of which the vacation request was updated.
updatedByUser
object
The user that updated this vacation request.
createdDate
required
datetime utc
The date and time of which the vacation request was created.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Core/VacationRequests
Example request
GET /v1/Core/VacationRequests?page=1&pageSize=10&sortBy=fromDate&sortOrder=ascending
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "vacationrequest.list", "id": 1, "user": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "fromDate": "2024-04-19", "toDate": "2024-04-20", "hours": 8.0, "description": null, "absenceProject": { "objectName": "generic.name_id", "id": 1, "name": "Semester" }, "attestedDate": "2024-04-19 06:17:33 +00:00", "attestedByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "deniedDate": null, "deniedByUser": null, "updatedDate": "2024-04-19 06:17:33 +00:00", "updatedByUser": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "createdDate": "2024-04-19 06:17:33 +00:00" } ] }

Material reports

Available operations to the registry of material reports are listed to the right.

List material reports

Gets a list of material reports.

Required permissions
MaterialReport_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: sortOrder articleNumber title createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.createdDateFrom
datetime utc
Filters material reports where the created date is greater than or equal to this date.
filter.createdDateTo
datetime utc
Filters material reports where the created date is less than or equal to this date.
filter.updatedDateFrom
datetime utc
Filters material reports where the updated date is greater than or equal to this date.
filter.updatedDateTo
datetime utc
Filters material reports where the updated date is less than or equal to this date.
filter.query
string
Filter material reports which article number or title contains the query.
filter.onlyText
boolean
Filter material reports that represents text only or not.
filter.onlyInvoiced
boolean
Filter material reports that invoiced only or not.
filter.projectId
integer
Filter material reports that belongs to a specific project.
filter.timeReportId
integer
Filter material reports that belongs to a specific time report.
Response object
objectName
string
The name of the object.
id
required
integer
The unique identifier of this material report.
sortOrder
required
integer
The default position of the material report when creating an invoice specification.
articleNumber
string
The article number.
title
string
The title.
consumedUnits
decimal
The number of units consumed.
invoiceableUnits
decimal
The number of units to invoice.
unitText
string
The unit text.
costPerUnit
decimal
The cost per unit.
pricePerUnit
decimal
The price per unit excluding VAT.
discountPercentage
decimal
The discount in percent for the total amount.
vatPercentage
decimal
The VAT in percent.
totalAmount
decimal
The total amount excluding VAT.
toBeInvoiced
required
boolean
Whether or not the material report should be invoiced.
invoiceId
integer
The id of the invoice that contains this material report.
invoicedDate
datetime utc
The date that this material report was invoiced.
invoiceDraftId
integer
The id of the invoice draft that contains this material report.
timeReportId
integer
The id of the time report that this material report belongs to, if any.
isTextOnly
required
boolean
Whether or not the material report represents text only.
article
object
The article that this material report is connected to.
costCenter
object
The cost center that this material report is connected to.
bookingProject
object
The booking project that this material report is connected to.
project
required
object
The project that this material report belongs to.
createdDate
required
datetime utc
The date and time of which the material report was created.
createdBy
required
object
The user that created the material report.
updatedDate
datetime utc
The date and time of which the material report was last updated.
updatedBy
object
The user that last updated the material report.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging or sorting parameter has an invalid value.
GET /v1/Core/MaterialReports
Example request
GET /v1/Core/MaterialReports?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "materialreport.list", "id": 1, "sortOrder": 0, "articleNumber": "PP01", "title": "My article", "consumedUnits": 1.0, "invoiceableUnits": 2.0, "unitText": "pcs", "costPerUnit": 200.0, "pricePerUnit": 250.0, "discountPercentage": 10.0, "vatPercentage": 25.0, "totalAmount": 450.0, "toBeInvoiced": true, "invoiceId": 560, "invoicedDate": null, "invoiceDraftId": null, "timeReportId": null, "isTextOnly": false, "article": { "objectName": "generic.name_id", "id": 12, "name": "My article" }, "costCenter": { "objectName": "generic.name_id", "id": 1, "name": "IT Department" }, "bookingProject": { "objectName": "generic.name_id", "id": 1, "name": "BP 1" }, "project": { "objectName": "project.name_id", "id": 1, "name": "My project", "number": "123" }, "createdDate": "2024-04-04 03:53:33 +00:00", "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedDate": "2024-04-16 00:46:21 +00:00", "updatedBy": null } ] }

Payment plans

Available operations to the registry of payment plans are listed to the right.

List payment plans

Gets a list of payment plans.

Required permissions
Paymentplan_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: description createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.batchId
string
Filters payment plans to a specific batch.
filter.createdDateFrom
datetime utc
Filters payment plans where the created date is greater than or equal to this date.
filter.createdDateTo
datetime utc
Filters payment plans where the created date is less than or equal to this date.
filter.updatedDateFrom
datetime utc
Filters payment plans where the updated date is greater than or equal to this date.
filter.updatedDateTo
datetime utc
Filters payment plans where the updated date is less than or equal to this date.
filter.projectId
integer
Filters payment plans to a specific project.
Response object
objectName
string
The name of the object.
id
required
integer
The unique identifier of this payment plan.
articleNumber
string
The article number, if any.
description
string
A brief description about the payment plan, if any.
price
required
decimal
The price of this payment plan.
units
required
decimal
The number of payment plans.
batchId
string
The key for a group of payment plans, if any.
date
datetime
The date of which the payment plan should be invoiced, if any.
invoiceId
integer
The id of the invoice that contains this payment plan.
invoicedDate
datetime utc
The date that this payment plan was invoiced.
invoiceDraftId
integer
The id of the invoice draft that contains this payment plan.
article
object
The article that this payment plan is connected to, if any.
project
required
object
The project that this payment plan belongs to.
createdDate
required
datetime utc
The date and time of which the payment plan was created.
createdBy
required
object
The user that created the payment plan.
updatedDate
datetime utc
The date and time of which the payment plan was last updated, if any.
updatedBy
object
The user that last updated the payment plan, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging or sorting parameter has an invalid value.
GET /v1/Core/Paymentplans
Example request
GET /v1/Core/Paymentplans?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 2, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "paymentplan.list", "id": 1, "articleNumber": "PP01", "description": "Installation + material", "price": 12000.0, "units": 1.0, "batchId": "c5816c0a-6145-4de2-9e7d-ea8187eb3a43", "date": "2024-04-17", "invoiceId": 560, "invoicedDate": null, "invoiceDraftId": null, "article": { "objectName": "generic.name_id", "id": 12, "name": "My article" }, "project": { "objectName": "project.name_id", "id": 1, "name": "My project", "number": "123" }, "createdDate": "2024-04-04 03:53:33 +00:00", "createdBy": null, "updatedDate": "2024-04-16 00:46:21 +00:00", "updatedBy": null }, { "objectName": "paymentplan.list", "id": 2, "articleNumber": "PP01", "description": "Additional installations", "price": 9000.0, "units": 1.0, "batchId": "2d526da5-a909-3549-204e-ad38335ffb85", "date": "2024-06-03", "invoiceId": null, "invoicedDate": null, "invoiceDraftId": null, "article": null, "project": { "objectName": "project.name_id", "id": 1, "name": "My project", "number": "123" }, "createdDate": "2024-03-31 06:17:33 +00:00", "createdBy": null, "updatedDate": null, "updatedBy": null } ] }

Supplier invoices

Available operations to the registry of supplier invoices are listed to the right.

List supplier invoices

Gets a list of supplier invoices.

Required permissions
SupplierInvoice_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: invoiceNumber invoiceDate totalAmount invoiceCostAddition cost createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.query
string
Filters supplier invoices by invoice number and title.
filter.invoiceDateFrom
datetime
Filters supplier invoices where the invoice date is greater than or equal to this date.
filter.invoiceDateTo
datetime
Filters supplier invoices where the invoice date is less than or equal to this date.
filter.createdDateFrom
datetime utc
Filters supplier invoices where the created date is greater than or equal to this date.
filter.createdDateTo
datetime utc
Filters supplier invoices where the created date is less than or equal to this date.
filter.updatedDateFrom
datetime utc
Filters supplier invoices where the updated date is greater than or equal to this date.
filter.updatedDateTo
datetime utc
Filters supplier invoices where the updated date is less than or equal to this date.
filter.projectId
integer
Filters supplier invoices for a specific project.
filter.supplierId
integer
Filters supplier invoices for a specific supplier (Contact marked as 'Supplier').
Response object
objectName
required
string
The name of the object.
id
required
integer
The id of the supplier invoice.
invoiceNumber
string
The invoice number of the supplier invoice.
invoiceDate
string
The invoice date of the supplier invoice.
title
required
string
The title of the supplier invoice.
description
string
The description of the supplier invoice.
externalHours
decimal
The number of external hours that this supplier invoice represents.
totalAmount
decimal
The total amount the supplier invoice.
invoiceCostAddition
decimal
An optional addition to the cost when invoicing the supplier invoice.
cost
decimal
The cost of the supplier invoice.
ocrNumber
string
The OCR number of the supplier invoice.
toBeInvoiced
required
boolean
Whether to invoice the supplier invoice or not.
invoiceId
integer
The id of the invoice that contains this supplier invoice.
invoicedDate
datetime utc
The date that this supplier invoice was invoiced.
invoiceDraftId
integer
The id of the invoice draft that contains this supplier invoice.
supplier
object
The supplier that this supplier invoice came from.
project
required
object
The project that the supplier invoice belongs to.
createdBy
object
The user that created this supplier invoice.
updatedBy
object
The user that last updated this supplier invoice, if any.
createdDate
required
datetime utc
The date and time of which this supplier invoice was created.
updatedDate
datetime utc
The date and time of which this supplier invoice was last updated, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Core/SupplierInvoices
Example request
GET /v1/Core/SupplierInvoices?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "supplierInvoice.list", "id": 1, "invoiceNumber": "11232", "invoiceDate": "2024-04-06", "title": "Construction time spent", "description": "A brief description.", "externalHours": 2.0, "totalAmount": 1100.0, "invoiceCostAddition": 100.0, "cost": 1000.0, "ocrNumber": "1234567890", "toBeInvoiced": true, "invoiceId": null, "invoicedDate": null, "invoiceDraftId": null, "supplier": { "objectName": "generic.name_id", "id": 44, "name": "Builders Inc." }, "project": { "objectName": "project.name_id", "id": 123, "name": "My project", "number": "213" }, "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedBy": { "objectName": "generic.name_id", "id": 2, "name": "Jane Doe" }, "createdDate": "2024-04-07 03:53:33 +00:00", "updatedDate": "2024-04-18 00:46:21 +00:00" } ] }

Time reports

List time reports

Gets a list of time reports.

Required permissions
Timereport_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: date userName hours invoiceableHours sentToAttestDate attestedDate createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.createdDateFrom
datetime utc
Filters time reports where the created date is greater than or equal to this date.
filter.createdDateTo
datetime utc
Filters time reports where the created date is less than or equal to this date.
filter.updatedDateFrom
datetime utc
Filters time reports where the updated date is greater than or equal to this date.
filter.updatedDateTo
datetime utc
Filters time reports where the updated date is less than or equal to this date.
filter.from
datetime
Filter time reports where Date is greater than or equal to this.
filter.to
datetime
Filter time reports where Date is lower than or equal to this.
filter.userIds
integer array
Filter all time reports that belongs to this list of users.
filter.projectId
integer
Filter time reports that are registered to a specific project.
filter.internalProjectId
integer
Filter time reports that are registered to a specific internal project.
filter.absenceProjectId
integer
Filter time reports that are registered to a specific absence project.
filter.contactId
integer
Filter time reports that are connected to this contact.
filter.activityId
integer
Filter time reports that are of the specified activity type
filter.isSentToAttest
boolean
Filter time reports that are/are not sent to attest.
filter.isAttested
boolean
Filter time reports that are/are not attested.
filter.projectType
string
Filter time reports which are registered to a certain type of project. Valid values are: project internalProject absenceProject
filter.hasAdditions
boolean
Filter time reports that have additions reports.
filter.hasEquipment
boolean
Filter time reports that have equipment reports.
filter.hasAllowanceReports
boolean
Filter time reports that have allowance reports.
filter.hasTravelReports
boolean
Filter time reports that have travel reports.
Response object
objectName
string
The name of the object.
id
required
integer
The unique identifier of this time report.
date
required
datetime
The date that this time report represents.
clockStart
string
Represents the start time of this time report.
clockEnd
string
Represents the end time of this time report.
hours
required
decimal
The number of hours.
invoiceableHours
required
decimal
The number of invoiceable hours.
breakMinutes
integer
The number of minutes that was spent on break. The 'Hours' field will be deducted by the amount of break minutes.
cost
decimal
The cost per hour.
rate
decimal
The invoiceable hourly rate.
discount
decimal
The invoiceable discount in percent per hour.
comment
string
A comment about this time report that the customer may see.
internalComment
string
A internal comment about this time report that the customer won't see.
sentToAttestDate
datetime utc
The date that this time report was sent to attest.
attestedDate
datetime utc
The date that this time report was attested.
user
required
object
The user that this time report belongs to.
project
object
The project that this time report is connected to.
internalProject
object
The internal project that this time report is connected to.
absenceProject
object
The absence project that this time report is connected to.
contact
required
object
The contact that the project of the time report is connected to.
activity
required
object
The activity of the time report.
timeCode
required
object
The time code of the time report.
timeArticle
required
object
The time article of the time report.
costCenter
object
The cost center that this time report is connected to.
invoiceId
integer
The Id of the invoice that this time report is included on.
invoicedDate
datetime utc
The date that this time report was invoiced.
invoiceDraftId
integer
The id of the invoice draft that contains this time report.
travelReportId
integer
The Id of the travel report connected to this time report.
allowanceReportId
integer
The Id of the allowance report connected to this time report.
createdDate
required
datetime utc
The date and time of which the time report was created.
updatedDate
datetime utc
The date and time of which the time report was last updated.
hasAdditions
required
boolean
Whether the time report has addition reports or not.
hasEquipment
required
boolean
Whether the time report has eqipment reports or not.
createdBy
object
The user that created the time report.
updatedBy
object
The user that last updated the time report.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Core/TimeReports
Example request
GET /v1/Core/TimeReports?page=1&filter.from=2021-10-01&filter.to=2021-10-31&sortOrder=ascending
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "timereport.list", "id": 270, "date": "2021-08-30", "clockStart": "07:00", "clockEnd": "17:00", "hours": 8.0, "invoiceableHours": 7.0, "breakMinutes": 60, "cost": 200.0, "rate": 500.0, "discount": null, "comment": "A comment that is visible on the invoice", "internalComment": "A comment that is not visible on the invoice", "sentToAttestDate": "2021-09-15 07:02:16 +00:00", "attestedDate": "2021-09-15 07:10:18 +00:00", "user": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "project": { "objectName": "project.name_id", "id": 19, "name": "Maintenance", "number": "12" }, "internalProject": null, "absenceProject": null, "contact": { "objectName": "generic.name_id", "id": 87, "name": "Microsoft" }, "activity": { "objectName": "generic.name_id", "id": 34, "name": "Project management" }, "timeCode": { "objectName": "generic.name_id", "id": 16, "name": "Normal" }, "timeArticle": { "objectName": "generic.name_id", "id": 49, "name": "Work hours" }, "costCenter": { "objectName": "generic.name_id", "id": 460, "name": "Center" }, "invoiceId": 16012, "invoicedDate": null, "invoiceDraftId": null, "travelReportId": 15747, "allowanceReportId": 314, "createdDate": "2021-09-15 05:02:04 +00:00", "updatedDate": "2021-10-09 12:44:07 +00:00", "hasAdditions": false, "hasEquipment": true, "createdBy": { "objectName": "generic.name_id", "id": 6, "name": "John Doe" }, "updatedBy": { "objectName": "generic.name_id", "id": 1416, "name": "Derek Johnson" } } ] }

Get time report

Gets a single time report.

Required permissions
Timereport_Read
Request parameters
id
required
integer
The unique identifier of this time report.
Response object
objectName
string
The name of the object.
id
required
integer
The unique identifier of this time report.
date
required
datetime
The date that this time report represents.
clockStart
string
Represents the start time of this time report.
clockEnd
string
Represents the end time of this time report.
hours
required
decimal
The number of hours.
invoiceableHours
required
decimal
The number of invoiceable hours.
breakMinutes
integer
The number of minutes that was spent on break. The 'Hours' field will be deducted by the amount of break minutes.
cost
decimal
The cost per hour.
rate
decimal
The invoiceable hourly rate.
discount
decimal
The invoiceable discount in percent per hour.
comment
string
A comment about this time report that the customer may see.
internalComment
string
A internal comment about this time report that the customer won't see.
sentToAttestDate
datetime utc
The date that this time report was sent to attest.
attestedDate
datetime utc
The date that this time report was attested.
attestedByUser
object
The user that attested this time report.
user
required
object
The user that this time report belongs to.
contact
required
object
The contact that the project of the time report is connected to.
project
object
The project that this time report is connected to.
internalProject
object
The internal project that this time report is connected to.
absenceProject
object
The absence project that this time report is connected to.
activity
required
object
The activity of the time report.
timeCode
required
object
The time code of the time report.
timeArticle
required
object
The time article of the time report.
costCenter
object
The cost center that this time report is connected to.
bookingProject
object
The booking project that this time report is connected to.
invoiceId
integer
The Id of the invoice that this time report is included on.
invoicedDate
datetime utc
The date that this time report was invoiced.
invoiceDraftId
integer
The id of the invoice draft that contains this time report.
task
object
The task that this time report was reported on.
travelReport
object
The travel report connected to this time report.
allowanceReport
object
The allowance report connected to this time report.
materials
object
A list of materials that was reported together with this time report.
equipments
object
A list of equipments that was reported together with this time report.
additions
object
A list of additions that was reported together with this time report.
createdDate
required
datetime utc
The date and time of which the time report was created.
updatedDate
datetime utc
The date and time of which the time report was last updated.
GET /v1/Core/TimeReports/:id
Example request
GET /v1/Core/TimeReports/707
Response
{ "objectName": "timereport.detail", "id": 270, "date": "2021-08-30", "clockStart": null, "clockEnd": null, "hours": 8.0, "invoiceableHours": 7.0, "breakMinutes": null, "cost": 200.0, "rate": 500.0, "discount": null, "comment": "A comment that is visible on the invoice", "internalComment": "A comment that is not visible on the invoice", "sentToAttestDate": "2021-09-15 07:02:16 +00:00", "attestedDate": "2021-09-15 07:10:18 +00:00", "attestedByUser": null, "user": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "contact": { "objectName": "generic.name_id", "id": 87, "name": "Microsoft" }, "project": { "objectName": "project.name_id", "id": 19, "name": "Maintenance", "number": "12" }, "internalProject": null, "absenceProject": null, "activity": { "objectName": "generic.name_id", "id": 34, "name": "Project management" }, "timeCode": { "objectName": "generic.name_id", "id": 16, "name": "Normal" }, "timeArticle": { "objectName": "generic.name_id", "id": 49, "name": "Work hours" }, "costCenter": null, "bookingProject": null, "invoiceId": null, "invoicedDate": null, "invoiceDraftId": null, "task": null, "travelReport": null, "allowanceReport": null, "materials": [], "equipments": [], "additions": [], "createdDate": "2021-09-15 05:02:04 +00:00", "updatedDate": null }
Object "timereport.detail.travelreport"
objectName
string
The name of the object.
id
required
integer
The unique identifier for this travel report.
place
string
Where the reportee went. Will not show up on invoice.
invoicablePlace
string
Where the reportee went. Will show up on invoice.
distance
required
decimal
The distance in kilometers that was covered.
invoicableDistance
decimal
The invoiceable distance in kilometers that was covered.
toSalary
required
boolean
Whether or not the travel should be payed back to the user.
toBeInvoiced
required
boolean
Whether or not the travel should be included when invoiceing the customer.
cost
decimal
The internal cost of this travel report per distance traveled.
rate
decimal
The price per invoiceable distance unit.
discount
decimal
The discount per invoiceable distance unit in percent.
sentToAttestDate
datetime utc
The date and time of when this travel report was sent in for review.
attestedDate
datetime utc
The date and time of when this travel report was attested.
costCenter
object
The cost center that this travel report is connected to.
bookingProject
object
The booking project that this travel report is connected to.
invoiceId
integer
The id of the invoice that this travel report is included on.
invoicedDate
datetime utc
The date that this travel report was invoiced.
invoiceDraftId
integer
The id of the invoice draft that contains this travel report.
companyCar
object
The company car that was used for the travel.
article
object
The article of the travel report.
Object "timereport.detail.travelreport"
{ "objectName": "timereport.detail.travelreport", "id": 270, "place": "piteå-luleå-piteå", "invoicablePlace": "piteå-luleå-piteå", "distance": 100.0, "invoicableDistance": 150.0, "toSalary": true, "toBeInvoiced": true, "cost": 10.0, "rate": 15.0, "discount": null, "sentToAttestDate": null, "attestedDate": null, "costCenter": { "objectName": "generic.name_id", "id": 3, "name": "Cost center 3" }, "bookingProject": { "objectName": "generic.name_id", "id": 2, "name": "BP 2" }, "invoiceId": null, "invoicedDate": null, "invoiceDraftId": null, "companyCar": null, "article": null }
Object "timereport.detail.travelreport.companycar"
objectName
string
The name of the object.
id
required
integer
The unique identifier for this company car.
name
required
string
The name of the company car.
tripStart
decimal
The trip meter of the car before the travel.
tripEnd
decimal
The trip meter of the car after the travel.
addressStart
string
The address of which the car started its travel.
addressGoal
string
The address goal.
addressEnd
string
The address of which the car ended its travel.
Object "timereport.detail.travelreport.companycar"
{ "objectName": "timereport.detail.travelreport.companycar", "id": 12, "name": "Company car #1", "tripStart": 15000.0, "tripEnd": 15250.0, "addressStart": "My street 123, My city", "addressGoal": "My street 321, Another city", "addressEnd": "My street 123, My city" }
Object "timereport.detail.allowancereport"
objectName
string
The name of the object.
id
required
integer
The unique identifier for this allowance report.
description
string
The description of the allowance report.
cost
decimal
The internal cost of the allowance report.
amount
decimal
The rate of this allowance report.
invoicableAmount
decimal
The invoiceable rate of this allowance report.
discount
decimal
The discount of the invoiceable rate in percent.
invoicableSpecification
required
string
The name of the allowance.
toBeInvoiced
required
boolean
Whether or not this allowance should be invoiced.
sentToAttestDate
datetime utc
The date and time of when this allowance report was sent in for review.
attestedDate
datetime utc
The date and time of when this allowance report was attested.
costCenter
object
The cost center that this time report is connected to.
bookingProject
object
The booking project that this time report is connected to.
invoiceId
integer
The id of the invoice that this allowance report is included in.
invoicedDate
datetime utc
The date that this allowance report was invoiced.
invoiceDraftId
integer
The id of the invoice draft that contains this allowance report.
article
object
The article of the allowance report.
Object "timereport.detail.allowancereport"
{ "objectName": "timereport.detail.allowancereport", "id": 12, "description": "Lunch", "cost": 200.0, "amount": 250.0, "invoicableAmount": 250.0, "discount": null, "invoicableSpecification": "Whole day", "toBeInvoiced": false, "sentToAttestDate": null, "attestedDate": null, "costCenter": { "objectName": "generic.name_id", "id": 3, "name": "Cost center 3" }, "bookingProject": { "objectName": "generic.name_id", "id": 2, "name": "BP 2" }, "invoiceId": null, "invoicedDate": null, "invoiceDraftId": null, "article": null }
Object "timereport.detail.materialreport"
objectName
string
The name of the object.
id
required
integer
The unique identifier for this material report.
title
string
The title of the material report.
units
required
decimal
The number of units.
costPerUnit
decimal
The internal cost per unit.
discountInPercent
decimal
The discount per unit in percent.
invoicableUnits
decimal
The number of invoiceable units.
unitPrice
required
decimal
The price per unit.
invoicableUnitPrice
decimal
The invoiceable price per unit.
taxPercent
required
decimal
The percentage of tax per unit.
amount
required
decimal
The total amount for this material report.
invoicableAmount
decimal
The total invoiceable amount for this material report.
cost
decimal
The internal cost per unit.
calculatedUnits
decimal
The estimated number of units.
tax
required
decimal
The total amount of tax for this material report.
toBeInvoiced
required
boolean
Whether or not this material report should be invoiced.
article
object
The article in the article registry that this material report represents
unitText
string
The display name of the unit.
invoicableUnitText
string
The display name of the unit when invoiceing.
isRotRut
required
boolean
Whether or not this material report is swedish ROT or RUT.
invoiceId
integer
The id of the invoice that this material report is included in.
invoicedDate
datetime utc
The date that this material report was invoiced.
invoiceDraftId
integer
The id of the invoice draft that contains this material report.
articleNumber
string
The article number.
costCenter
object
The cost center that this time report is connected to.
bookingProject
object
The booking project that this time report is connected to.
Object "timereport.detail.materialreport"
{ "objectName": "timereport.detail.materialreport", "id": 12, "title": "Breaker bar", "units": 2.0, "costPerUnit": 100.0, "discountInPercent": null, "invoicableUnits": null, "unitPrice": 125.0, "invoicableUnitPrice": 125.0, "taxPercent": 25.0, "amount": 250.0, "invoicableAmount": 250.0, "cost": 200.0, "calculatedUnits": null, "tax": 62.5, "toBeInvoiced": true, "article": { "objectName": "generic.name_id", "id": 24, "name": "Breaker bar" }, "unitText": "pcs", "invoicableUnitText": "pcs", "isRotRut": false, "invoiceId": null, "invoicedDate": null, "invoiceDraftId": null, "articleNumber": "0012", "costCenter": { "objectName": "generic.name_id", "id": 3, "name": "Cost center 3" }, "bookingProject": { "objectName": "generic.name_id", "id": 2, "name": "BP 2" } }
Object "timereport.detail.equipmentreport"
objectName
string
The name of the object.
id
required
integer
The unique identifier for this equipment report.
hours
required
decimal
The number of hours that this equipment was used.
cost
decimal
The internal cost of the equipment per hour.
rate
decimal
The rate of the equipment per hour.
invoicableRate
decimal
The invoiceable rate of the equipment per hour.
invoicableHours
required
decimal
The number of invoiceable hours.
article
required
object
The article in the article registry that this equipment report refers to.
invoiceId
integer
The id of the invoice that this equipment report is included in.
invoicedDate
datetime utc
The date that this equipment report was invoiced.
invoiceDraftId
integer
The id of the invoice draft that contains this equipment report.
discount
decimal
The discount per invoiceable hour in percent.
comment
string
A comment about what the time was spent on doing.
costCenter
object
The cost center that this equipment report is connected to.
bookingProject
object
The booking project that this equipment report is connected to.
Object "timereport.detail.equipmentreport"
{ "objectName": "timereport.detail.equipmentreport", "id": 12, "hours": 5.0, "cost": 20.0, "rate": 30.0, "invoicableRate": 40.0, "invoicableHours": 5.0, "article": { "objectName": "generic.name_id", "id": 45, "name": "Jackhammer" }, "invoiceId": null, "invoicedDate": null, "invoiceDraftId": null, "discount": null, "comment": "Used the jackhammer to obliterate a concrete slab.", "costCenter": { "objectName": "generic.name_id", "id": 3, "name": "Cost center 3" }, "bookingProject": { "objectName": "generic.name_id", "id": 2, "name": "BP 2" } }
Object "timereport.detail.additionreport"
objectName
string
The name of the object.
id
required
integer
The unique identifier for this addition report.
salaryCount
decimal
The number of units that will be counted towards the users salary.
invoicableCount
decimal
The number of units that will be invoiced.
cost
decimal
The internal cost per salary count.
invoicablePrice
decimal
The invoiceable price per invoiceable count.
discount
decimal
The discount per invoiceable count in percent.
invoiceId
integer
The Id of the invoice that this addition report is included on.
invoicedDate
datetime utc
The date that this addition report was invoiced.
invoiceDraftId
integer
The id of the invoice draft that contains this addition report.
article
required
object
The article in the article registry that this addition report refers to.
costCenter
object
The cost center that this addition report is connected to.
bookingProject
object
The booking project that this addition report is connected to.
Object "timereport.detail.additionreport"
{ "objectName": "timereport.detail.additionreport", "id": 12, "salaryCount": 2.0, "invoicableCount": 2.0, "cost": 20.0, "invoicablePrice": 400.0, "discount": null, "invoiceId": null, "invoicedDate": null, "invoiceDraftId": null, "article": { "objectName": "generic.name_id", "id": 78, "name": "Night time" }, "costCenter": { "objectName": "generic.name_id", "id": 3, "name": "Cost center 3" }, "bookingProject": { "objectName": "generic.name_id", "id": 2, "name": "BP 2" } }
Status codes
200 Ok
Indicates a successful request.
400 Bad Request
Indicates a client error. This status code will be produced if the contact could not be found.

Create time report

Creates a new time report.

Required permissions
Timereport_Write
Request object
date
required
datetime
The date of which this time report represents.
clockStart
string
Which time of day this time report started. Format is "hh:mm" (24-hour clock).
clockEnd
string
Which time of day this time report ended. Format is "hh:mm" (24-hour clock).
hours
required
decimal
The number of hours.
invoiceableHours
required
decimal
The number of invoiceable hours.
breakMinutes
integer
The number of minutes of which the reporter was on break.
comment
string
A comment about what you did. Is visible when invoiceing.
internalComment
string
An internal comment about what you did. Is not visible when invoiceing
userId
required
integer
The id of the user this time report belongs to.
projectId
integer
The id of the project that this time report is connected to.
internalProjectId
integer
The id of the internal project that this time report is connected to.
absenceProjectId
integer
The id of the absence project that this time report is connected to.
activityId
required
integer
The id of the activity that this time report is connected to.
timeCodeId
required
integer
The id of the time code that this time report is connected to.
timeArticleId
required
integer
The id of the time article that this time report is connected to.
taskId
integer
The id of the task that this time report is connected to, if any.
travelReport
object
A travel report.
allowanceReport
object
An allowance report. Should only be set if a travel report is set.
materials
object array
A list of materials used.
equipments
object array
A list of equipments used.
additions
object array
A list of additions to include in this time report.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code could be produced for a variety of reasons such as missing or invalid required fields, ids that point to resources that do not exist or have the appropriate permissons and so on.
POST /v1/Core/TimeReports
Example request
{ "date": "2021-11-10 00:00:00", "clockStart": "10:00", "clockEnd": "18:00", "hours": 7.75, "invoiceableHours": 9.0, "breakMinutes": 15, "comment": "Lorem ipsum dolar sit amet", "internalComment": "Lorem ipsum dolar sit amet", "userId": 1, "projectId": 1, "internalProjectId": null, "absenceProjectId": null, "activityId": 1, "timeCodeId": 1, "timeArticleId": 1, "taskId": null, "travelReport": { "place": "Piteå-Luleå-Piteå", "distance": 100.0, "invoiceableDistance": 120.0, "toSalary": true, "companyCar": { "id": 1, "tripStart": 15000.0, "tripEnd": 15100.0, "addressStart": "Generalgatan 1", "addressGoal": "Generalgatan 2", "addressEnd": "Generalgatan 1" } }, "allowanceReport": { "allowanceTypeId": 1, "description": "Lorem ipsum dolar sit amet", "toBeInvoiced": true }, "materials": [ { "id": null, "articleId": 55, "articleNumber": "A12", "title": "Lorem ipsum", "unitPrice": 600.0, "invoiceableUnitPrice": 650.0, "units": 4.0, "invoiceableUnits": 5.0, "calculatedUnits": 4.0, "unitText": "st", "cost": 500.0, "discountInPercent": 0.0, "isTextOnly": false }, { "id": null, "articleId": null, "articleNumber": "E01", "title": "Article not in registry", "unitPrice": 300.0, "invoiceableUnitPrice": 300.0, "units": 1.0, "invoiceableUnits": 2.0, "calculatedUnits": 1.0, "unitText": "meter", "cost": 100.0, "discountInPercent": 10.0, "isTextOnly": false }, { "id": null, "articleId": null, "articleNumber": null, "title": "Lorem ipsum dolar sit amet...", "unitPrice": 0.0, "invoiceableUnitPrice": null, "units": 0.0, "invoiceableUnits": null, "calculatedUnits": null, "unitText": null, "cost": null, "discountInPercent": null, "isTextOnly": true } ], "equipments": [ { "id": null, "hours": 4.5, "articleId": 10, "comment": "Lorem ipsum dolar sit amet" } ], "additions": [ { "id": null, "articleId": 14, "yesNo": null, "numberCount": 3.0 }, { "id": null, "articleId": 15, "yesNo": true, "numberCount": null } ] }

Update time report

Updates an existing time report.

Required permissions
Timereport_Write
Request object
date
required
datetime
The date of which this time report represents.
clockStart
string
Which time of day this time report started. Format is "hh:mm" (24-hour clock).
clockEnd
string
Which time of day this time report ended. Format is "hh:mm" (24-hour clock).
hours
required
decimal
The number of hours.
invoiceableHours
required
decimal
The number of invoiceable hours.
breakMinutes
integer
The number of minutes of which the reporter was on break.
comment
string
A comment about what you did. Is visible when invoiceing.
internalComment
string
An internal comment about what you did. Is not visible when invoiceing
userId
required
integer
The id of the user this time report belongs to.
projectId
integer
The id of the project that this time report is connected to.
internalProjectId
integer
The id of the internal project that this time report is connected to.
absenceProjectId
integer
The id of the absence project that this time report is connected to.
activityId
required
integer
The id of the activity that this time report is connected to.
timeCodeId
required
integer
The id of the time code that this time report is connected to.
timeArticleId
required
integer
The id of the time article that this time report is connected to.
taskId
integer
The id of the task that this time report is connected to, if any.
travelReport
object
A travel report.
allowanceReport
object
An allowance report. Should only be set if a travel report is set.
materials
object array
A list of materials used.
equipments
object array
A list of equipments used.
additions
object array
A list of additions to include in this time report.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code could be produced for a variety of reasons such as missing or invalid required fields, ids that point to resources that do not exist or have the appropriate permissons and so on.
PUT /v1/Core/TimeReports/:id
Example request
{ "date": "2021-11-10 00:00:00", "clockStart": "10:00", "clockEnd": "18:00", "hours": 7.75, "invoiceableHours": 9.0, "breakMinutes": 15, "comment": "Lorem ipsum dolar sit amet", "internalComment": "Lorem ipsum dolar sit amet", "userId": 1, "projectId": 1, "internalProjectId": null, "absenceProjectId": null, "activityId": 1, "timeCodeId": 1, "timeArticleId": 1, "taskId": null, "travelReport": { "place": "Piteå-Luleå-Piteå", "distance": 100.0, "invoiceableDistance": 120.0, "toSalary": true, "companyCar": { "id": 1, "tripStart": 15000.0, "tripEnd": 15100.0, "addressStart": "Generalgatan 1", "addressGoal": "Generalgatan 2", "addressEnd": "Generalgatan 1" } }, "allowanceReport": { "allowanceTypeId": 1, "description": "Lorem ipsum dolar sit amet", "toBeInvoiced": true }, "materials": [ { "id": 2, "articleId": 55, "articleNumber": "A12", "title": "Lorem ipsum", "unitPrice": 600.0, "invoiceableUnitPrice": 650.0, "units": 4.0, "invoiceableUnits": 5.0, "calculatedUnits": 4.0, "unitText": "st", "cost": 500.0, "discountInPercent": 0.0, "isTextOnly": false }, { "id": null, "articleId": null, "articleNumber": "E01", "title": "Article not in registry", "unitPrice": 300.0, "invoiceableUnitPrice": 300.0, "units": 1.0, "invoiceableUnits": 2.0, "calculatedUnits": 1.0, "unitText": "meter", "cost": 100.0, "discountInPercent": 10.0, "isTextOnly": false }, { "id": null, "articleId": null, "articleNumber": null, "title": "Lorem ipsum dolar sit amet...", "unitPrice": 0.0, "invoiceableUnitPrice": null, "units": 0.0, "invoiceableUnits": null, "calculatedUnits": null, "unitText": null, "cost": null, "discountInPercent": null, "isTextOnly": true } ], "equipments": [ { "id": 2, "hours": 4.5, "articleId": 10, "comment": "Lorem ipsum dolar sit amet" }, { "id": null, "hours": 1.0, "articleId": 11, "comment": "Lorem ipsum dolar sit amet" } ], "additions": [ { "id": 2, "articleId": 15, "yesNo": true, "numberCount": null }, { "id": null, "articleId": 16, "yesNo": true, "numberCount": null } ] }

Delete time report

Deletes the specified time report.

Required permissions
Timereport_Write
Request parameters
id
required
integer
The id of the time report to delete.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
If the time report could not be found or if the time report is attested or invoiced.
DELETE /v1/Core/TimeReports/:id
Example request
DELETE /v1/Core/TimeReports/1

List user day statistics

Gets a list of users, containing time reporting information about each day of a date span.

Required permissions
Timereport_Read
Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.from
datetime
The start of the date span. The date span can be a maximum of 31 days.
filter.to
datetime
The end of the date span.
filter.userIds
integer array
Only include the specified users.
filter.departmentIds
integer array
Only include users which belongs to the specified departments.
Response object
objectName
string
The name of the object.
userId
required
integer
The is of the user.
name
string
The name of the user.
department
object
The department that the user belongs to, if any.
dates
object array
A list of dates, each date containing information about the user's time reporting status that day.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Core/TimeReports/UserDayStatistics
Example request
GET /v1/Core/TimeReports/UserDayStatistics?page=1&filter.from=2021-10-01&filter.to=2021-10-02
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "timereport.userdaystatistics", "userId": 1, "name": "John Doe", "department": { "objectName": "generic.name_id", "id": 1, "name": "Developers" }, "dates": [ { "objectName": "timereport.userdaystatistics.datedata", "date": "2021-10-01", "reportedHours": 8.5, "scheduledHours": 8.0, "lockedDate": "2024-04-19 06:17:33 +00:00", "attestedDate": null }, { "objectName": "timereport.userdaystatistics.datedata", "date": "2021-10-02", "reportedHours": 4.25, "scheduledHours": 8.0, "lockedDate": null, "attestedDate": null } ] } ] }

Admin resources

Absence projects

Available operations to the registry of absence projects are listed to the right.

List absence projects

Gets a list of absence projects.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
objectName
string
The name of the object.
id
required
integer
The id of the absence project.
name
string
The name of the absence project.
commentRequiredWhenTimeReporting
required
boolean
Whether or not a comment is required when registering time for this absence project.
salaryCodeForMonthlySalary
string
The salary code for employees with montly salaries.
salaryCodeForHourlySalary
string
The salary code for employees with hourly salaries.
refersToSickness
required
boolean
Whether or not this absence project refers to sickness.
isActive
required
boolean
Whether or not this absence project is active.
createdBy
object
The user that created this absence project.
updatedBy
object
The user that last updated the absence project.
created
datetime utc
The date and time of which this absence project was created.
updated
datetime utc
The date and time of which this absence project was last updated.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/AbsenceProjects
Example request
GET /v1/Admin/AbsenceProjects?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "absenceproject.list", "id": 1, "name": "Lorem ipsum", "commentRequiredWhenTimeReporting": false, "salaryCodeForMonthlySalary": "040", "salaryCodeForHourlySalary": "040", "refersToSickness": false, "isActive": true, "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedBy": null, "created": "2024-04-09 06:17:33 +00:00", "updated": null } ] }

Activities

Available operations to the registry of activities are listed to the right.

List activities

Gets a list of activities.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
objectName
string
The name of the object.
id
required
integer
The id of the activity.
name
string
The name of the activity.
isActive
required
boolean
Whether or not this activity is active and can be used when registering time.
preferredTimeCode
object
The preferred time code when reporting time using this activity, if any.
preferredTimeArticle
object
The preferred time article when reporting time using this activity, if any.
createdBy
object
The user that created this activity.
updatedBy
object
The user that last updated this activity, if any.
created
datetime utc
The date and time of which this activity was created.
updated
datetime utc
The date and time of which this activity was last updated, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/Activities
Example request
GET /v1/Admin/Activities?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "activity.list", "id": 1, "name": "Lorem ipsum", "isActive": true, "preferredTimeCode": { "objectName": "generic.name_id", "id": 2, "name": "Dolar sit amet" }, "preferredTimeArticle": { "objectName": "generic.name_id", "id": 1, "name": "Lorem ipsum" }, "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedBy": null, "created": "2024-04-09 06:17:33 +00:00", "updated": null } ] }

Allowances

Available operations to the registry of allowances are listed to the right.

List allowances

Gets a list of allowances.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
objectName
string
The name of the object.
id
required
integer
The id of the allowance.
name
string
The name of the allowance.
description
string
The description of the allowance.
isActive
required
boolean
Whether or not the allowance is active and can be used when registering travel.
createdBy
object
The user that created this allowance.
updatedBy
object
The user that last updated this allowance, if any.
created
datetime utc
The date and time of which this allowance was created.
updated
datetime utc
The date and time of which this allowance was last updated, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/Allowances
Example request
GET /v1/Admin/Allowances?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "allowance.list", "id": 1, "name": "Lorem ipsum", "description": "Lorem ipsum dolar sit amet", "isActive": true, "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedBy": null, "created": "2024-04-09 06:17:33 +00:00", "updated": null } ] }

Articles

Available operations to the registry of articles are listed to the right.

List articles

Gets a list of articles.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name articleNumber createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.query
string
Filters articles by article number and name.
Response object
objectName
string
The name of the object.
id
required
integer
The id of the article.
articleNumber
string
The article number of the article.
name
string
The name of the article.
price
decimal
The price per unit of the article.
cost
decimal
The cost per unit of the article.
unit
object
The unit of the article.
description
string
The description of the article.
isActive
required
boolean
Whether or not the article is active and can be used.
createdBy
object
The user that created this article.
updatedBy
object
The user that last updated this article, if any.
created
datetime utc
The date and time of which this article was created.
updated
datetime utc
The date and time of which this article was last updated, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/Articles
Example request
GET /v1/Admin/Articles?page=1&filter.query=lor
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "article.list", "id": 1, "articleNumber": "A024", "name": "Lorem ipsum", "price": 500.0, "cost": 345.5, "unit": { "objectName": "generic.name_id", "id": 1, "name": "st" }, "description": "Lorem ipsum dolar sit amet", "isActive": true, "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedBy": null, "created": "2024-04-09 06:17:33 +00:00", "updated": null } ] }

Company cars

Available operations to the registry of company cars are listed to the right.

List company cars

Gets a list of company cars.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
objectName
string
The name of the object.
id
required
integer
The id of the company car.
name
string
The name of the company car.
isActive
required
boolean
Whether or not the company car is active and can be used.
makeAndModel
string
The make and model of the company car.
registrationNumber
string
The registration number of the company car.
type
string
The type of company car. Valid values are: companyCar officalCar
createdBy
object
The user that created this company car.
updatedBy
object
The user that last updated this company car, if any.
created
datetime utc
The date and time of which this company car was created.
updated
datetime utc
The date and time of which this company car was last updated, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/CompanyCars
Example request
GET /v1/Admin/CompanyCars?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "companycar.list", "id": 1, "name": "Lorem ipsum", "isActive": true, "makeAndModel": "BMW 320 GT", "registrationNumber": "ABC123", "type": "CompanyCar", "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedBy": null, "created": "2024-04-09 06:17:33 +00:00", "updated": null } ] }

Contact tags

Available operations to the registry of contact tags are listed to the right.

List contact tags

Gets a list of contact tags.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name createdDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
objectName
string
The name of the object.
id
required
integer
The id of the tag.
title
string
The display name of the tag.
color
string
The color in HEX-format.
updatedDate
datetime utc
The date and time of which the tag was updated.
updatedBy
object
The user that updated this tag.
createdDate
required
datetime utc
The date and time of which the tag was created.
createdBy
object
The user that created this tag.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/ContactTags
Example request
GET /v1/Admin/ContactTags?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "tag.list", "id": 1, "title": "Good customer", "color": "#41b18b", "updatedDate": null, "updatedBy": null, "createdDate": "2024-04-04 03:53:33 +00:00", "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" } } ] }

Cost centers

Available operations to the registry of cost centers are listed to the right.

List cost centers

Gets a list of cost centers.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: createdDate updatedDate name code
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.createdDateFrom
datetime utc
Filters cost centers where the created date is greater than or equal to this date.
filter.createdDateTo
datetime utc
Filters cost centers where the created date is less than or equal to this date.
filter.updatedDateFrom
datetime utc
Filters cost centers where the updated date is greater than or equal to this date.
filter.updatedDateTo
datetime utc
Filters cost centers where the updated date is less than or equal to this date.
filter.query
string
Filters cost centers by name and code.
Response object
objectName
string
The name of the object.
id
required
integer
The id of the cost center.
name
string
The name of the cost center.
code
string
The description of the cost center.
createdBy
object
The user that created this cost center.
updatedBy
object
The user that last updated this cost center, if any.
created
datetime utc
The date and time of which this cost center was created.
updated
datetime utc
The date and time of which this cost center was last updated, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/CostCenters
Example request
GET /v1/Admin/CostCenters?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "costcenter.list", "id": 1, "name": "Cost center 1", "code": "CC1", "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedBy": { "objectName": "generic.name_id", "id": 2, "name": "Jane Doe" }, "created": "2024-04-04 06:17:33 +00:00", "updated": "2024-04-08 06:17:33 +00:00" } ] }

Countries

Available operations to the registry of countries are listed to the right.

List countries

Gets a list of countries.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
objectName
string
The name of the object.
id
required
integer
The id of the country.
name
string
The name of the country.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/Countries
Example request
GET /v1/Admin/Countries?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "country.list", "id": 1, "name": "Sverige" } ] }

Equipments

Available operations to the registry of equipments are listed to the right.

List equipments

Gets a list of equipments.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
objectName
string
The name of the object.
id
required
integer
The id of the equipment.
name
string
The name of the equipment.
description
string
The description of the equipment.
isActive
required
boolean
Whether or not the equipment is active and can be used.
type
object
The type of equipment.
createdBy
object
The user that created this equipment.
updatedBy
object
The user that last updated this equipment, if any.
created
datetime utc
The date and time of which this equipment was created.
updated
datetime utc
The date and time of which this equipment was last updated, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/Equipments
Example request
GET /v1/Admin/Equipments?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "equipment.list", "id": 1, "name": "Lorem ipsum", "description": "Lorem ipsum dolar sit amet", "isActive": true, "type": { "objectName": "generic.name_id", "id": 1, "name": "Lorem ipsum" }, "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedBy": null, "created": "2024-04-09 06:17:33 +00:00", "updated": null } ] }

Internal projects

Available operations to the registry of internal projects are listed to the right.

List internal projects

Gets a list of internal projects.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
objectName
string
The name of the object.
id
required
integer
The id of the internal project.
name
string
The name of the internal project.
commentRequiredWhenTimeReporting
required
boolean
Whether or not a comment is required when registering time for this internal project.
isActive
required
boolean
Whether or not this internal project is active.
createdBy
object
The user that created this internal project.
updatedBy
object
The user that last updated the internal project.
created
datetime utc
The date and time of which this internal project was created.
updated
datetime utc
The date and time of which this internal project was last updated.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/InternalProjects
Example request
GET /v1/Admin/InternalProjects?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "internalproject.list", "id": 1, "name": "Lorem ipsum", "commentRequiredWhenTimeReporting": false, "isActive": true, "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedBy": null, "created": "2024-04-09 06:17:33 +00:00", "updated": null } ] }

Opportunity statuses

Available operations to the registry of opportunity statuses are listed to the right.

List opportunity statuses

Gets a list of opportunity statuses.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name sortOrder createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.createdDateFrom
datetime utc
Filters opportunity statuses where the created date is greater than or equal to this date.
filter.createdDateTo
datetime utc
Filters opportunity statuses where the created date is less than or equal to this date.
filter.updatedDateFrom
datetime utc
Filters opportunity statuses where the updated date is greater than or equal to this date.
filter.updatedDateTo
datetime utc
Filters opportunity statuses where the updated date is less than or equal to this date.
Response object
objectName
string
The name of the object.
id
required
integer
The unique identifier for this opportunity status.
name
string
The name of the opportunity status.
sortOrder
required
integer
The sorting order of the opportunity status.
updatedDate
datetime utc
The date and time of which the opportunity status was updated.
updatedBy
object
The user that updated this opportunity status.
createdDate
required
datetime utc
The date and time of which the opportunity status was created.
createdBy
object
The user that created this opportunity status.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/OpportunityStatuses
Example request
GET /v1/Admin/OpportunityStatuses?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "opportunitystatus.list", "id": 1, "name": "Started", "sortOrder": 1, "updatedDate": null, "updatedBy": null, "createdDate": "2024-04-04 03:53:33 +00:00", "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" } } ] }

Opportunity tags

Available operations to the registry of opportunity tags are listed to the right.

List opportunity tags

Gets a list of opportunity tags.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
objectName
string
The name of the object.
id
required
integer
The id of the tag.
title
string
The display name of the tag.
color
string
The color in HEX-format.
updatedDate
datetime utc
The date and time of which the tag was updated.
updatedBy
object
The user that updated this tag.
createdDate
required
datetime utc
The date and time of which the tag was created.
createdBy
object
The user that created this tag.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/OpportunityTags
Example request
GET /v1/Admin/OpportunityTags?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "tag.list", "id": 1, "title": "High value opportunity", "color": "#41b18b", "updatedDate": null, "updatedBy": null, "createdDate": "2024-04-04 03:53:33 +00:00", "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" } } ] }

Project categories

Available operations to the registry of project categories are listed to the right.

List project categories

Gets a list of project categories.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/ProjectCategories
Example request
GET /v1/Admin/ProjectCategories?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "project.list.category", "id": 1, "name": "Lorem ipsum", "color": "#e3168a" } ] }

Project statuses

Available operations to the registry of project statuses are listed to the right.

List project statuses

Gets a list of project statuses.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name sortOrder createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.createdDateFrom
datetime utc
Filters project statuses where the created date is greater than or equal to this date.
filter.createdDateTo
datetime utc
Filters project statuses where the created date is less than or equal to this date.
filter.updatedDateFrom
datetime utc
Filters project statuses where the updated date is greater than or equal to this date.
filter.updatedDateTo
datetime utc
Filters project statuses where the updated date is less than or equal to this date.
Response object
objectName
string
The name of the object.
id
required
integer
The unique identifier for this project status.
name
string
The name of the project status.
color
string
The color in HEX-format.
sortOrder
required
integer
The sorting order of the project status.
isCompleted
required
boolean
Whether or not this is the status that represents the completion of a project.
isStandard
required
boolean
Whether or not this is the default status for new projects.
updatedDate
datetime utc
The date and time of which the project status was updated.
updatedBy
object
The user that updated this project status.
createdDate
required
datetime utc
The date and time of which the project status was created.
createdBy
object
The user that created this project status.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/ProjectStatuses
Example request
GET /v1/Admin/ProjectStatuses?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "projectstatus.list", "id": 1, "name": "Ongoing", "color": "#e3168a", "sortOrder": 1, "isCompleted": false, "isStandard": true, "updatedDate": null, "updatedBy": null, "createdDate": "2024-04-04 03:53:33 +00:00", "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" } } ] }

Project tags

Available operations to the registry of project tags are listed to the right.

List project tags

Gets a list of project tags.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name createdDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
objectName
string
The name of the object.
id
required
integer
The id of the tag.
title
string
The display name of the tag.
color
string
The color in HEX-format.
updatedDate
datetime utc
The date and time of which the tag was updated.
updatedBy
object
The user that updated this tag.
createdDate
required
datetime utc
The date and time of which the tag was created.
createdBy
object
The user that created this tag.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/ProjectTags
Example request
GET /v1/Admin/ProjectTags?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "tag.list", "id": 1, "title": "Big project", "color": "#41b18b", "updatedDate": null, "updatedBy": null, "createdDate": "2024-04-04 03:53:33 +00:00", "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" } } ] }

Time additions

Available operations to the registry of time additions are listed to the right.

List time additions

Gets a list of time additions.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
objectName
string
The name of the object.
id
required
integer
The id of the time addition.
name
string
The name of the time addition.
description
string
The description of the time addition.
type
string
The type of time addition.
isActive
required
boolean
Whether or not the time addition is active and can be used.
createdBy
object
The user that created this time addition.
updatedBy
object
The user that last updated this time addition, if any.
created
datetime utc
The date and time of which this time addition was created.
updated
datetime utc
The date and time of which this time addition was last updated, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/TimeAdditions
Example request
GET /v1/Admin/TimeAdditions?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 2, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "timeaddition.list", "id": 1, "name": "Lorem ipsum", "description": "Lorem ipsum dolar sit amet", "type": "boolean", "isActive": true, "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedBy": null, "created": "2024-04-09 06:17:33 +00:00", "updated": null }, { "objectName": "timeaddition.list", "id": 2, "name": "Lorem ipsum dolar", "description": "Lorem ipsum dolar sit amet", "type": "number", "isActive": true, "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedBy": null, "created": "2024-04-11 06:17:33 +00:00", "updated": null } ] }

Time articles

Available operations to the registry of time articles are listed to the right.

List time articles

Gets a list of time articles.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
objectName
string
The name of the object.
id
required
integer
The id of the time article.
name
string
The name of the time article.
description
string
The description of the time article.
isActive
required
boolean
Whether or not the time article is active and can be used when registering time.
createdBy
object
The user that created this time article.
updatedBy
object
The user that last updated this time article, if any.
created
datetime utc
The date and time of which this time article was created.
updated
datetime utc
The date and time of which this time article was last updated, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/TimeArticles
Example request
GET /v1/Admin/TimeArticles?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "timearticle.list", "id": 1, "name": "Lorem ipsum", "description": "Lorem ipsum dolar sit amet", "isActive": true, "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedBy": null, "created": "2024-04-09 06:17:33 +00:00", "updated": null } ] }

Time codes

Available operations to the registry of time codes are listed to the right.

List time codes

Gets a list of time codes.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name createdDate updatedDate
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Response object
objectName
string
The name of the object.
id
required
integer
The id of the time code.
name
string
The name of the time code.
description
string
The description of the time code.
isActive
required
boolean
Whether or not the time code is active and can be used when registering time.
isStandard
required
boolean
Whether or not this time code is the standard time code when registering time.
createdBy
object
The user that created this time code.
updatedBy
object
The user that last updated this time code, if any.
created
datetime utc
The date and time of which this time code was created.
updated
datetime utc
The date and time of which this time code was last updated, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/TimeCodes
Example request
GET /v1/Admin/TimeCodes?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "timecode.list", "id": 1, "name": "Lorem ipsum", "description": "Lorem ipsum dolar sit amet", "isActive": true, "isStandard": false, "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "updatedBy": null, "created": "2024-04-09 06:17:33 +00:00", "updated": null } ] }

Users

Available operations to the registry of users are listed to the right.

List users

Gets a list of users.

Paging parameters
page
required
integer
Specifies which page of the list to fetch.
pageSize
integer
Specifies the number of items per page. Can be between 1-100, default is 25.
Sorting parameters
sortBy
string
Specifies which property of the entity to sort by. Valid values are: name
sortOrder
string
Specifies the sorting order. Valid values are: ascending descending
Filter parameters
filter.query
string
Filter users by first name, last name or email. One or several, partial or complete names, may be queried.
filter.includeDeleted
required
boolean
Include deleted users. Default value is false
Response object
objectName
string
The name of the object.
id
required
integer
The id of the user.
firstName
string
The first name of the user.
lastName
string
The last name of the user.
email
string
The email of the user.
startDate
datetime
The date that the user started it's employment.
endDate
datetime
The date that the user ended it's employment.
timeReportingProfile
object
The time reporting profile that the user uses.
department
object
The department of which the user belongs to, if any.
license
string
The license that the user has. Valid values are: total standard basic light
permissions
string array
A list of permissions that the user has.
createdBy
object
The user who created this user.
updatedBy
object
The user who last updated this user, if any.
createdDate
datetime utc
The date and time of which this user was created.
updatedDate
datetime utc
The date and time of which this user was last updated, if any.
salaryType
string
The salary type of the user. Valid values are: none monthly hourly
costCenter
object
The cost center of the user.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/Users
Example request
GET /v1/Admin/Users?page=1
Response
{ "objectName": "generic.pagedlist", "page": 1, "pageSize": 25, "itemCount": 1, "totalItemCount": 1, "totalPages": 1, "items": [ { "objectName": "user.list", "id": 2, "firstName": "John", "lastName": "Doe", "email": null, "startDate": "2021-02-01", "endDate": "2022-02-15", "timeReportingProfile": { "objectName": "generic.name_id", "id": 5, "name": "Default profile" }, "department": { "objectName": "generic.name_id", "id": 1, "name": "Developers" }, "license": "total", "permissions": [ "administrator", "sales" ], "createdBy": { "objectName": "generic.name_id", "id": 1, "name": "Jane Doe" }, "updatedBy": null, "createdDate": "2024-03-30 06:17:33 +00:00", "updatedDate": null, "salaryType": 0, "costCenter": null } ] }

Get user

Gets a single user.

Request parameters
id
required
integer
The id of the user.
Response object
objectName
string
The name of the object.
id
required
integer
The id of the user.
firstName
string
The first name of the user.
lastName
string
The last name of the user.
license
string
The license that the user has. Valid values are: total standard basic light
email
string
The email of the user.
socialSecurityNumber
string
The social security number of the user.
mobilePhoneNumber
string
The mobile phone number of the user.
workPhoneNumber
string
The work phone number of the user.
note
string
A note about the user.
startDate
datetime
The date that the employment started, if any.
endDate
datetime
The date that the employment ended, if any.
department
object
The department of which the user belongs to, if any.
costCenter
object
The cost center that this user is connected to, if any.
salaryType
string
The salary type of the user. Valid values are: none hourly monthly
costPerHour
decimal
An estimate of the cost per hour, if any.
employeeNumber
string
The employee number, if any.
settlementAccount
string
The settlement account that this user is connected to, if any.
address
object
The personal address of the user, if any.
nextOfKin
string
The name of the next of kin contact, if any.
nextOfKinRelation
string
The relation of the next of kin contact, if any.
nextOfKinPhoneNumber
string
The phone number of the next of kin contact, if any.
manager
object
The manager for this user.
schedule
object
The current schedule for the user, if any.
standardTimeArticle
object
The standard time article used by the user.
standardActivity
object
The standard activity used by the user.
timeReportingProfile
object
The time reporting profile that the user has.
timeBankEnabled
required
boolean
Whether or not the time bank is enabled.
currentTimeBank
decimal
The currently accumulated time bank, if any.
planningCapacityInPercent
decimal
The planning capacity of the user in percent, if any.
tags
object array
A list of tags that the user has.
permissions
string array
A list of permissions that the user has.
createdBy
object
The user who created this user.
updatedBy
object
The user who last updated this user, if any.
createdDate
datetime utc
The date and time of which this user was created.
updatedDate
datetime utc
The date and time of which this user was last updated, if any.
Status codes
200 OK
Indicates a successful request.
400 BAD REQUEST
Indicates a client error. This status code will be produced if the required "page" paging parameter is missing or if any other paging, sorting or filtering parameter has an invalid value.
GET /v1/Admin/Users/:id
Example request
GET /v1/Admin/Users/1
Response
{ "objectName": "user.detail", "id": 1, "firstName": "John", "lastName": "Doe", "license": "Total", "email": "john.doe@test.com", "socialSecurityNumber": null, "mobilePhoneNumber": "+46701234567", "workPhoneNumber": null, "note": "This is a note about this user", "startDate": "2021-12-01", "endDate": null, "department": { "objectName": "generic.name_id", "id": 1, "name": "Developers" }, "costCenter": null, "salaryType": "Monthly", "costPerHour": 450.0, "employeeNumber": "12", "settlementAccount": null, "address": null, "nextOfKin": null, "nextOfKinRelation": null, "nextOfKinPhoneNumber": null, "manager": { "objectName": "generic.name_id", "id": 1, "name": "John Doe" }, "schedule": { "objectName": "generic.name_id", "id": 1, "name": "Full time" }, "standardTimeArticle": { "objectName": "generic.name_id", "id": 1, "name": "Consulting" }, "standardActivity": { "objectName": "generic.name_id", "id": 1, "name": "Project management" }, "timeReportingProfile": { "objectName": "generic.name_id", "id": 1, "name": "Base reporting profile" }, "timeBankEnabled": false, "currentTimeBank": null, "planningCapacityInPercent": null, "tags": null, "permissions": [ "administrator" ], "createdBy": null, "updatedBy": null, "createdDate": "2021-12-15 09:24:13 +00:00", "updatedDate": null }