Download OpenAPI specification:Download
Teamdeck API is a RESTful interface, which allows you to access and update much of your data in the app.
Responses (including errors) are returned in JSON format. We use built-in HTTP features, like HTTP verbs, to receive commands and return responses. The API is designed to have predictable, resource-oriented URLs.
In order to authorize your account, you need to generate a token.
Log in to your Teamdeck account and go to Settings > Integrations > API keys.
Note: You have to be an owner of your Teamdeck organization to access this tab.
Type in the name of your token, select the permission you want to receive and click the plus icon.
There are two permission types in Teamdeck:
Teamdeck uses standard HTTP response codes to indicate API errors or successful requests:
Important changes happening in your Teamdeck account are recorded as events. For example, each time a new project is added, an event is created.
You can listen to these events and be notified about changes in your organization by configuring Webhook URL.
Log in to your Teamdeck account and go to Settings > Integrations > Webhooks.
Note: You have to be an owner of your Teamdeck organization to access this tab.
Here you can paste a payload URL and name it. You can create multiple webhooks, but all of the events (listed below) will be sent to any webhook you set up.
Note: You have to use HTTPS in your webhook URL.
Retry policy: In an event your request fails (the response status > 300), we will try sending a request after 30 seconds, and then the last one 60 seconds later.
The events are returned in JSON format, following this basic structure:
{
"id": 1,
"type": "booking_created",
"date": "2018-01-01 15:00:00",
"creator_resource_id": 1,
"data": {
"id": 1,
...
}
}
For update events the structure will be:
{
"id": 1,
"type": "booking_created",
"date": "2018-01-01 15:00:00",
"creator_resource_id": 1,
"data": {
"id": 1,
...
},
"data_before": {
"id": 1,
...
}
}
The following events are available:
Event type | Description |
---|---|
booking_created | New booking created |
booking_updated | Booking updated |
booking_deleted | Booking deleted |
time_entry_created | New time entry created |
time_entry_updated | Time entry updated |
time_entry_deleted | Time entry deleted |
vacation_created | New vacation created |
vacation_updated | Vacation updated |
vacation_deleted | Vacation deleted |
project_created | New project created |
project_updated | Project updated |
When you plan your team’s work in Teamdeck, every assignment is called a booking. Bookings are always assigned to resources and projects, have a start and end data, as well as a specified daily duration.
Returns a list of bookings in your organization.
sort | any Pick the order in which the bookings will be returned. You can sort by any field: |
fields | any Select the fields you want to be returned. By default, all of the fields are returned. |
expand | any Select the extended fields you want to be returned. Available fields: [ |
page | integer Default: 0 Select the page you want to display. By default, this is set to |
resource_id | integer Filter the resource_id values of the bookings you want to be returned. Multiple IDs can be passed as comma-separated values. By default, all of the bookings are returned. |
project_id | integer Filter the project_id values of the bookings you want to be returned. Multiple IDs can be passed as comma-separated values. By default, all of the bookings are returned. |
external_id | string Filter the external_id values of the entries you want to be returned. Multiple IDs can be passed as comma-separated values. By default, all of the entries are returned. |
start_date_from | date Filter bookings by their start_date field. Use the YYYY-MM-DD format. |
start_date_to | date Filter bookings by their start_date field. Use the YYYY-MM-DD format. |
end_date_from | date Filter bookings by their end_date field. Use the YYYY-MM-DD format. |
end_date_to | date Filter bookings by their end_date field. Use the YYYY-MM-DD format. |
date | date Filter bookings by single date. Use the YYYY-MM-DD format. You can`t use this filter with date range filters. |
Successful operation
Invalid authorization response
Invalid input
This is Teamdecks Public API documentation
[- {
- "id": 0,
- "resource_id": 1,
- "project_id": 1,
- "hours": 8,
- "minutes": 120,
- "weekend_booking": true,
- "holidays_booking": true,
- "vacations_booking": true,
- "rrule": "FREQ=DAILY;COUNT=2",
- "description": "string",
- "external_id": "string",
- "start_date": "2018-07-01",
- "end_date": "2018-07-01",
- "creator_resource_id": 1,
- "editor_resource_id": 1
}
]
X-TD-DISABLE-NOTIFICATIONS | boolean Default: false If set to |
Booking object that needs to be added
resource_id required | integer (Resource identifier) ID of the resource assigned to this entry. |
project_id required | integer (Project identifier) ID of the project assigned to this entry. |
hours | int64 Deprecated The length of a booking in hours. |
minutes required | int64 The length of a booking in minutes. |
weekend_booking | boolean Default: false This is set to |
holidays_booking | boolean Default: false This is set to |
vacations_booking | boolean Default: false This is set to |
rrule | string The RRULE if you want to repeat the booking. We allow for FREQ=DAILY|WEEKLY|MONTHLY|YEARLY, BYDAY|BYMONTHDAY. We require to set UNTIL or COUNT, and max duration is 3 years. |
description | string Description of a booking. |
external_id | string External id of a booking for internal use. |
start_date required | string <YYYY-MM-DD> Starting date of a booking. |
end_date required | string <YYYY-MM-DD> End date of a booking. |
creator_resource_id | integer (Resource identifier) ID of the resource who has created this booking. |
editor_resource_id | integer (Resource identifier) ID of the resource who has updated this booking. |
Successful operation
Invalid authorization response
Invalid token rights response
Invalid input
This is Teamdecks Public API documentation
{- "resource_id": 1,
- "project_id": 1,
- "hours": 8,
- "minutes": 120,
- "weekend_booking": true,
- "holidays_booking": true,
- "vacations_booking": true,
- "rrule": "FREQ=DAILY;COUNT=2",
- "description": "string",
- "external_id": "string",
- "start_date": "2018-07-01",
- "end_date": "2018-07-01",
- "creator_resource_id": 1,
- "editor_resource_id": 1
}
{- "id": 0,
- "resource_id": 1,
- "project_id": 1,
- "hours": 8,
- "minutes": 120,
- "weekend_booking": true,
- "holidays_booking": true,
- "vacations_booking": true,
- "rrule": "FREQ=DAILY;COUNT=2",
- "description": "string",
- "external_id": "string",
- "start_date": "2018-07-01",
- "end_date": "2018-07-01",
- "creator_resource_id": 1,
- "editor_resource_id": 1
}
Return a single booking from your organization based on its ID.
id required | integer (Booking identifier) Example: 1 ID of a booking you want to get. |
expand | any Select the extended fields you want to be returned. Available fields: [ |
Successful operation
Invalid authorization response
Invalid token rights response
This is Teamdecks Public API documentation
{- "id": 0,
- "resource_id": 1,
- "project_id": 1,
- "hours": 8,
- "minutes": 120,
- "weekend_booking": true,
- "holidays_booking": true,
- "vacations_booking": true,
- "rrule": "FREQ=DAILY;COUNT=2",
- "description": "string",
- "external_id": "string",
- "start_date": "2018-07-01",
- "end_date": "2018-07-01",
- "creator_resource_id": 1,
- "editor_resource_id": 1
}
Update information about any booking within your organization.
id required | integer (Booking identifier) Example: 1 ID of a booking you want to update. |
X-TD-DISABLE-NOTIFICATIONS | boolean Default: false If set to |
Booking object that needs to be added
resource_id required | integer (Resource identifier) ID of the resource assigned to this entry. |
project_id required | integer (Project identifier) ID of the project assigned to this entry. |
hours | int64 Deprecated The length of a booking in hours. |
minutes required | int64 The length of a booking in minutes. |
weekend_booking | boolean Default: false This is set to |
holidays_booking | boolean Default: false This is set to |
vacations_booking | boolean Default: false This is set to |
rrule | string The RRULE if you want to repeat the booking. We allow for FREQ=DAILY|WEEKLY|MONTHLY|YEARLY, BYDAY|BYMONTHDAY. We require to set UNTIL or COUNT, and max duration is 3 years. |
description | string Description of a booking. |
external_id | string External id of a booking for internal use. |
start_date required | string <YYYY-MM-DD> Starting date of a booking. |
end_date required | string <YYYY-MM-DD> End date of a booking. |
creator_resource_id | integer (Resource identifier) ID of the resource who has created this booking. |
editor_resource_id | integer (Resource identifier) ID of the resource who has updated this booking. |
Successful operation
Invalid authorization response
Invalid token rights response
Invalid input
This is Teamdecks Public API documentation
{- "resource_id": 1,
- "project_id": 1,
- "hours": 8,
- "minutes": 120,
- "weekend_booking": true,
- "holidays_booking": true,
- "vacations_booking": true,
- "rrule": "FREQ=DAILY;COUNT=2",
- "description": "string",
- "external_id": "string",
- "start_date": "2018-07-01",
- "end_date": "2018-07-01",
- "creator_resource_id": 1,
- "editor_resource_id": 1
}
{- "id": 0,
- "resource_id": 1,
- "project_id": 1,
- "hours": 8,
- "minutes": 120,
- "weekend_booking": true,
- "holidays_booking": true,
- "vacations_booking": true,
- "rrule": "FREQ=DAILY;COUNT=2",
- "description": "string",
- "external_id": "string",