Timesheet API (1.0)

Download OpenAPI specification:Download

timesheet.io provides a REST API that can be accessed directly from another web application or from within a Javascript single page application. The API can be used from any programming language.

This API should be used if you want to create new data in Timesheet or extract data from Timesheet.

Please email support@timesheet.io if you have questions or need help while using the API.

Oauth2 Authentication

timesheet.io uses the OAuth 2.0 protocol for authentication and authorization. Oauth2 allows authorization without the external application getting the user's email address or password. Instead, the external application gets a token that authorizes access to the user's account. The user can revoke the token for one application without affecting access by any other application.

Registering an Application

An external application must be registered with timesheet.io before it can use Oauth2 to authenticate users. A registered application can be used by all users of timesheet.io, not just the users of the account of the person registering the application. However, registered applications are not discoverable—simply registering your application does not make it visible to any other timesheet.io users.

Register your application

Once an application is registered you can use the client_id, client_secret and redirect_url in the authorization flow.

Authorization Flow

To authorize an external application to authenticate as a user, the application uses browser redirects to send the user to timesheet.io.

1. Redirect user to request access

The user should be redirected in their browser to the Ouath2 authorize URL, passing the application specific parameters:

GET https://api.timesheet.io/oauth2/auth

Parameters

  • client_id: Required. The client ID created when the application was registered.
  • redirect_uri: Required. The URL where the user will be redirected after they have authorized the application. This must be the same as the redirect URL provided when the application was registered.
  • response_type: Required. Controls which flow will be used to return the access_token. Using a value of code will use the authorization code flow.

2. timesheet.io redirects user back to application

Once the user authorizes the application their browser will be redirected back to the redirect_uri. timesheet.io will include a parameter in the URL named code which must be exchanged for the access token by making another request to timesheet.io in the next step.

3. Request access token

The application exchanges the code from the previous step for an access token. In this step the application uses its secret which provides an additional level of security since timesheet.io can be sure that it is an authorized application that is making the request on behalf of the user.

POST https://api.timesheet.io/oauth2/token

Parameters

  • code: Required. The code value that was returned by the previous step in the flow.
  • client_id: Required. The client ID created when the application was registered.
  • grant_type: Required. Must contain the value authorization_code.
  • redirect_uri: Required. This must be the same as the redirect URL provided when the application was registered.

The response to this POST will be a JSON string containing the access token and refresh token that can then be used to access the API.

Client Credentials

The Client Credentials grant is used when applications request an access token to access their own resources, not on behalf of a user.

1. Request access token

The application uses its secret to request an access token.

POST https://api.timesheet.io/oauth2/token

Parameters

  • client_id: Required. The client ID created when the application was registered.
  • client_secret: Required. The client secret that was created when the application was registered.
  • grant_type: Required. Must contain the value client_credentials.

The response to this POST will be a JSON string containing the access token and refresh token that can then be used to access the API.

Pagination

When you're making calls to the API, there'll be a lot of results to return. For that reason, we paginate the results to make sure responses are easier to handle. We recommend you to set the limit parameter in every request to ensure you know how many results per page you'll get. The default limit is 100 items per page. You can paginate through the results with the page parameter, starting with 1. If you set the limit to 10 and page to 1 you will get the results from 1-10. If you set the limit to 10 and page to 2, you'll get the results from 11-20.

Webhook

Endpoint to retrieve and manage webhooks.

List webhooks

List webhooks.

query Parameters
sort
string
order
string
page
integer <int32>
limit
integer <int32>

Responses

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

Create webhook

Create a new webhook

Request Body schema:
target
string
event
string

Responses

Request samples

Content type
{
  • "target": "string",
  • "event": "string"
}

Response samples

Content type
{
  • "id": "string",
  • "target": "string",
  • "event": "string",
  • "user": "string",
  • "deleted": true,
  • "lastUpdate": 0,
  • "created": 0
}

Get webhook

Get webhook by id.

path Parameters
id
required
string

Responses

Response samples

Content type
{
  • "id": "string",
  • "target": "string",
  • "event": "string",
  • "user": "string",
  • "deleted": true,
  • "lastUpdate": 0,
  • "created": 0
}

Update webhook

Update webhook by id.

path Parameters
id
required
string
Request Body schema:
target
string
event
string
deleted
boolean

Responses

Request samples

Content type
{
  • "target": "string",
  • "event": "string",
  • "deleted": true
}

Response samples

Content type
{
  • "id": "string",
  • "target": "string",
  • "event": "string",
  • "user": "string",
  • "deleted": true,
  • "lastUpdate": 0,
  • "created": 0
}

Remove webhook

Remove webhook by id.

path Parameters
id
required
string

Responses

Search webhooks

Search webhooks by the given parameters.

Request Body schema:
search
string
sort
string
order
string
count
integer <int32>
page
integer <int32>
limit
integer <int32>
event
string
offset
integer <int32>

Responses

Request samples

Content type
{
  • "search": "string",
  • "sort": "string",
  • "order": "string",
  • "count": 0,
  • "page": 0,
  • "limit": 0,
  • "event": "string",
  • "offset": 0
}

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

Profile

Endpoint to retrieve and manage the current user.

Delete account

Delete account of the user

Responses

Delete profiles data

Delete data of the user

Responses

Get profile

Retrieves the profile of the current user.

query Parameters
referrer
string

Responses

Response samples

Content type
{
  • "expires": 0,
  • "permission": 0,
  • "status": 0,
  • "plan": 0,
  • "members": 0,
  • "email": "string",
  • "emailInvoice": "string",
  • "paymentOption": "string",
  • "imageUrl": "string",
  • "business": "string",
  • "taxId": "string",
  • "firstname": "string",
  • "lastname": "string",
  • "firstnameInvoice": "string",
  • "lastnameInvoice": "string",
  • "street": "string",
  • "city": "string",
  • "state": "string",
  • "zip": "string",
  • "country": "string",
  • "countryIso": "string",
  • "language": "string",
  • "referrer": "string",
  • "includeTaxForBusiness": true,
  • "newsletter": true,
  • "gdprConsent": true,
  • "invited": true,
  • "activatedTeams": true,
  • "activated": true,
  • "cancellationOffer": true,
  • "needsSetup": true,
  • "user": "string",
  • "lastUpdate": 0,
  • "subscriptionActive": true,
  • "subscriptionCancelled": true,
  • "subscriptionInactive": true,
  • "initials": "string",
  • "active": true,
  • "displayName": "string",
  • "currency": "string",
  • "valid": true,
  • "stripePayment": true,
  • "invoiceLastname": "string",
  • "licenseHolder": true,
  • "validAndActivated": true,
  • "payPalPayment": true,
  • "invoiceFirstname": "string",
  • "businessCustomer": true,
  • "euCustomer": true,
  • "validProfile": true,
  • "invoiceEmail": "string",
  • "invoicePayment": true,
  • "licenseQuantity": 0,
  • "expired": true,
  • "member": true,
  • "trial": true,
  • "basic": true,
  • "admin": true,
  • "inactive": true,
  • "yearly": true,
  • "monthly": true,
  • "plus": true,
  • "pro": true,
  • "product": "string",
  • "uk": true,
  • "at": true,
  • "eu": true
}

Update profile

Updates the profile of the current user.

Request Body schema:
firstname
string
lastname
string
email
string
emailInvoice
string
imageUrl
string
newsletter
boolean

Responses

Request samples

Content type
{
  • "firstname": "string",
  • "lastname": "string",
  • "email": "string",
  • "emailInvoice": "string",
  • "imageUrl": "string",
  • "newsletter": true
}

Response samples

Content type
{
  • "expires": 0,
  • "permission": 0,
  • "status": 0,
  • "plan": 0,
  • "members": 0,
  • "email": "string",
  • "emailInvoice": "string",
  • "paymentOption": "string",
  • "imageUrl": "string",
  • "business": "string",
  • "taxId": "string",
  • "firstname": "string",
  • "lastname": "string",
  • "firstnameInvoice": "string",
  • "lastnameInvoice": "string",
  • "street": "string",
  • "city": "string",
  • "state": "string",
  • "zip": "string",
  • "country": "string",
  • "countryIso": "string",
  • "language": "string",
  • "referrer": "string",
  • "includeTaxForBusiness": true,
  • "newsletter": true,
  • "gdprConsent": true,
  • "invited": true,
  • "activatedTeams": true,
  • "activated": true,
  • "cancellationOffer": true,
  • "needsSetup": true,
  • "user": "string",
  • "lastUpdate": 0,
  • "subscriptionActive": true,
  • "subscriptionCancelled": true,
  • "subscriptionInactive": true,
  • "initials": "string",
  • "active": true,
  • "displayName": "string",
  • "currency": "string",
  • "valid": true,
  • "stripePayment": true,
  • "invoiceLastname": "string",
  • "licenseHolder": true,
  • "validAndActivated": true,
  • "payPalPayment": true,
  • "invoiceFirstname": "string",
  • "businessCustomer": true,
  • "euCustomer": true,
  • "validProfile": true,
  • "invoiceEmail": "string",
  • "invoicePayment": true,
  • "licenseQuantity": 0,
  • "expired": true,
  • "member": true,
  • "trial": true,
  • "basic": true,
  • "admin": true,
  • "inactive": true,
  • "yearly": true,
  • "monthly": true,
  • "plus": true,
  • "pro": true,
  • "product": "string",
  • "uk": true,
  • "at": true,
  • "eu": true
}

Settings

Endpoint retrieves and updates settings of the current user.

Get settings

Get settings of current user.

Responses

Response samples

Content type
{
  • "theme": "string",
  • "timezone": "string",
  • "language": "string",
  • "currency": "string",
  • "distance": "string",
  • "dateFormat": "string",
  • "timeFormat": "string",
  • "durationFormat": "string",
  • "csvSeparator": "string",
  • "slotDuration": 0,
  • "snapDuration": 0,
  • "firstDay": 0,
  • "defaultTaskDuration": 0,
  • "defaultBreakDuration": 0,
  • "entriesPerPage": 0,
  • "timerRounding": 0,
  • "timerRoundingType": 0,
  • "timerEditView": true,
  • "pauseRounding": 0,
  • "pauseRoundingType": 0,
  • "pauseEditView": true,
  • "showRelatives": true,
  • "weeklySummary": true,
  • "monthlySummary": true,
  • "autofillProjectSelection": true,
  • "lastUpdate": 0
}

Update settings

Update settings of current user.

Request Body schema:
theme
string
timezone
string
language
string
currency
string
distance
string
dateFormat
string
timeFormat
string
durationFormat
string
csvSeparator
string
slotDuration
integer <int32>
snapDuration
integer <int32>
firstDay
integer <int32>
defaultTaskDuration
integer <int32>
defaultBreakDuration
integer <int32>
entriesPerPage
integer <int32>
timerRounding
integer <int32>
timerRoundingType
integer <int32>
timerEditView
boolean
pauseRounding
integer <int32>
pauseRoundingType
integer <int32>
pauseEditView
boolean
showRelatives
boolean
weeklySummary
boolean
monthlySummary
boolean
autofillProjectSelection
boolean
lastUpdate
integer <int64>

Responses

Request samples

Content type
{
  • "theme": "string",
  • "timezone": "string",
  • "language": "string",
  • "currency": "string",
  • "distance": "string",
  • "dateFormat": "string",
  • "timeFormat": "string",
  • "durationFormat": "string",
  • "csvSeparator": "string",
  • "slotDuration": 0,
  • "snapDuration": 0,
  • "firstDay": 0,
  • "defaultTaskDuration": 0,
  • "defaultBreakDuration": 0,
  • "entriesPerPage": 0,
  • "timerRounding": 0,
  • "timerRoundingType": 0,
  • "timerEditView": true,
  • "pauseRounding": 0,
  • "pauseRoundingType": 0,
  • "pauseEditView": true,
  • "showRelatives": true,
  • "weeklySummary": true,
  • "monthlySummary": true,
  • "autofillProjectSelection": true,
  • "lastUpdate": 0
}

Response samples

Content type
{
  • "theme": "string",
  • "timezone": "string",
  • "language": "string",
  • "currency": "string",
  • "distance": "string",
  • "dateFormat": "string",
  • "timeFormat": "string",
  • "durationFormat": "string",
  • "csvSeparator": "string",
  • "slotDuration": 0,
  • "snapDuration": 0,
  • "firstDay": 0,
  • "defaultTaskDuration": 0,
  • "defaultBreakDuration": 0,
  • "entriesPerPage": 0,
  • "timerRounding": 0,
  • "timerRoundingType": 0,
  • "timerEditView": true,
  • "pauseRounding": 0,
  • "pauseRoundingType": 0,
  • "pauseEditView": true,
  • "showRelatives": true,
  • "weeklySummary": true,
  • "monthlySummary": true,
  • "autofillProjectSelection": true,
  • "lastUpdate": 0
}

Timer

Endpoint retrieves and updates the timer of the current user.

Get timer

Get timer of current user.

Responses

Response samples

Content type
{
  • "status": "string",
  • "user": "string",
  • "task": {
    },
  • "pause": {
    },
  • "lastUpdate": 0,
  • "created": 0,
  • "stopped": true,
  • "running": true,
  • "paused": true
}

Pause the timer

Pauses the timer.

Request Body schema:
startDateTime
string
valid
boolean

Responses

Request samples

Content type
{
  • "startDateTime": "string",
  • "valid": true
}

Response samples

Content type
{
  • "status": "string",
  • "user": "string",
  • "task": {
    },
  • "pause": {
    },
  • "lastUpdate": 0,
  • "created": 0,
  • "stopped": true,
  • "running": true,
  • "paused": true
}

Resume the timer

Resumes the timer.

Request Body schema:
endDateTime
string
valid
boolean

Responses

Request samples

Content type
{
  • "endDateTime": "string",
  • "valid": true
}

Response samples

Content type
{
  • "status": "string",
  • "user": "string",
  • "task": {
    },
  • "pause": {
    },
  • "lastUpdate": 0,
  • "created": 0,
  • "stopped": true,
  • "running": true,
  • "paused": true
}

Start the timer

Starts the timer for the given project id.

Request Body schema:
projectId
string
startDateTime
string
valid
boolean

Responses

Request samples

Content type
{
  • "projectId": "string",
  • "startDateTime": "string",
  • "valid": true
}

Response samples

Content type
{
  • "status": "string",
  • "user": "string",
  • "task": {
    },
  • "pause": {
    },
  • "lastUpdate": 0,
  • "created": 0,
  • "stopped": true,
  • "running": true,
  • "paused": true
}

Stop the timer

Stops the timer.

Request Body schema:
endDateTime
string
valid
boolean

Responses

Request samples

Content type
{
  • "endDateTime": "string",
  • "valid": true
}

Response samples

Content type
{
  • "status": "string",
  • "user": "string",
  • "task": {
    },
  • "pause": {
    },
  • "lastUpdate": 0,
  • "created": 0,
  • "stopped": true,
  • "running": true,
  • "paused": true
}

Update the timer

Updates the timer

Request Body schema:
startDateTime
string
description
string
location
string
locationEnd
string
feeling
integer <int32>
typeId
integer <int32>
paid
boolean
billed
boolean
billable
boolean
phoneNumber
string
distance
number <double>

Responses

Request samples

Content type
{
  • "startDateTime": "string",
  • "description": "string",
  • "location": "string",
  • "locationEnd": "string",
  • "feeling": 0,
  • "typeId": 0,
  • "paid": true,
  • "billed": true,
  • "billable": true,
  • "phoneNumber": "string",
  • "distance": 0
}

Response samples

Content type
{
  • "status": "string",
  • "user": "string",
  • "task": {
    },
  • "pause": {
    },
  • "lastUpdate": 0,
  • "created": 0,
  • "stopped": true,
  • "running": true,
  • "paused": true
}

Team

Endpoint to retrieve and manage teams.

Activate teams

Activate team feature with given team name.

path Parameters
teamName
required
string

Responses

Response samples

Content type
{
  • "expires": 0,
  • "permission": 0,
  • "status": 0,
  • "plan": 0,
  • "members": 0,
  • "email": "string",
  • "emailInvoice": "string",
  • "paymentOption": "string",
  • "imageUrl": "string",
  • "business": "string",
  • "taxId": "string",
  • "firstname": "string",
  • "lastname": "string",
  • "firstnameInvoice": "string",
  • "lastnameInvoice": "string",
  • "street": "string",
  • "city": "string",
  • "state": "string",
  • "zip": "string",
  • "country": "string",
  • "countryIso": "string",
  • "language": "string",
  • "referrer": "string",
  • "includeTaxForBusiness": true,
  • "newsletter": true,
  • "gdprConsent": true,
  • "invited": true,
  • "activatedTeams": true,
  • "activated": true,
  • "cancellationOffer": true,
  • "needsSetup": true,
  • "user": "string",
  • "lastUpdate": 0,
  • "subscriptionActive": true,
  • "subscriptionCancelled": true,
  • "subscriptionInactive": true,
  • "initials": "string",
  • "active": true,
  • "displayName": "string",
  • "currency": "string",
  • "valid": true,
  • "stripePayment": true,
  • "invoiceLastname": "string",
  • "licenseHolder": true,
  • "validAndActivated": true,
  • "payPalPayment": true,
  • "invoiceFirstname": "string",
  • "businessCustomer": true,
  • "euCustomer": true,
  • "validProfile": true,
  • "invoiceEmail": "string",
  • "invoicePayment": true,
  • "licenseQuantity": 0,
  • "expired": true,
  • "member": true,
  • "trial": true,
  • "basic": true,
  • "admin": true,
  • "inactive": true,
  • "yearly": true,
  • "monthly": true,
  • "plus": true,
  • "pro": true,
  • "product": "string",
  • "uk": true,
  • "at": true,
  • "eu": true
}

Search teams

Search teams by given parameters.

path Parameters
userId
required
string
Request Body schema:
search
string
sort
string
order
string
count
integer <int32>
page
integer <int32>
limit
integer <int32>
statistics
boolean
offset
integer <int32>

Responses

Request samples

Content type
{
  • "search": "string",
  • "sort": "string",
  • "order": "string",
  • "count": 0,
  • "page": 0,
  • "limit": 0,
  • "statistics": true,
  • "offset": 0
}

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

List teams

List teams.

query Parameters
statistics
boolean
sort
string
order
string
page
integer <int32>
limit
integer <int32>

Responses

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

Create team

Create a new team.

Request Body schema:
name
string
description
string
image
string
color
integer <int32>

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "image": "string",
  • "color": 0
}

Response samples

Content type
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "image": "string",
  • "color": 0,
  • "user": "string",
  • "lastUpdate": 0,
  • "created": 0,
  • "deleted": true,
  • "permission": {
    },
  • "projects": 0,
  • "members": 0
}

Get member

Get team member by id.

path Parameters
teamId
required
string
id
required
string

Responses

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "email": "string",
  • "firstname": "string",
  • "lastname": "string",
  • "employeeId": "string",
  • "imageUrl": "string",
  • "deleted": true,
  • "permission": {
    },
  • "lastUpdate": 0,
  • "created": 0,
  • "projectRegistrations": [
    ],
  • "initials": "string",
  • "displayName": "string"
}

Update member

Update team member by id.

path Parameters
teamId
required
string
id
required
string
Request Body schema:
firstname
string
lastname
string
employeeId
string
activate
boolean
object (TeamPermissionDto)
Array of objects (TeamMemberProjectRegistrationDto)

Responses

Request samples

Content type
{
  • "firstname": "string",
  • "lastname": "string",
  • "employeeId": "string",
  • "activate": true,
  • "permission": {
    },
  • "projectRegistrations": [
    ]
}

Response samples

Content type
{
  • "firstname": "string",
  • "lastname": "string",
  • "employeeId": "string",
  • "activate": true,
  • "permission": {
    },
  • "projectRegistrations": [
    ]
}

Remove member

Remove team member by team id and member id.

path Parameters
teamId
required
string
id
required
string

Responses

Get colleagues

Get colleagues of the current user by the given parameters.

Request Body schema:
search
string
sort
string
order
string
count
integer <int32>
page
integer <int32>
limit
integer <int32>
teamId
string
projectId
string
withoutMe
boolean
lastActivity
boolean
deleted
boolean
offset
integer <int32>

Responses

Request samples

Content type
{
  • "search": "string",
  • "sort": "string",
  • "order": "string",
  • "count": 0,
  • "page": 0,
  • "limit": 0,
  • "teamId": "string",
  • "projectId": "string",
  • "withoutMe": true,
  • "lastActivity": true,
  • "deleted": true,
  • "offset": 0
}

Response samples

Content type
[
  • {
    }
]

Get team

Get team by id.

path Parameters
id
required
string

Responses

Response samples

Content type
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "image": "string",
  • "color": 0,
  • "user": "string",
  • "lastUpdate": 0,
  • "created": 0,
  • "deleted": true,
  • "permission": {
    },
  • "projects": 0,
  • "members": 0
}

Update team

Update team by id.

path Parameters
id
required
string
Request Body schema:
name
string
description
string
image
string
color
integer <int32>
deleted
boolean

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "image": "string",
  • "color": 0,
  • "deleted": true
}

Response samples

Content type
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "image": "string",
  • "color": 0,
  • "user": "string",
  • "lastUpdate": 0,
  • "created": 0,
  • "deleted": true,
  • "permission": {
    },
  • "projects": 0,
  • "members": 0
}

Remove team

Remove team by id.

path Parameters
id
required
string

Responses

List members

List team members by given parameters.

path Parameters
teamId
required
string
Request Body schema:
search
string
sort
string
order
string
count
integer <int32>
page
integer <int32>
limit
integer <int32>
teamId
string
projectId
string
withoutMe
boolean
lastActivity
boolean
deleted
boolean
offset
integer <int32>

Responses

Request samples

Content type
{
  • "search": "string",
  • "sort": "string",
  • "order": "string",
  • "count": 0,
  • "page": 0,
  • "limit": 0,
  • "teamId": "string",
  • "projectId": "string",
  • "withoutMe": true,
  • "lastActivity": true,
  • "deleted": true,
  • "offset": 0
}

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

Get members

Get team members by team id.

path Parameters
teamId
required
string
Request Body schema:
email
string
firstname
string
lastname
string
employeeId
string
object (TeamPermissionDto)
Array of objects (TeamMemberProjectRegistrationDto)

Responses

Request samples

Content type
{
  • "email": "string",
  • "firstname": "string",
  • "lastname": "string",
  • "employeeId": "string",
  • "permission": {
    },
  • "projectRegistrations": [
    ]
}

Response samples

Content type
{
  • "email": "string",
  • "firstname": "string",
  • "lastname": "string",
  • "employeeId": "string",
  • "permission": {
    },
  • "projectRegistrations": [
    ]
}

Search teams

Search teams by given parameters.

Request Body schema:
search
string
sort
string
order
string
count
integer <int32>
page
integer <int32>
limit
integer <int32>
statistics
boolean
offset
integer <int32>

Responses

Request samples

Content type
{
  • "search": "string",
  • "sort": "string",
  • "order": "string",
  • "count": 0,
  • "page": 0,
  • "limit": 0,
  • "statistics": true,
  • "offset": 0
}

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

Project

Endpoint to retrieve and manage projects.

Search projects

Search projects by given parameters.

path Parameters
userId
required
string
Request Body schema:
search
string
sort
string
order
string
count
integer <int32>
page
integer <int32>
limit
integer <int32>
teamId
string
status
string
statistics
boolean
teamIds
Array of strings
projectIds
Array of strings
taskStartDate
string
taskEndDate
string
taskRateId
string
taskType
string
taskFilter
string
taskUserIds
Array of strings
empty
boolean
offset
integer <int32>

Responses

Request samples

Content type
{
  • "search": "string",
  • "sort": "string",
  • "order": "string",
  • "count": 0,
  • "page": 0,
  • "limit": 0,
  • "teamId": "string",
  • "status": "string",
  • "statistics": true,
  • "teamIds": [
    ],
  • "projectIds": [
    ],
  • "taskStartDate": "string",
  • "taskEndDate": "string",
  • "taskRateId": "string",
  • "taskType": "string",
  • "taskFilter": "string",
  • "taskUserIds": [
    ],
  • "empty": true,
  • "offset": 0
}

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

List projects

List projects.

query Parameters
teamId
string
status
string
statistics
boolean
sort
string
order
string
page
integer <int32>
limit
integer <int32>

Responses

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

Create project

Create a new project.

Request Body schema:
title
string
description
string
employer
string
office
string
color
integer <int32>
taskDefaultBillable
boolean
taskDefaultRateId
string
archived
boolean
salary
number <double>
teamId
string

Responses

Request samples

Content type
{
  • "title": "string",
  • "description": "string",
  • "employer": "string",
  • "office": "string",
  • "color": 0,
  • "taskDefaultBillable": true,
  • "taskDefaultRateId": "string",
  • "archived": true,
  • "salary": 0,
  • "teamId": "string"
}

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "lastUpdate": 0,
  • "created": 0,
  • "deleted": true,
  • "title": "string",
  • "description": "string",
  • "employer": "string",
  • "office": "string",
  • "color": 0,
  • "taskDefaultBillable": true,
  • "archived": true,
  • "salary": 0,
  • "team": {
    },
  • "permission": {
    },
  • "duration": 0,
  • "durationBreak": 0,
  • "salaryTotal": 0,
  • "salaryBreak": 0,
  • "expenses": 0,
  • "expensesPaid": 0,
  • "mileage": 0,
  • "titleAndClient": "string"
}

Get project

Get project by id.

path Parameters
id
required
string

Responses

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "lastUpdate": 0,
  • "created": 0,
  • "deleted": true,
  • "title": "string",
  • "description": "string",
  • "employer": "string",
  • "office": "string",
  • "color": 0,
  • "taskDefaultBillable": true,
  • "archived": true,
  • "salary": 0,
  • "team": {
    },
  • "permission": {
    },
  • "duration": 0,
  • "durationBreak": 0,
  • "salaryTotal": 0,
  • "salaryBreak": 0,
  • "expenses": 0,
  • "expensesPaid": 0,
  • "mileage": 0,
  • "titleAndClient": "string"
}

Update project

Update project by id.

path Parameters
id
required
string
Request Body schema:
title
string
description
string
employer
string
office
string
color
integer <int32>
taskDefaultBillable
boolean
taskDefaultRateId
string
archived
boolean
salary
number <double>
deleted
boolean

Responses

Request samples

Content type
{
  • "title": "string",
  • "description": "string",
  • "employer": "string",
  • "office": "string",
  • "color": 0,
  • "taskDefaultBillable": true,
  • "taskDefaultRateId": "string",
  • "archived": true,
  • "salary": 0,
  • "deleted": true
}

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "lastUpdate": 0,
  • "created": 0,
  • "deleted": true,
  • "title": "string",
  • "description": "string",
  • "employer": "string",
  • "office": "string",
  • "color": 0,
  • "taskDefaultBillable": true,
  • "archived": true,
  • "salary": 0,
  • "team": {
    },
  • "permission": {
    },
  • "duration": 0,
  • "durationBreak": 0,
  • "salaryTotal": 0,
  • "salaryBreak": 0,
  • "expenses": 0,
  • "expensesPaid": 0,
  • "mileage": 0,
  • "titleAndClient": "string"
}

Remove project

Remove project by id.

path Parameters
id
required
string

Responses

Get members

Get members by project id.

path Parameters
projectId
required
string

Responses

Response samples

Content type
[
  • {
    }
]

Update members

Update project member registrations.

path Parameters
projectId
required
string
Request Body schema:
Array
id
string
role
string
user
string
salaryActivated
boolean
salary
number <double>

Responses

Request samples

Content type
[
  • {
    }
]

Search projects

Search projects by given parameters.

Request Body schema:
search
string
sort
string
order
string
count
integer <int32>
page
integer <int32>
limit
integer <int32>
teamId
string
status
string
statistics
boolean
teamIds
Array of strings
projectIds
Array of strings
taskStartDate
string
taskEndDate
string
taskRateId
string
taskType
string
taskFilter
string
taskUserIds
Array of strings
empty
boolean
offset
integer <int32>

Responses

Request samples

Content type
{
  • "search": "string",
  • "sort": "string",
  • "order": "string",
  • "count": 0,
  • "page": 0,
  • "limit": 0,
  • "teamId": "string",
  • "status": "string",
  • "statistics": true,
  • "teamIds": [
    ],
  • "projectIds": [
    ],
  • "taskStartDate": "string",
  • "taskEndDate": "string",
  • "taskRateId": "string",
  • "taskType": "string",
  • "taskFilter": "string",
  • "taskUserIds": [
    ],
  • "empty": true,
  • "offset": 0
}

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

Tag

Endpoint to retrieve and manage tags.

Search tags

Search tags by given parameters.

path Parameters
userId
required
string
Request Body schema:
search
string
sort
string
order
string
count
integer <int32>
page
integer <int32>
limit
integer <int32>
teamId
string
projectId
string
statistics
boolean
empty
boolean
offset
integer <int32>

Responses

Request samples

Content type
{
  • "search": "string",
  • "sort": "string",
  • "order": "string",
  • "count": 0,
  • "page": 0,
  • "limit": 0,
  • "teamId": "string",
  • "projectId": "string",
  • "statistics": true,
  • "empty": true,
  • "offset": 0
}

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

List tags

List tags.

query Parameters
teamId
string
projectId
string
statistics
boolean
sort
string
order
string
page
integer <int32>
limit
integer <int32>

Responses

Response samples

Content type
[
  • {
    }
]

Create tag

Create a new tag.

Request Body schema:
name
string
color
integer <int32>
teamId
string

Responses

Request samples

Content type
{
  • "name": "string",
  • "color": 0,
  • "teamId": "string"
}

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "lastUpdate": 0,
  • "created": 0,
  • "deleted": true,
  • "name": "string",
  • "color": 0,
  • "team": {
    },
  • "totalTime": 0
}

Get tag

Get tag by id.

path Parameters
id
required
string

Responses

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "lastUpdate": 0,
  • "created": 0,
  • "deleted": true,
  • "name": "string",
  • "color": 0,
  • "team": {
    },
  • "totalTime": 0
}

Update tag

Update tag by id.

path Parameters
id
required
string
Request Body schema:
name
string
color
integer <int32>
deleted
boolean

Responses

Request samples

Content type
{
  • "name": "string",
  • "color": 0,
  • "deleted": true
}

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "lastUpdate": 0,
  • "created": 0,
  • "deleted": true,
  • "name": "string",
  • "color": 0,
  • "team": {
    },
  • "totalTime": 0
}

Remove tag

Remove tag by id.

path Parameters
id
required
string

Responses

Search tags

Search tags by given parameters.

Request Body schema:
search
string
sort
string
order
string
count
integer <int32>
page
integer <int32>
limit
integer <int32>
teamId
string
projectId
string
statistics
boolean
empty
boolean
offset
integer <int32>

Responses

Request samples

Content type
{
  • "search": "string",
  • "sort": "string",
  • "order": "string",
  • "count": 0,
  • "page": 0,
  • "limit": 0,
  • "teamId": "string",
  • "projectId": "string",
  • "statistics": true,
  • "empty": true,
  • "offset": 0
}

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

Rate

Endpoint to retrieve and manage rates.

Search rates

Search rates by given parameters.

path Parameters
userId
required
string
Request Body schema:
search
string
sort
string
order
string
count
integer <int32>
page
integer <int32>
limit
integer <int32>
teamId
string
projectId
string
empty
boolean
offset
integer <int32>

Responses

Request samples

Content type
{
  • "search": "string",
  • "sort": "string",
  • "order": "string",
  • "count": 0,
  • "page": 0,
  • "limit": 0,
  • "teamId": "string",
  • "projectId": "string",
  • "empty": true,
  • "offset": 0
}

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

List rates

List rates.

query Parameters
teamId
string
projectId
string
sort
string
order
string
page
integer <int32>
limit
integer <int32>

Responses

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

Create rate

Create a new rate.

Request Body schema:
title
string
factor
number <double>
extra
number <double>
enabled
boolean
teamId
string

Responses

Request samples

Content type
{
  • "title": "string",
  • "factor": 0,
  • "extra": 0,
  • "enabled": true,
  • "teamId": "string"
}

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "lastUpdate": 0,
  • "created": 0,
  • "deleted": true,
  • "title": "string",
  • "factor": 0,
  • "extra": 0,
  • "enabled": true,
  • "team": {
    }
}

Get rate

Get rate by id.

path Parameters
id
required
string

Responses

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "lastUpdate": 0,
  • "created": 0,
  • "deleted": true,
  • "title": "string",
  • "factor": 0,
  • "extra": 0,
  • "enabled": true,
  • "team": {
    }
}

Update rate

Update rate by id.

path Parameters
id
required
string
Request Body schema:
title
string
factor
number <double>
extra
number <double>
enabled
boolean
deleted
boolean

Responses

Request samples

Content type
{
  • "title": "string",
  • "factor": 0,
  • "extra": 0,
  • "enabled": true,
  • "deleted": true
}

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "lastUpdate": 0,
  • "created": 0,
  • "deleted": true,
  • "title": "string",
  • "factor": 0,
  • "extra": 0,
  • "enabled": true,
  • "team": {
    }
}

Remove rate

Remove rate by id.

path Parameters
id
required
string

Responses

Search rates

Search rates by given parameters.

Request Body schema:
search
string
sort
string
order
string
count
integer <int32>
page
integer <int32>
limit
integer <int32>
teamId
string
projectId
string
empty
boolean
offset
integer <int32>

Responses

Request samples

Content type
{
  • "search": "string",
  • "sort": "string",
  • "order": "string",
  • "count": 0,
  • "page": 0,
  • "limit": 0,
  • "teamId": "string",
  • "projectId": "string",
  • "empty": true,
  • "offset": 0
}

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

Task

Endpoint to retrieve and manage tasks.

List tasks

List tasks.

query Parameters
sort
string
order
string
page
integer <int32>
limit
integer <int32>

Responses

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    },
  • "taskStatistic": {
    },
  • "currentPerformance": {
    },
  • "lastPerformance": {
    }
}

Create task

Create a new task.

Request Body schema:
projectId
string
description
string
location
string
locationEnd
string
startDateTime
string
endDateTime
string
feeling
integer <int32>
typeId
integer <int32>
paid
boolean
billed
boolean
billable
boolean
phoneNumber
string
distance
number <double>
rateId
string
todoId
string
signature
string
userId
string
tagIds
Array of strings

Responses

Request samples

Content type
{
  • "projectId": "string",
  • "description": "string",
  • "location": "string",
  • "locationEnd": "string",
  • "startDateTime": "string",
  • "endDateTime": "string",
  • "feeling": 0,
  • "typeId": 0,
  • "paid": true,
  • "billed": true,
  • "billable": true,
  • "phoneNumber": "string",
  • "distance": 0,
  • "rateId": "string",
  • "todoId": "string",
  • "signature": "string",
  • "userId": "string",
  • "tagIds": [
    ]
}

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "deleted": true,
  • "running": true,
  • "lastUpdate": 0,
  • "created": 0,
  • "description": "string",
  • "location": "string",
  • "locationEnd": "string",
  • "startDateTime": "string",
  • "endDateTime": "string",
  • "feeling": 0,
  • "typeId": 0,
  • "paid": true,
  • "billed": true,
  • "billable": true,
  • "phoneNumber": "string",
  • "distance": 0,
  • "signature": "string",
  • "project": {
    },
  • "todo": {
    },
  • "rate": {
    },
  • "member": {
    },
  • "invoiceId": "string",
  • "tags": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "duration": 0,
  • "durationBreak": 0,
  • "salaryTotal": 0,
  • "salaryBreak": 0,
  • "expensesTotal": 0,
  • "expensesPaid": 0,
  • "mileage": 0,
  • "notesTotal": 0
}

Get task

Get task by id.

path Parameters
id
required
string

Responses

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "deleted": true,
  • "running": true,
  • "lastUpdate": 0,
  • "created": 0,
  • "description": "string",
  • "location": "string",
  • "locationEnd": "string",
  • "startDateTime": "string",
  • "endDateTime": "string",
  • "feeling": 0,
  • "typeId": 0,
  • "paid": true,
  • "billed": true,
  • "billable": true,
  • "phoneNumber": "string",
  • "distance": 0,
  • "signature": "string",
  • "project": {
    },
  • "todo": {
    },
  • "rate": {
    },
  • "member": {
    },
  • "invoiceId": "string",
  • "tags": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "duration": 0,
  • "durationBreak": 0,
  • "salaryTotal": 0,
  • "salaryBreak": 0,
  • "expensesTotal": 0,
  • "expensesPaid": 0,
  • "mileage": 0,
  • "notesTotal": 0
}

Update task

Update task by id.

path Parameters
id
required
string
Request Body schema:
projectId
string
description
string
location
string
locationEnd
string
startDateTime
string
endDateTime
string
feeling
integer <int32>
typeId
integer <int32>
paid
boolean
billed
boolean
billable
boolean
phoneNumber
string
distance
number <double>
rateId
string
todoId
string
signature
string
deleted
boolean
tagIds
Array of strings

Responses

Request samples

Content type
{
  • "projectId": "string",
  • "description": "string",
  • "location": "string",
  • "locationEnd": "string",
  • "startDateTime": "string",
  • "endDateTime": "string",
  • "feeling": 0,
  • "typeId": 0,
  • "paid": true,
  • "billed": true,
  • "billable": true,
  • "phoneNumber": "string",
  • "distance": 0,
  • "rateId": "string",
  • "todoId": "string",
  • "signature": "string",
  • "deleted": true,
  • "tagIds": [
    ]
}

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "deleted": true,
  • "running": true,
  • "lastUpdate": 0,
  • "created": 0,
  • "description": "string",
  • "location": "string",
  • "locationEnd": "string",
  • "startDateTime": "string",
  • "endDateTime": "string",
  • "feeling": 0,
  • "typeId": 0,
  • "paid": true,
  • "billed": true,
  • "billable": true,
  • "phoneNumber": "string",
  • "distance": 0,
  • "signature": "string",
  • "project": {
    },
  • "todo": {
    },
  • "rate": {
    },
  • "member": {
    },
  • "invoiceId": "string",
  • "tags": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "duration": 0,
  • "durationBreak": 0,
  • "salaryTotal": 0,
  • "salaryBreak": 0,
  • "expensesTotal": 0,
  • "expensesPaid": 0,
  • "mileage": 0,
  • "notesTotal": 0
}

Remove task

Remove task by id.

path Parameters
id
required
string

Responses

Print work record

Print work record by id.

path Parameters
id
required
string

Responses

Search tasks

Search tasks by given parameters.

Request Body schema:
search
string
sort
string
order
string
count
integer <int32>
page
integer <int32>
limit
integer <int32>
startDate
string
endDate
string
teamId
string
projectId
string
todoId
string
rateId
string
documentId
string
type
string
filter
string
teamIds
Array of strings
projectIds
Array of strings
tagIds
Array of strings
taskIds
Array of strings
userIds
Array of strings
feelings
Array of integers <int32> [ items <int32 > ]
populatePauses
boolean
populateExpenses
boolean
populateNotes
boolean
populateTags
boolean
performance
boolean
offset
integer <int32>

Responses

Request samples

Content type
{
  • "search": "string",
  • "sort": "string",
  • "order": "string",
  • "count": 0,
  • "page": 0,
  • "limit": 0,
  • "startDate": "string",
  • "endDate": "string",
  • "teamId": "string",
  • "projectId": "string",
  • "todoId": "string",
  • "rateId": "string",
  • "documentId": "string",
  • "type": "string",
  • "filter": "string",
  • "teamIds": [
    ],
  • "projectIds": [
    ],
  • "tagIds": [
    ],
  • "taskIds": [
    ],
  • "userIds": [
    ],
  • "feelings": [
    ],
  • "populatePauses": true,
  • "populateExpenses": true,
  • "populateNotes": true,
  • "populateTags": true,
  • "performance": true,
  • "offset": 0
}

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    },
  • "taskStatistic": {
    },
  • "currentPerformance": {
    },
  • "lastPerformance": {
    }
}

Update status

Update status of a task.

Request Body schema:
id
string
status
integer <int32>
notBillable
boolean
notBilled
boolean
paid
boolean
billed
boolean
unpaid
boolean

Responses

Request samples

Content type
{
  • "id": "string",
  • "status": 0,
  • "notBillable": true,
  • "notBilled": true,
  • "paid": true,
  • "billed": true,
  • "unpaid": true
}

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "deleted": true,
  • "running": true,
  • "lastUpdate": 0,
  • "created": 0,
  • "description": "string",
  • "location": "string",
  • "locationEnd": "string",
  • "startDateTime": "string",
  • "endDateTime": "string",
  • "feeling": 0,
  • "typeId": 0,
  • "paid": true,
  • "billed": true,
  • "billable": true,
  • "phoneNumber": "string",
  • "distance": 0,
  • "signature": "string",
  • "project": {
    },
  • "todo": {
    },
  • "rate": {
    },
  • "member": {
    },
  • "invoiceId": "string",
  • "tags": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "duration": 0,
  • "durationBreak": 0,
  • "salaryTotal": 0,
  • "salaryBreak": 0,
  • "expensesTotal": 0,
  • "expensesPaid": 0,
  • "mileage": 0,
  • "notesTotal": 0
}

Update times

Update start and end times of a task.

Request Body schema:
id
string
start
string
end
string

Responses

Request samples

Content type
{
  • "id": "string",
  • "start": "string",
  • "end": "string"
}

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "deleted": true,
  • "running": true,
  • "lastUpdate": 0,
  • "created": 0,
  • "description": "string",
  • "location": "string",
  • "locationEnd": "string",
  • "startDateTime": "string",
  • "endDateTime": "string",
  • "feeling": 0,
  • "typeId": 0,
  • "paid": true,
  • "billed": true,
  • "billable": true,
  • "phoneNumber": "string",
  • "distance": 0,
  • "signature": "string",
  • "project": {
    },
  • "todo": {
    },
  • "rate": {
    },
  • "member": {
    },
  • "invoiceId": "string",
  • "tags": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "duration": 0,
  • "durationBreak": 0,
  • "salaryTotal": 0,
  • "salaryBreak": 0,
  • "expensesTotal": 0,
  • "expensesPaid": 0,
  • "mileage": 0,
  • "notesTotal": 0
}

Pause

Endpoint to retrieve and manage pauses.

List pauses

List pauses.

query Parameters
taskId
string
sort
string
order
string
page
integer <int32>
limit
integer <int32>

Responses

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

Create pause

Create a new pause.

Request Body schema:
description
string
startDateTime
string
endDateTime
string
taskId
string

Responses

Request samples

Content type
{
  • "description": "string",
  • "startDateTime": "string",
  • "endDateTime": "string",
  • "taskId": "string"
}

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "deleted": true,
  • "running": true,
  • "lastUpdate": 0,
  • "created": 0,
  • "description": "string",
  • "startDateTime": "string",
  • "endDateTime": "string",
  • "task": {
    },
  • "member": {
    }
}

Get pause

Get pause by id.

path Parameters
id
required
string

Responses

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "deleted": true,
  • "running": true,
  • "lastUpdate": 0,
  • "created": 0,
  • "description": "string",
  • "startDateTime": "string",
  • "endDateTime": "string",
  • "task": {
    },
  • "member": {
    }
}

Update pause

Update pause by id.

path Parameters
id
required
string
Request Body schema:
description
string
startDateTime
string
endDateTime
string
deleted
boolean

Responses

Request samples

Content type
{
  • "description": "string",
  • "startDateTime": "string",
  • "endDateTime": "string",
  • "deleted": true
}

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "deleted": true,
  • "running": true,
  • "lastUpdate": 0,
  • "created": 0,
  • "description": "string",
  • "startDateTime": "string",
  • "endDateTime": "string",
  • "task": {
    },
  • "member": {
    }
}

Remove pause

Remove pause by id.

path Parameters
id
required
string

Responses

Search pauses

Search pauses by given parameters.

Request Body schema:
search
string
sort
string
order
string
count
integer <int32>
page
integer <int32>
limit
integer <int32>
taskId
string
offset
integer <int32>

Responses

Request samples

Content type
{
  • "search": "string",
  • "sort": "string",
  • "order": "string",
  • "count": 0,
  • "page": 0,
  • "limit": 0,
  • "taskId": "string",
  • "offset": 0
}

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

Expense

Endpoint to retrieve and manage expenses.

List expenses

List expenses.

query Parameters
taskId
string
filter
string
sort
string
order
string
page
integer <int32>
limit
integer <int32>

Responses

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

Create expense

Create a new expense.

Request Body schema:
description
string
dateTime
string
amount
number <double>
refunded
boolean
fileUri
string
fileName
string
taskId
string

Responses

Request samples

Content type
{
  • "description": "string",
  • "dateTime": "string",
  • "amount": 0,
  • "refunded": true,
  • "fileUri": "string",
  • "fileName": "string",
  • "taskId": "string"
}

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "deleted": true,
  • "lastUpdate": 0,
  • "created": 0,
  • "description": "string",
  • "dateTime": "string",
  • "amount": 0,
  • "refunded": true,
  • "fileUri": "string",
  • "fileName": "string",
  • "task": {
    },
  • "member": {
    },
  • "invoiceId": "string"
}

Get expense

Get expense by id.

path Parameters
id
required
string

Responses

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "deleted": true,
  • "lastUpdate": 0,
  • "created": 0,
  • "description": "string",
  • "dateTime": "string",
  • "amount": 0,
  • "refunded": true,
  • "fileUri": "string",
  • "fileName": "string",
  • "task": {
    },
  • "member": {
    },
  • "invoiceId": "string"
}

Update expense

Update expense by id.

path Parameters
id
required
string
Request Body schema:
description
string
dateTime
string
amount
number <double>
refunded
boolean
deleted
boolean
fileUri
string
fileName
string

Responses

Request samples

Content type
{
  • "description": "string",
  • "dateTime": "string",
  • "amount": 0,
  • "refunded": true,
  • "deleted": true,
  • "fileUri": "string",
  • "fileName": "string"
}

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "deleted": true,
  • "lastUpdate": 0,
  • "created": 0,
  • "description": "string",
  • "dateTime": "string",
  • "amount": 0,
  • "refunded": true,
  • "fileUri": "string",
  • "fileName": "string",
  • "task": {
    },
  • "member": {
    },
  • "invoiceId": "string"
}

Remove expense

Remove expense by id.

path Parameters
id
required
string

Responses

Get expense file url

Get expense file url by id.

path Parameters
id
required
string

Responses

Response samples

Content type
{
  • "url": "string"
}

Search expenses

Search expenses by given parameters.

Request Body schema:
search
string
sort
string
order
string
count
integer <int32>
page
integer <int32>
limit
integer <int32>
startDate
string
endDate
string
taskId
string
documentId
string
filter
string
projectIds
Array of strings
taskIds
Array of strings
offset
integer <int32>

Responses

Request samples

Content type
{
  • "search": "string",
  • "sort": "string",
  • "order": "string",
  • "count": 0,
  • "page": 0,
  • "limit": 0,
  • "startDate": "string",
  • "endDate": "string",
  • "taskId": "string",
  • "documentId": "string",
  • "filter": "string",
  • "projectIds": [
    ],
  • "taskIds": [
    ],
  • "offset": 0
}

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

Update status

Update status of an exepense.

Request Body schema:
id
string
refunded
boolean

Responses

Request samples

Content type
{
  • "id": "string",
  • "refunded": true
}

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "deleted": true,
  • "lastUpdate": 0,
  • "created": 0,
  • "description": "string",
  • "dateTime": "string",
  • "amount": 0,
  • "refunded": true,
  • "fileUri": "string",
  • "fileName": "string",
  • "task": {
    },
  • "member": {
    },
  • "invoiceId": "string"
}

Note

Endpoint to retrieve and manage notes.

List notes

List notes.

query Parameters
taskId
string
sort
string
order
string
page
integer <int32>
limit
integer <int32>

Responses

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}

Create note

Create a new note.

Request Body schema:
text
string
dateTime
string
uri
string
driveId
string
taskId
string

Responses

Request samples

Content type
{
  • "text": "string",
  • "dateTime": "string",
  • "uri": "string",
  • "driveId": "string",
  • "taskId": "string"
}

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "deleted": true,
  • "lastUpdate": 0,
  • "created": 0,
  • "text": "string",
  • "dateTime": "string",
  • "uri": "string",
  • "driveId": "string",
  • "task": {
    },
  • "member": {
    }
}

Get note

Get note by id.

path Parameters
id
required
string

Responses

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "deleted": true,
  • "lastUpdate": 0,
  • "created": 0,
  • "text": "string",
  • "dateTime": "string",
  • "uri": "string",
  • "driveId": "string",
  • "task": {
    },
  • "member": {
    }
}

Update note

Update note by id.

path Parameters
id
required
string
Request Body schema:
text
string
dateTime
string
uri
string
driveId
string
deleted
boolean

Responses

Request samples

Content type
{
  • "text": "string",
  • "dateTime": "string",
  • "uri": "string",
  • "driveId": "string",
  • "deleted": true
}

Response samples

Content type
{
  • "id": "string",
  • "user": "string",
  • "deleted": true,
  • "lastUpdate": 0,
  • "created": 0,
  • "text": "string",
  • "dateTime": "string",
  • "uri": "string",
  • "driveId": "string",
  • "task": {
    },
  • "member": {
    }
}

Remove note

Remove note by id.

path Parameters
id
required
string

Responses

Get note file url

Get note file url by id.

path Parameters
id
required
string

Responses

Response samples

Content type
{
  • "url": "string"
}

Print note

Print note by id.

path Parameters
id
required
string

Responses

Search notes

Search notes by given parameters.

Request Body schema:
search
string
sort
string
order
string
count
integer <int32>
page
integer <int32>
limit
integer <int32>
startDate
string
endDate
string
taskId
string
documentId
string
taskIds
Array of strings
offset
integer <int32>

Responses

Request samples

Content type
{
  • "search": "string",
  • "sort": "string",
  • "order": "string",
  • "count": 0,
  • "page": 0,
  • "limit": 0,
  • "startDate": "string",
  • "endDate": "string",
  • "taskId": "string",
  • "documentId": "string",
  • "taskIds": [
    ],
  • "offset": 0
}

Response samples

Content type
{
  • "items": [
    ],
  • "params": {
    }
}