Teamdeck API (1.0.0)

Download OpenAPI specification:Download

Introduction

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.

Authentication

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:

  • read - allows you to read the data using the GET method
  • read + write - allows you to read & modify the data using the GET, PUT, POST & DELETE methods

api_key

In order to authenticate Teamdeck API, send a request with the following HTTP header:

Security Scheme Type API Key
Header parameter name: X-Api-Key

Errors

Teamdeck uses standard HTTP response codes to indicate API errors or successful requests:

  • 2xx - the request was fulfilled successfully,
  • 4xx - there was an issue with the request that was sent,
  • 5xx - there is a server-side problem - something went wrong on Teamdeck’s end.

Rate limiting

Teamdeck accounts are subject to rate limiting: 5000 requests per hour per key.

Webhooks

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

Bookings

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.

Return bookings in organization

Returns a list of bookings in your organization.

Authorizations:
query Parameters
sort
any

Pick the order in which the bookings will be returned. You can sort by any field: ?sort=start_date will return a list of bookings sorted by their starting dates in ascending order, whereas ?sort=-start_date will return a list in descending order.

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: [tags, occurrences]

page
integer
Default: 0

Select the page you want to display. By default, this is set to 0.

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.

Responses

200

Successful operation

401

Invalid authorization response

422

Invalid input

get /bookings

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/bookings

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Add a new booking

Authorizations:
header Parameters
X-TD-DISABLE-NOTIFICATIONS
boolean
Default: false

If set to true notifications won't be sent

Request Body schema: application/json

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 false by default, meaning that the booking is set not to happen during a weekend day. true signifies bookings that don’t take weekends into account.

holidays_booking
boolean
Default: false

This is set to false by default, meaning that the booking is is set not to happen during a holiday. true signifies bookings that don’t take holidays into account.

vacations_booking
boolean
Default: false

This is set to false by default, meaning that the booking is is set not to happen during a vacation (personal time off of a given resource). true signifies bookings that don’t take vacations into account.

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.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

post /bookings

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/bookings

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "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
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "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 single booking from organization

Return a single booking from your organization based on its ID.

Authorizations:
path Parameters
id
required
integer (Booking identifier)
Example: 1

ID of a booking you want to get.

query Parameters
expand
any

Select the extended fields you want to be returned. Available fields: [tags, occurrences]

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

get /bookings/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/bookings/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "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 booking

Update information about any booking within your organization.

Authorizations:
path Parameters
id
required
integer (Booking identifier)
Example: 1

ID of a booking you want to update.

header Parameters
X-TD-DISABLE-NOTIFICATIONS
boolean
Default: false

If set to true notifications won't be sent

Request Body schema: application/json

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 false by default, meaning that the booking is set not to happen during a weekend day. true signifies bookings that don’t take weekends into account.

holidays_booking
boolean
Default: false

This is set to false by default, meaning that the booking is is set not to happen during a holiday. true signifies bookings that don’t take holidays into account.

vacations_booking
boolean
Default: false

This is set to false by default, meaning that the booking is is set not to happen during a vacation (personal time off of a given resource). true signifies bookings that don’t take vacations into account.

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.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

put /bookings/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/bookings/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "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
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "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
}

Delete single booking from organization

Delete a booking using its ID.

Authorizations:
path Parameters
id
required
integer (Booking identifier)
Example: 1

ID of a booking you want to delete.

header Parameters
X-TD-DISABLE-NOTIFICATIONS
boolean
Default: false

If set to true notifications won't be sent

Responses

204

Successful operation

401

Invalid authorization response

403

Invalid token rights response

delete /bookings/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/bookings/{id}

Update tags

Update information about tags connected to a booking.

Authorizations:
path Parameters
id
required
integer (Booking identifier)
Example: 1

ID of a booking you want to update.

Request Body schema: application/json

List of tags ids

Array
integer (Booking Tag identifier)

Booking Tag identifier

Responses

200

Success

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

put /bookings/{id}/tags

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/bookings/{id}/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
[
  • 1,
  • 2,
  • 3
]

Response samples

Content type
application/json
Copy
Expand all Collapse all
[ ]

Booking tags

This API allows you to access and update information about your team’s tags

Return booking tags in organization

Returns a list of booking tags from your organization. You can sort this list by any field, or return only selected booking tags.

Authorizations:
query Parameters
sort
any

Pick the order in which the booking tags will be returned. You can sort by any field: ?sort=name will return a list of booking tags sorted by their names in ascending order, whereas ?sort=-name will return a list in descending order.

fields
any

Select the fields you want to be returned. By default, all of the fields are returned.

page
integer
Default: 0

Select the page you want to display. By default, this is set to 0

archived
boolean
Default: 0

Filter by archived flag. By default, this is set to 0

name
string

Filter the names of the booking tags you want to be returned. By default, all of the booking tags are returned.

Responses

200

Successful operation

400

Invalid request response

401

Invalid authorization response

get /booking-tags

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/booking-tags

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Add a new booking tag

Authorizations:
Request Body schema: application/json

Booking Tag object that needs to be added

id
integer

ID of a tag.

name
required
string

Name of a tag.

icon
required
string (tag_icon)
Enum: "alarm" "alarm_on" "alarm_off" "announcement" "bookmark" "assignment_turned_in" "build" "change_history" "check_circle" "description" "favorite" "favorite_border" "feedback" "grade" "label" "lightbulb_outline" "lock_open" "lock_outline" "schedule" "question_answer" "report_problem" "settings_applications" "settings_phone" "shopping_cart" "stars" "supervisor_account" "timeline" "work" "error" "warning" "fiber_manual_record" "new_releases" "mic" "videocam" "chat_bubble" "import_contacts" "mail_outline" "phonelink_setup" "content_paste" "drafts" "reply" "weekend" "brightness_high" "gps_fixed" "developer_mode" "devices" "attach_money" "money_off" "attach_file" "insert_photo" "pie_chart" "cloud" "folder" "desktop_mac" "computer" "keyboard_backspace" "phone_android" "phone_iphone" "tablet_mac" "tablet_android" "watch" "memory" "brightness_1" "assistant_photo" "details" "flash_on" "flash_off" "lens" "palette" "remove_red_eye" "timelapse" "tag_faces" "beenhere" "directions_run" "layers" "local_cafe" "local_offer" "local_movies" "my_location" "arrow_downward" "arrow_upward" "arrow_forward" "arrow_back" "more_horiz" "do_not_disturb" "event_available" "event_busy" "sync_problem" "notifications" "mood" "pool" "check_box" "check_box_outline_blank" "indeterminate_check_box" "radio_button_checked" "radio_button_unchecked" "star" "star_border" "star_half" "code" "looks_one" "looks_two" "looks_3" "looks_4" "looks_5" "looks_6" "done" "hourglass_empty" "home" "av_timer" "check" "clear" "card_giftcard"

Available icons for a tag: e.g assignment turned in will be assignment_turned_in.

color
required
string

Color as hex code e.g. #FFF, #FFFFFF.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

post /booking-tags

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/booking-tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "icon": "assignment_turned_in",
  • "color": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "string",
  • "icon": "assignment_turned_in",
  • "color": "string"
}

Return single booking tag from organization

Return a single booking tag of your choosing.

Authorizations:
path Parameters
id
required
integer (Booking Tag identifier)
Example: 1

ID of a booking tag you want to get.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

get /booking-tags/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/booking-tags/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "string",
  • "icon": "assignment_turned_in",
  • "color": "string"
}

Update booking tag

Update information about any booking tag within your organization.

Authorizations:
path Parameters
id
required
integer (Booking Tag identifier)
Example: 1

ID of a booking tag you want to update.

Request Body schema: application/json

Booking Tag object that needs to be added

id
integer

ID of a tag.

name
required
string

Name of a tag.

icon
required
string (tag_icon)
Enum: "alarm" "alarm_on" "alarm_off" "announcement" "bookmark" "assignment_turned_in" "build" "change_history" "check_circle" "description" "favorite" "favorite_border" "feedback" "grade" "label" "lightbulb_outline" "lock_open" "lock_outline" "schedule" "question_answer" "report_problem" "settings_applications" "settings_phone" "shopping_cart" "stars" "supervisor_account" "timeline" "work" "error" "warning" "fiber_manual_record" "new_releases" "mic" "videocam" "chat_bubble" "import_contacts" "mail_outline" "phonelink_setup" "content_paste" "drafts" "reply" "weekend" "brightness_high" "gps_fixed" "developer_mode" "devices" "attach_money" "money_off" "attach_file" "insert_photo" "pie_chart" "cloud" "folder" "desktop_mac" "computer" "keyboard_backspace" "phone_android" "phone_iphone" "tablet_mac" "tablet_android" "watch" "memory" "brightness_1" "assistant_photo" "details" "flash_on" "flash_off" "lens" "palette" "remove_red_eye" "timelapse" "tag_faces" "beenhere" "directions_run" "layers" "local_cafe" "local_offer" "local_movies" "my_location" "arrow_downward" "arrow_upward" "arrow_forward" "arrow_back" "more_horiz" "do_not_disturb" "event_available" "event_busy" "sync_problem" "notifications" "mood" "pool" "check_box" "check_box_outline_blank" "indeterminate_check_box" "radio_button_checked" "radio_button_unchecked" "star" "star_border" "star_half" "code" "looks_one" "looks_two" "looks_3" "looks_4" "looks_5" "looks_6" "done" "hourglass_empty" "home" "av_timer" "check" "clear" "card_giftcard"

Available icons for a tag: e.g assignment turned in will be assignment_turned_in.

color
required
string

Color as hex code e.g. #FFF, #FFFFFF.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

put /booking-tags/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/booking-tags/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "icon": "assignment_turned_in",
  • "color": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "string",
  • "icon": "assignment_turned_in",
  • "color": "string"
}

Delete single booking tag from organization

Delete a booking tag using its ID. If tag has connection with bookings, the tag will be archived, but not deleted.

Authorizations:
path Parameters
id
required
integer (Booking Tag identifier)
Example: 1

ID of a booking tag you want to delete.

Responses

204

Successful operation

401

Invalid authorization response

403

Invalid token rights response

delete /booking-tags/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/booking-tags/{id}

Custom fields

Teamdeck’s API allows you to access custom fields defined in your organization. In order to access their values check Custom field values section. Example flow:

  • Imagine you have a custom field called Job Title and you want to retrieve the job title of one of your resources. First, you should get the list of your custom fields, find the “job title” custom field and after that send request to:
  • custom-field-values/custom-field/{ID of found custom field}/resource/{ID of resource whose job title you want to check}

Return custom fields in organization

Returns a list of custom fields from your organization. You can sort this list by any field, or return only selected custom fields.

Authorizations:
query Parameters
sort
any

Pick the order in which the custom fields will be returned. You can sort by any field: ?sort=name will return a list of custom fields sorted by their names in ascending order, whereas ?sort=-name will return a list in descending order.

fields
any

Select the fields you want to be returned. By default, all of the fields are returned.

page
integer
Default: 0

Select the page you want to display. By default, this is set to 0

name
string

Filter the names of the custom fields you want to be returned. By default, all of the custom fields are returned.

related_table
string

Filter custom fields by the table they’re related to (either projects or resources). By default, all of the custom fields are returned.

Responses

200

Successful operation

400

Invalid request response

401

Invalid authorization response

get /custom-fields

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/custom-fields

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Add a new custom field

Authorizations:
Request Body schema: application/json

Custom field object that needs to be added

id
integer

ID of a custom field. This is the model class for table custom_field.

type
required
integer

Type of a given custom field (list or string). 1 is a list type, 2 is a string type.

name
required
string

Name of a custom field.

required
required
boolean

True when a given custom field is required.

default_string_value
string

Default value for the custom field (only for string type).

default_string_value_exists
boolean

True when a given custom field has a default string value.

related_table
required
string

The table a given custom field is related to. resource when the custom field is assigned to resources and project when it is assigned to projects.

multiple
boolean

True when connected object (resource/project) can have multiple values of this custom field.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

post /custom-fields

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/custom-fields

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "type": 0,
  • "name": "string",
  • "required": true,
  • "default_string_value": "string",
  • "default_string_value_exists": true,
  • "related_table": "string",
  • "multiple": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "type": 0,
  • "name": "string",
  • "required": true,
  • "default_string_value": "string",
  • "default_string_value_exists": true,
  • "related_table": "string",
  • "multiple": true
}

Return single custom field from organization

Return a single custom field of your choosing.

Authorizations:
path Parameters
id
required
integer (Custom field identifier)
Example: 1

ID of a custom field you want to get.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

get /custom-fields/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/custom-fields/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "type": 0,
  • "name": "string",
  • "required": true,
  • "default_string_value": "string",
  • "default_string_value_exists": true,
  • "related_table": "string",
  • "multiple": true
}

Update custom field

Update information about any custom field within your organization.

Authorizations:
path Parameters
id
required
integer (Custom field identifier)
Example: 1

ID of a custom field you want to update.

Request Body schema: application/json

Custom field object that needs to be added

id
integer

ID of a custom field. This is the model class for table custom_field.

type
required
integer

Type of a given custom field (list or string). 1 is a list type, 2 is a string type.

name
required
string

Name of a custom field.

required
required
boolean

True when a given custom field is required.

default_string_value
string

Default value for the custom field (only for string type).

default_string_value_exists
boolean

True when a given custom field has a default string value.

related_table
required
string

The table a given custom field is related to. resource when the custom field is assigned to resources and project when it is assigned to projects.

multiple
boolean

True when connected object (resource/project) can have multiple values of this custom field.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

put /custom-fields/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/custom-fields/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "type": 0,
  • "name": "string",
  • "required": true,
  • "default_string_value": "string",
  • "default_string_value_exists": true,
  • "related_table": "string",
  • "multiple": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "type": 0,
  • "name": "string",
  • "required": true,
  • "default_string_value": "string",
  • "default_string_value_exists": true,
  • "related_table": "string",
  • "multiple": true
}

Delete single custom field from organization

Delete a custom field using its ID.

Authorizations:
path Parameters
id
required
integer (Custom field identifier)
Example: 1

ID of a custom field you want to delete.

Responses

204

Successful operation

401

Invalid authorization response

403

Invalid token rights response

delete /custom-fields/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/custom-fields/{id}

Custom field values

Teamdeck’s API allows you to access the values of custom fields defined in your organization. The custom fields themselves can also be returned - check Custom fields to learn more. Example flow: Imagine you have a custom field called Job Title and you want to retrieve the job title of one of your resources. First, you should get the list of your custom fields, find the “job title” custom field and after that send request to: custom-field-values/custom-field/{ID of found custom field}/resource/{ID of resource whose job title you want to check}

Return custom field values in organization

Returns a list of custom field values from your organization. You can sort them by any fields, or return only selected custom field values.

Authorizations:
query Parameters
sort
any

Pick the order in which the custom field values will be returned. You can sort by any field: ?sort=value will return a list of custom field values sorted by their values in ascending order, whereas ?sort=-value will return a list in descending order.

fields
any

Select the fields you want to be returned. By default, all of the fields are returned.

page
integer
Default: 0

Select the page you want to display. By default, this is set to 0

custom_field_id
string

Filter the list by the custom field these custom field values belong to. By default, all of the custom field values are returned.

Responses

200

Successful operation

400

Invalid request response

401

Invalid authorization response

get /custom-field-values

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/custom-field-values

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Add a new custom field value

Authorizations:
Request Body schema: application/json

Custom field value object that needs to be added

id
integer

ID of a custom field value. This is the model class for table custom_field_value.

value
required
string

Custom field value.

custom_field_id
required
integer (Custom field identifier)

Custom field identifier

default
boolean

True when the value is default (only for list type).

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

post /custom-field-values

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/custom-field-values

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "value": "string",
  • "custom_field_id": 1,
  • "default": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "value": "string",
  • "custom_field_id": 1,
  • "default": true
}

Return a single custom field value from organization

Return a single custom field value of your choosing, based on its ID.

Authorizations:
path Parameters
id
required
integer (Custom field value identifier)
Example: 1

ID of a custom field value you want to get.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

get /custom-field-values/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/custom-field-values/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "value": "string",
  • "custom_field_id": 1,
  • "default": true
}

Update custom field value

Update information about any custom field within your organization.

Authorizations:
path Parameters
id
required
integer (Custom field value identifier)
Example: 1

ID of a custom field value you want to update.

Request Body schema: application/json

Custom field value object that needs to be added

id
integer

ID of a custom field value. This is the model class for table custom_field_value.

value
required
string

Custom field value.

custom_field_id
required
integer (Custom field identifier)

Custom field identifier

default
boolean

True when the value is default (only for list type).

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

put /custom-field-values/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/custom-field-values/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "value": "string",
  • "custom_field_id": 1,
  • "default": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "value": "string",
  • "custom_field_id": 1,
  • "default": true
}

Delete single custom field value from organization

Delete a custom field value using its ID.

Authorizations:
path Parameters
id
required
integer (Custom field value identifier)
Example: 1

ID of a custom field value you want to delete.

Responses

204

Successful operation

401

Invalid authorization response

403

Invalid token rights response

delete /custom-field-values/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/custom-field-values/{id}

Return custom field values from a chosen custom field & resource

Returns custom field values from a chosen custom field assigned to a chosen resource. You can sort them by any fields, or return only selected custom field values.

Authorizations:
query Parameters
sort
any

Pick the order in which the custom field values will be returned. You can sort by any field: ?sort=value will return a list of custom field values sorted by their values in ascending order, whereas ?sort=-value will return a list in descending order.

fields
any

Select the fields you want to be returned. By default, all of the fields are returned.

page
integer
Default: 0

Select the page you want to display. By default, this is set to 0

custom_field_id
required
string

Select the custom field of the values you want to return.

resource_id
required
string

Select the resource whose custom field values you want to return.

Responses

200

Successful operation

400

Invalid request response

401

Invalid authorization response

get /custom-field-values/custom-field/{custom_field_id}/resource/{resource_id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/custom-field-values/custom-field/{custom_field_id}/resource/{resource_id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Return custom field values from a chosen custom field & project

Returns custom field values from a chosen custom field assigned to a chosen project. You can sort them by any fields, or return only selected custom field values.

Authorizations:
query Parameters
sort
any

Pick the order in which the custom field values will be returned. You can sort by any field: ?sort=value will return a list of custom field values sorted by their values in ascending order, whereas ?sort=-value will return a list in descending order.

fields
any

Select the fields you want to be returned. By default, all of the fields are returned.

page
integer
Default: 0

Select the page you want to display. By default, this is set to 0

custom_field_id
required
string

Select the custom field of the values you want to return.

project_id
required
string

Select the project which custom field values you want to return.

Responses

200

Successful operation

400

Invalid request response

401

Invalid authorization response

get /custom-field-values/custom-field/{custom_field_id}/project/{project_id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/custom-field-values/custom-field/{custom_field_id}/project/{project_id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

General

General methods

Return organization information

Returns the name of your organization as a string.

Authorizations:

Responses

200

Successful operation

401

Invalid authorization response

get /me

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/me

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "Example organization",
  • "work_week":
    [
    ],
  • "disable_vacation_approval": "1"
}

Holidays

Access and update holidays in your organization.

Return holidays in organization

Access and update holidays in your organization. Holidays in Teamdeck are understood as bank holidays, days during which nobody is working.

Authorizations:
query Parameters
sort
any

Pick the order in which the holidays will be returned. You can sort by any field: ?sort=name will return a list of holidays sorted by their names in ascending order, whereas ?sort=-name will return a list in descending order.

page
integer
Default: 0

Select the page you want to display. By default, this is set to 0.

name
string

Filter the names of the holidays you want to be returned. By default, all of the holidays are returned.

from
string

Return holidays from a chosen date. By default, all of the holidays are returned.

to
string

Return holidays to a chosen date. By default, all of the holidays are returned.

Responses

200

Successful operation

401

Invalid authorization response

get /holidays

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/holidays

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Add a new holiday

Authorizations:
Request Body schema: application/json

Holiday object that needs to be added

name
required
string (Holiday name) <= 255 characters

Holiday name.

date
required
string <YYYY-MM-DD>

Date of a holiday.

organization_unit_id
integer (Organization Unit identifier, in not provided the default will be used.)

ID of the unit assigned to this entry.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

post /holidays

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/holidays

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "Example holiday",
  • "date": "2019-01-01",
  • "organization_unit_id": 1
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "Example holiday",
  • "date": "2019-01-01",
  • "organization_unit_id": 1
}

Return a single holiday from your organization

Return any single holiday from your organization using its ID.

Authorizations:
path Parameters
id
required
integer (Holiday identifier)
Example: 1

ID of a holiday you want to get.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

get /holidays/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/holidays/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "Example holiday",
  • "date": "2019-01-01",
  • "organization_unit_id": 1
}

Update a holiday

Change information about any of the holidays in your organization.

Authorizations:
path Parameters
id
required
integer (Holiday identifier)
Example: 1

ID of a holiday you want to update.

Request Body schema: application/json

Holiday object that needs to be added

name
required
string (Holiday name) <= 255 characters

Holiday name.

date
required
string <YYYY-MM-DD>

Date of a holiday.

organization_unit_id
integer (Organization Unit identifier, in not provided the default will be used.)

ID of the unit assigned to this entry.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

put /holidays/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/holidays/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "Example holiday",
  • "date": "2019-01-01",
  • "organization_unit_id": 1
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "Example holiday",
  • "date": "2019-01-01",
  • "organization_unit_id": 1
}

Delete a single holiday from organization

Delete a holiday using its ID.

Authorizations:
path Parameters
id
required
integer (Holiday identifier)
Example: 1

ID of the holiday you want to delete.

Responses

204

Successful operation

401

Invalid authorization response

403

Invalid token rights response

delete /holidays/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/holidays/{id}

Projects

Access and update projects in your organization.

Return projects in organization

Returns a list of projects in your organization. You can sort them by any fields, or return only selected projects.

Authorizations:
query Parameters
sort
any

Pick the order in which the projects will be returned. You can sort by any field: ?sort=name will return a list of projects sorted by their names in ascending order, whereas ?sort=-name will return a list in descending order.

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: [tags, custom_field_values]

page
integer
Default: 0

Select the page you want to display. By default, this is set to 0.

name
string

Filter the names of the projects you want to be returned. By default, all of the projects are returned.

archived
integer

Filter the archived projects. By default, all of the projects are returned.

Responses

200

Successful operation

401

Invalid authorization response

get /projects

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/projects

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Add a new project

Authorizations:
Request Body schema: application/json

Project object that needs to be added

name
required
string (Project name) <= 100 characters

Project name.

color
string

Color in hex format.

archived
any <boolean>

Project archived flag.

enable_time_entry_approval
any <boolean>

If you set this to true, the status will be required in timesheets.

default_approver_id
any <int>

This is required when you set enable_time_entry_approval to true.

organization_unit_id
integer (Organization Unit identifier, in not provided the default will be used.)

ID of the unit assigned to this entry.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

post /projects

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/projects

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "Example project",
  • "color": "string",
  • "archived": false,
  • "enable_time_entry_approval": false,
  • "default_approver_id": 1,
  • "organization_unit_id": 1
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "Example project",
  • "color": "string",
  • "archived": false,
  • "enable_time_entry_approval": false,
  • "default_approver_id": 1,
  • "organization_unit_id": 1
}

Return a single project from your organization

Return any single project from your organization using its ID.

Authorizations:
path Parameters
id
required
integer (Project identifier)
Example: 1

ID of a project you want to get.

query Parameters
expand
any

Select the extended fields you want to be returned. Available fields: [tags, custom_field_values]

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

get /projects/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/projects/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "Example project",
  • "color": "string",
  • "archived": false,
  • "enable_time_entry_approval": false,
  • "default_approver_id": 1,
  • "organization_unit_id": 1
}

Update a project

Change information about any of the projects in your organization.

Authorizations:
path Parameters
id
required
integer (Project identifier)
Example: 1

ID of a project you want to update.

Request Body schema: application/json

Project object that needs to be added

name
required
string (Project name) <= 100 characters

Project name.

color
string

Color in hex format.

archived
any <boolean>

Project archived flag.

enable_time_entry_approval
any <boolean>

If you set this to true, the status will be required in timesheets.

default_approver_id
any <int>

This is required when you set enable_time_entry_approval to true.

organization_unit_id
integer (Organization Unit identifier, in not provided the default will be used.)

ID of the unit assigned to this entry.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

put /projects/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/projects/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "Example project",
  • "color": "string",
  • "archived": false,
  • "enable_time_entry_approval": false,
  • "default_approver_id": 1,
  • "organization_unit_id": 1
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "Example project",
  • "color": "string",
  • "archived": false,
  • "enable_time_entry_approval": false,
  • "default_approver_id": 1,
  • "organization_unit_id": 1
}

Assign a custom field value to project

Authorizations:
path Parameters
project_id
required
integer (Project identifier)
Example: 1

ID of a project you want to set custom field value.

Request Body schema: application/json

Custom field connection

custom_field_value_id
required
integer (Custom field value identifier)

Custom field value identifier

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

post /projects/{project_id}/custom-field-value

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/projects/{project_id}/custom-field-value

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custom_field_value_id": 1
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custom_field_value_id": 1,
  • "project_id": 0
}

Delete project and custom field value connection

Delete project and custom field value connection

Authorizations:
path Parameters
project_id
required
integer (Project identifier)
Example: 1

ID of the project for which you want to delete custom field value connection.

custom_field_id
required
integer (Project identifier)
Example: 1

ID of the custom field value you want to delete for project.

Responses

204

Successful operation

401

Invalid authorization response

403

Invalid token rights response

delete projects/{project_id}/custom-field-value/{custom_field_value_id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1projects/{project_id}/custom-field-value/{custom_field_value_id}

Update tags

Update information about tags connected to a projects.

Authorizations:
path Parameters
id
required
integer (Project identifier)
Example: 1

ID of a projects you want to update.

Request Body schema: application/json

List of tags ids

Array
integer (Project Tag identifier)

Project Tag identifier

Responses

200

Success

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

put /projects/{id}/tags

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/projects/{id}/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
[
  • 1,
  • 2,
  • 3
]

Response samples

Content type
application/json
Copy
Expand all Collapse all
[ ]

Resources

Access and update data concerning resources: team members and basic resources added to your organization.

Return resources in organization

Returns a list of team members and basic resources from your organization. You can sort them by any fields, or return only selected resources.

Authorizations:
query Parameters
sort
any

Pick the order in which the resources will be returned. You can sort by any field: ?sort=name will return a list of resources sorted by their names in ascending order, whereas ?sort=-name will return a list in descending order.

fields
any

Select the fields you want to be returned. By default, all of the fields are returned.

page
integer
Default: 0

Select the page you want to display. By default, this is set to 0

name
string

Filter the names of the resources you want to be returned. By default, all of the resources returned.

active
integer
Default: 1

Filter the active resources. By default is 1

email
string

Filter the emails of the resources you want to be returned.

role
string

Filter the roles of the resources you want to be returned e.g. 'user, admin'

expand
any

Return expanded values. E.g. custom_field_values, organization_unit_resource_accesses - this is the list of organization units that this resource has access to

Responses

200

Successful operation

400

Invalid request response

401

Invalid authorization response

get /resources

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/resources

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Add a new basic resource

Add a new basic resource, a resource with no email access to the app but listed in the Calendar.

Authorizations:
Request Body schema: application/json

Resource object that needs to be added

name
string (Resource name) <= 255 characters

Resource name

active
any <boolean>

Resource active flag

is_part_time
boolean

Flag set to true if it is a part-time resource.

contract_start_date
string <YYYY-MM-DD>

Starting date of acontract.

contract_end_date
string <YYYY-MM-DD>

Starting date of a contract.

organization_unit_id
integer (Organization Unit identifier, in not provided the default will be used.)

ID of the unit assigned to this entry.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

post /resources

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/resources

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "Example resource",
  • "active": false,
  • "is_part_time": true,
  • "contract_start_date": "2077-04-07",
  • "contract_end_date": "2077-04-07",
  • "organization_unit_id": 1
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "Example resource",
  • "active": false,
  • "avatar": "string",
  • "is_part_time": true,
  • "is_visible": true,
  • "email": null,
  • "user_id": "string",
  • "role": "string",
  • "can_see_calendar": true,
  • "contract_start_date": "2077-04-07",
  • "contract_end_date": "2077-04-07",
  • "organization_unit_id": 1
}

Return single resource from organization

Return data of a single resource of your choosing.

Authorizations:
path Parameters
id
required
integer (Resource identifier)
Example: 1

ID of a resource you want to get.

query Parameters
expand
any

Return expanded values. E.g. custom_field_values, organization_unit_resource_accesses - this is the list of organization units that this resource has access to

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

get /resources/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/resources/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "Example resource",
  • "active": false,
  • "avatar": "string",
  • "is_part_time": true,
  • "is_visible": true,
  • "email": null,
  • "user_id": "string",
  • "role": "string",
  • "can_see_calendar": true,
  • "contract_start_date": "2077-04-07",
  • "contract_end_date": "2077-04-07",
  • "organization_unit_id": 1
}

Activate resource

Activate resource.

Authorizations:

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

put /resources/{id}/activate

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/resources/{id}/activate

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "Example resource",
  • "active": false,
  • "avatar": "string",
  • "is_part_time": true,
  • "is_visible": true,
  • "email": null,
  • "user_id": "string",
  • "role": "string",
  • "can_see_calendar": true,
  • "contract_start_date": "2077-04-07",
  • "contract_end_date": "2077-04-07",
  • "organization_unit_id": 1
}

Deactivate resource

Deactivate resource.

Authorizations:

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

put /resources/{id}/deactivate

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/resources/{id}/deactivate

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "Example resource",
  • "active": false,
  • "avatar": "string",
  • "is_part_time": true,
  • "is_visible": true,
  • "email": null,
  • "user_id": "string",
  • "role": "string",
  • "can_see_calendar": true,
  • "contract_start_date": "2077-04-07",
  • "contract_end_date": "2077-04-07",
  • "organization_unit_id": 1
}

Assign a custom field value to resource

Authorizations:
path Parameters
resource_id
required
integer (Resource identifier)
Example: 1

ID of a resource you want to set custom field value.

Request Body schema: application/json

Custom field connection

custom_field_value_id
required
integer (Custom field value identifier)

Custom field value identifier

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

post /resources/{resource_id}/custom-field-value

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/resources/{resource_id}/custom-field-value

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custom_field_value_id": 1
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "custom_field_value_id": 1,
  • "resource_id": 0
}

Delete resource and custom field value connection

Delete resource and custom field value connection

Authorizations:
path Parameters
resource_id
required
integer (Resource identifier)
Example: 1

ID of the resource for which you want to delete custom field value connection.

custom_field_id
required
integer (Resource identifier)
Example: 1

ID of the custom field value you want to delete for resource.

Responses

204

Successful operation

401

Invalid authorization response

403

Invalid token rights response

delete resources/{resource_id}/custom-field-value/{custom_field_value_id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1resources/{resource_id}/custom-field-value/{custom_field_value_id}

Delete resource

Delete resource

Warning!
This request will remove all bookings, time entries and vacation data that belongs to the resource.

Authorizations:
path Parameters
resource_id
required
integer (Resource identifier)
Example: 1

ID of the resource for which you want to delete.

Responses

204

Successful operation

401

Invalid authorization response

403

Invalid token rights response

delete resources/{resource_id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1resources/{resource_id}

Update access for the resource

Remember the resource with role superadmin has access to all units and it doesn't matter what you assisgn here, but these values will still be saved and returned when you changed the role to manager or user.

Authorizations:
path Parameters
id
required
integer (Resource identifier)
Example: 1

ID of a resource you want to update.

Request Body schema: application/json

List of organization units ids, remember, the user with role superadmin has access to all units and it doesn't matter what you assisgn here, but these values will still be saved and returned when you changed the role to manager or user.

Array
integer (Organization Unit identifier, in not provided the default will be used.)

ID of the unit assigned to this entry.

Responses

200

Success

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

put /resources/{id}/organization-unit-resources-accesses

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/resources/{id}/organization-unit-resources-accesses

Request samples

Content type
application/json
Copy
Expand all Collapse all
[
  • 1,
  • 2,
  • 3
]

Response samples

Content type
application/json
Copy
Expand all Collapse all
[ ]

Time entries

All of the entries in Teamdeck’s timesheets are called Time Entries. They represent tracked time from our App, and this API allows you to access and update information about your team’s time entries.

Return time entries in organization

Returns a list of time entries in your organization.

Authorizations:
query Parameters
sort
any

Pick the order in which the time entries should be returned. You can sort by any field: ?sort=start_date will return a list of time entries sorted by their starting dates in ascending order, whereas ?sort=-start_date will return a list in descending order.

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: [tags]

page
integer
Default: 0

Select the page you want to display. By default, this is set to 0.

resource_id
integer

All entries have resources assigned to them. Filter entries by entering resource_id values of your choosing. Multiple IDs can be passed as comma-separated values. By default, all of the entries are returned.

project_id
integer

Filter the project_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.

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 time entries by their start_date field. Use the YYYY-MM-DD format.

start_date_to
date

Filter time entries by their start_date field. Use the YYYY-MM-DD format.

end_date_from
date

Filter time entries by their end_date field. Use the YYYY-MM-DD format.

end_date_to
date

Filter time entries by their end_date field. Use the YYYY-MM-DD format.

date
date

Filter time entries by single date. Use the YYYY-MM-DD format. You can`t use this filter with date range filters.

Responses

200

Successful operation

401

Invalid authorization response

422

Invalid input

get /time-entries

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/time-entries

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Add a new time entry assigned to any resource within your organization.

Authorizations:
header Parameters
X-TD-DISABLE-NOTIFICATIONS
boolean
Default: false

If set to true notifications won't be sent

Request Body schema: application/json

Time entry object that needs to be added

resource_id
required
integer (Resource identifier)

ID of the resource assigned to this entry.

status
integer
Default: 1

Status of a given time entry: 1 - pending, 2 - approved, 3 - rejected. By default this is set to 1. You can change this when you have enable_time_entry_approval=true.

project_id
required
integer (Project identifier)

ID of the project assigned to this entry.

minutes
required
int64

The length of a time entry in minutes.

weekend_booking
boolean
Default: false

This is set to false by default, meaning that this time entry is set not to be added to a weekend day. true signifies time entries that don’t take weekends into account.

holidays_booking
boolean
Default: false

This is set to false by default, meaning that this time entry is set not to be added to a holiday. true signifies time entries that don’t take holidays into account.

vacations_booking
boolean
Default: false

This is set to false by default, meaning that this time entry is set not to be added to a vacation (personal time off of a given resource). true signifies time entries that don’t take vacations into account.

approver_id
integer

Id of the user who approved this time entry. This field is required when in project you set enable_time_entry_approval=true.

description
string

Description of a time entry.

external_id
string

External id of a time entry for internal use.

start_date
required
string <YYYY-MM-DD>

Starting date of a time entry.

end_date
required
string <YYYY-MM-DD>

End date of a time entry.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

post /time-entries

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/time-entries

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "resource_id": 1,
  • "status": 1,
  • "project_id": 1,
  • "minutes": 120,
  • "weekend_booking": true,
  • "holidays_booking": true,
  • "vacations_booking": true,
  • "approver_id": 1,
  • "description": "string",
  • "external_id": "string",
  • "start_date": "2018-07-01",
  • "end_date": "2018-07-01"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "resource_id": 1,
  • "status": 1,
  • "project_id": 1,
  • "minutes": 120,
  • "weekend_booking": true,
  • "holidays_booking": true,
  • "vacations_booking": true,
  • "approver_id": 1,
  • "description": "string",
  • "external_id": "string",
  • "start_date": "2018-07-01",
  • "end_date": "2018-07-01",
  • "approved_at": "2023-07-01 12:10:05",
  • "creator_resource_id": 0,
  • "approver_resource_id": 0,
  • "requested_approver_resource_id": 0,
  • "editor_resource_id": 0
}

Return single time entry from organization

Return a single time entry from your organization based on its ID.

Authorizations:
path Parameters
id
required
integer (Time entry identifier)
Example: 1

ID of the time entry you want to get.

query Parameters
expand
any

Select the extended fields you want to be returned. Available fields: [tags]

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

get /time-entries/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/time-entries/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "resource_id": 1,
  • "status": 1,
  • "project_id": 1,
  • "minutes": 120,
  • "weekend_booking": true,
  • "holidays_booking": true,
  • "vacations_booking": true,
  • "approver_id": 1,
  • "description": "string",
  • "external_id": "string",
  • "start_date": "2018-07-01",
  • "end_date": "2018-07-01",
  • "approved_at": "2023-07-01 12:10:05",
  • "creator_resource_id": 0,
  • "approver_resource_id": 0,
  • "requested_approver_resource_id": 0,
  • "editor_resource_id": 0
}

Update time entry

Update information about any time entry within your organization.

Authorizations:
path Parameters
id
required
integer (Time entry identifier)
Example: 1

ID of the time entry you want to update.

header Parameters
X-TD-DISABLE-NOTIFICATIONS
boolean
Default: false

If set to true notifications won't be sent

Request Body schema: application/json

Time entry object that needs to be added

resource_id
required
integer (Resource identifier)

ID of the resource assigned to this entry.

status
integer
Default: 1

Status of a given time entry: 1 - pending, 2 - approved, 3 - rejected. By default this is set to 1. You can change this when you have enable_time_entry_approval=true.

project_id
required
integer (Project identifier)

ID of the project assigned to this entry.

minutes
required
int64

The length of a time entry in minutes.

weekend_booking
boolean
Default: false

This is set to false by default, meaning that this time entry is set not to be added to a weekend day. true signifies time entries that don’t take weekends into account.

holidays_booking
boolean
Default: false

This is set to false by default, meaning that this time entry is set not to be added to a holiday. true signifies time entries that don’t take holidays into account.

vacations_booking
boolean
Default: false

This is set to false by default, meaning that this time entry is set not to be added to a vacation (personal time off of a given resource). true signifies time entries that don’t take vacations into account.

approver_id
integer

Id of the user who approved this time entry. This field is required when in project you set enable_time_entry_approval=true.

description
string

Description of a time entry.

external_id
string

External id of a time entry for internal use.

start_date
required
string <YYYY-MM-DD>

Starting date of a time entry.

end_date
required
string <YYYY-MM-DD>

End date of a time entry.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

put /time-entries/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/time-entries/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "resource_id": 1,
  • "status": 1,
  • "project_id": 1,
  • "minutes": 120,
  • "weekend_booking": true,
  • "holidays_booking": true,
  • "vacations_booking": true,
  • "approver_id": 1,
  • "description": "string",
  • "external_id": "string",
  • "start_date": "2018-07-01",
  • "end_date": "2018-07-01"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "resource_id": 1,
  • "status": 1,
  • "project_id": 1,
  • "minutes": 120,
  • "weekend_booking": true,
  • "holidays_booking": true,
  • "vacations_booking": true,
  • "approver_id": 1,
  • "description": "string",
  • "external_id": "string",
  • "start_date": "2018-07-01",
  • "end_date": "2018-07-01",
  • "approved_at": "2023-07-01 12:10:05",
  • "creator_resource_id": 0,
  • "approver_resource_id": 0,
  • "requested_approver_resource_id": 0,
  • "editor_resource_id": 0
}

Delete single time entry from organization

Delete a time entry using its ID

Authorizations:
path Parameters
id
required
integer (Time entry identifier)
Example: 1

ID of the time entry you want to delete.

header Parameters
X-TD-DISABLE-NOTIFICATIONS
boolean
Default: false

If set to true notifications won't be sent

Responses

204

Successful operation

401

Invalid authorization response

403

Invalid token rights response

delete /time-entries/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/time-entries/{id}

Update tags

Update information about tags connected to a time entry.

Authorizations:
path Parameters
id
required
integer (Time entry identifier)
Example: 1

ID of a time entry you want to update.

Request Body schema: application/json

List of tags ids

Array
integer (Time Entry Tag identifier)

Time Entry Tag identifier

Responses

200

Success

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

put /time-entries/{id}/tags

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/time-entries/{id}/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
[
  • 1,
  • 2,
  • 3
]

Response samples

Content type
application/json
Copy
Expand all Collapse all
[ ]

Time entry tags

This API allows you to access and update information about your team’s tags

Return time entry tags in organization

Returns a list of time entry tags from your organization. You can sort this list by any field, or return only selected time entry tags.

Authorizations:
query Parameters
sort
any

Pick the order in which the time entry tags will be returned. You can sort by any field: ?sort=name will return a list of time entry tags sorted by their names in ascending order, whereas ?sort=-name will return a list in descending order.

fields
any

Select the fields you want to be returned. By default, all of the fields are returned.

page
integer
Default: 0

Select the page you want to display. By default, this is set to 0

archived
boolean
Default: 0

Filter by archived flag. By default, this is set to 0

name
string

Filter the names of the time entry tags you want to be returned. By default, all of the time entry tags are returned.

Responses

200

Successful operation

400

Invalid request response

401

Invalid authorization response

get /time-entry-tags

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/time-entry-tags

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Add a new time entry tag

Authorizations:
Request Body schema: application/json

Time Entry Tag object that needs to be added

id
integer

ID of a tag.

name
required
string

Name of a tag.

icon
required
string (tag_icon)
Enum: "alarm" "alarm_on" "alarm_off" "announcement" "bookmark" "assignment_turned_in" "build" "change_history" "check_circle" "description" "favorite" "favorite_border" "feedback" "grade" "label" "lightbulb_outline" "lock_open" "lock_outline" "schedule" "question_answer" "report_problem" "settings_applications" "settings_phone" "shopping_cart" "stars" "supervisor_account" "timeline" "work" "error" "warning" "fiber_manual_record" "new_releases" "mic" "videocam" "chat_bubble" "import_contacts" "mail_outline" "phonelink_setup" "content_paste" "drafts" "reply" "weekend" "brightness_high" "gps_fixed" "developer_mode" "devices" "attach_money" "money_off" "attach_file" "insert_photo" "pie_chart" "cloud" "folder" "desktop_mac" "computer" "keyboard_backspace" "phone_android" "phone_iphone" "tablet_mac" "tablet_android" "watch" "memory" "brightness_1" "assistant_photo" "details" "flash_on" "flash_off" "lens" "palette" "remove_red_eye" "timelapse" "tag_faces" "beenhere" "directions_run" "layers" "local_cafe" "local_offer" "local_movies" "my_location" "arrow_downward" "arrow_upward" "arrow_forward" "arrow_back" "more_horiz" "do_not_disturb" "event_available" "event_busy" "sync_problem" "notifications" "mood" "pool" "check_box" "check_box_outline_blank" "indeterminate_check_box" "radio_button_checked" "radio_button_unchecked" "star" "star_border" "star_half" "code" "looks_one" "looks_two" "looks_3" "looks_4" "looks_5" "looks_6" "done" "hourglass_empty" "home" "av_timer" "check" "clear" "card_giftcard"

Available icons for a tag: e.g assignment turned in will be assignment_turned_in.

color
required
string

Color as hex code e.g. #FFF, #FFFFFF.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

post /time-entry-tags

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/time-entry-tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "icon": "assignment_turned_in",
  • "color": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "string",
  • "icon": "assignment_turned_in",
  • "color": "string"
}

Return single time entry tag from organization

Return a single time entry tag of your choosing.

Authorizations:
path Parameters
id
required
integer (Time Entry Tag identifier)
Example: 1

ID of a time entry tag you want to get.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

get /time-entry-tags/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/time-entry-tags/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "string",
  • "icon": "assignment_turned_in",
  • "color": "string"
}

Update time entry tag

Update information about any time entry tag within your organization.

Authorizations:
path Parameters
id
required
integer (Time Entry Tag identifier)
Example: 1

ID of a time entry tag you want to update.

Request Body schema: application/json

Time Entry Tag object that needs to be added

id
integer

ID of a tag.

name
required
string

Name of a tag.

icon
required
string (tag_icon)
Enum: "alarm" "alarm_on" "alarm_off" "announcement" "bookmark" "assignment_turned_in" "build" "change_history" "check_circle" "description" "favorite" "favorite_border" "feedback" "grade" "label" "lightbulb_outline" "lock_open" "lock_outline" "schedule" "question_answer" "report_problem" "settings_applications" "settings_phone" "shopping_cart" "stars" "supervisor_account" "timeline" "work" "error" "warning" "fiber_manual_record" "new_releases" "mic" "videocam" "chat_bubble" "import_contacts" "mail_outline" "phonelink_setup" "content_paste" "drafts" "reply" "weekend" "brightness_high" "gps_fixed" "developer_mode" "devices" "attach_money" "money_off" "attach_file" "insert_photo" "pie_chart" "cloud" "folder" "desktop_mac" "computer" "keyboard_backspace" "phone_android" "phone_iphone" "tablet_mac" "tablet_android" "watch" "memory" "brightness_1" "assistant_photo" "details" "flash_on" "flash_off" "lens" "palette" "remove_red_eye" "timelapse" "tag_faces" "beenhere" "directions_run" "layers" "local_cafe" "local_offer" "local_movies" "my_location" "arrow_downward" "arrow_upward" "arrow_forward" "arrow_back" "more_horiz" "do_not_disturb" "event_available" "event_busy" "sync_problem" "notifications" "mood" "pool" "check_box" "check_box_outline_blank" "indeterminate_check_box" "radio_button_checked" "radio_button_unchecked" "star" "star_border" "star_half" "code" "looks_one" "looks_two" "looks_3" "looks_4" "looks_5" "looks_6" "done" "hourglass_empty" "home" "av_timer" "check" "clear" "card_giftcard"

Available icons for a tag: e.g assignment turned in will be assignment_turned_in.

color
required
string

Color as hex code e.g. #FFF, #FFFFFF.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

put /time-entry-tags/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/time-entry-tags/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "icon": "assignment_turned_in",
  • "color": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "string",
  • "icon": "assignment_turned_in",
  • "color": "string"
}

Delete single time entry tag from organization

Delete a time entry tag using its ID. If tag has connection with time entries, the tag will be archived, but not deleted.

Authorizations:
path Parameters
id
required
integer (Time Entry Tag identifier)
Example: 1

ID of a time entry tag you want to delete.

Responses

204

Successful operation

401

Invalid authorization response

403

Invalid token rights response

delete /time-entry-tags/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/time-entry-tags/{id}

Vacations

Personal time off of your resources is referred to as vacations in Teamdeck. This API allows you to access and update information about your team’s time off.

Return vacations in organization

Return a list of vacations scheduled in organization.

Authorizations:
query Parameters
sort
any

Pick the order in which vacations should be returned. You can sort by any field: ?sort=reason_id will return a list of vacations sorted by their reasons in ascending order, whereas ?sort=-reason_id will return a list in descending order.

fields
any

Select the fields you want to be returned. By default, all of the fields are returned.

page
integer
Default: 0

Select the page you want to display. By default, this is set to 0.

resource_id
integer

All entries have resources assigned to them. Filter entries by entering resource_id values of your choosing. Multiple IDs can be passed as comma-separated values. By default, all of the entries 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 vacations by their start_date field. Use the YYYY-MM-DD format.

start_date_to
date

Filter vacations by their start_date field. Use the YYYY-MM-DD format.

end_date_from
date

Filter vacations by their end_date field. Use the YYYY-MM-DD format.

end_date_to
date

Filter vacations by their end_date field. Use the YYYY-MM-DD format.

date
date

Filter vacations by single date. Use the YYYY-MM-DD format. You can`t use this filter with date range filters.

Responses

200

Successful operation

401

Invalid authorization response

422

Invalid input

get /vacations

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/vacations

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Add a new vacation to your organization’s calendar.

Authorizations:
header Parameters
X-TD-DISABLE-NOTIFICATIONS
boolean
Default: false

If set to true notifications won't be sent

Request Body schema: application/json

Vacation object that needs to be added

resource_id
required
integer (Resource identifier)

ID of the resource assigned to this entry.

status
int64
Default: 0

Status of a given vacation: 0 - requested, 1 - accepted, 2 - requested to be removed. By default this is set to 0. Note that you can only add an approved vacation if you have necessary permissions and the vacation entry is not assigned to your own resource_id. You cannot change status if you set disable_vacation_approval in your organization to 1.

period_id
integer (Vacation period identifier)

Vacation period identifier

requested_approver_id
integer

Id of a user to which you want to send a request of a vacation, if null was provided the request will be sent to all admins.

reason_id
integer (Vacation reason identifier)

Vacation reason identifier

description
string

Description of a vacation.

external_id
string

External id of a vacation for internal use.

start_date
required
string <YYYY-MM-DD>

Starting date of a vacation.

end_date
required
string <YYYY-MM-DD>

End date of a vacation

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

post /vacations

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/vacations

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "resource_id": 1,
  • "status": 0,
  • "period_id": 1,
  • "requested_approver_id": 0,
  • "reason_id": 1,
  • "description": "string",
  • "external_id": "string",
  • "start_date": "2018-07-01",
  • "end_date": "2018-07-01"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "resource_id": 1,
  • "status": 0,
  • "period_id": 1,
  • "requested_approver_id": 0,
  • "reason_id": 1,
  • "description": "string",
  • "external_id": "string",
  • "start_date": "2018-07-01",
  • "end_date": "2018-07-01",
  • "creator_resource_id": 0,
  • "requested_approver_resource_id": 0,
  • "approver_resource_id": 0,
  • "editor_resource_id": 0
}

Return single vacation from organization

Return a vacation of your choosing using its ID.

Authorizations:
path Parameters
id
required
integer (Vacation identifier)
Example: 1

ID of the vacation you want to get.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

get /vacations/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/vacations/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "resource_id": 1,
  • "status": 0,
  • "period_id": 1,
  • "requested_approver_id": 0,
  • "reason_id": 1,
  • "description": "string",
  • "external_id": "string",
  • "start_date": "2018-07-01",
  • "end_date": "2018-07-01",
  • "creator_resource_id": 0,
  • "requested_approver_resource_id": 0,
  • "approver_resource_id": 0,
  • "editor_resource_id": 0
}

Update vacation

Update information about vacations scheduled in your organization.

Authorizations:
path Parameters
id
required
integer (Vacation identifier)
Example: 1

ID of the vacation you want to update.

header Parameters
X-TD-DISABLE-NOTIFICATIONS
boolean
Default: false

If set to true notifications won't be sent

Request Body schema: application/json

Vacation object that needs to be added

resource_id
required
integer (Resource identifier)

ID of the resource assigned to this entry.

status
int64
Default: 0

Status of a given vacation: 0 - requested, 1 - accepted, 2 - requested to be removed. By default this is set to 0. Note that you can only add an approved vacation if you have necessary permissions and the vacation entry is not assigned to your own resource_id. You cannot change status if you set disable_vacation_approval in your organization to 1.

period_id
integer (Vacation period identifier)

Vacation period identifier

requested_approver_id
integer

Id of a user to which you want to send a request of a vacation, if null was provided the request will be sent to all admins.

reason_id
integer (Vacation reason identifier)

Vacation reason identifier

description
string

Description of a vacation.

external_id
string

External id of a vacation for internal use.

start_date
required
string <YYYY-MM-DD>

Starting date of a vacation.

end_date
required
string <YYYY-MM-DD>

End date of a vacation

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

put /vacations/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/vacations/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "resource_id": 1,
  • "status": 0,
  • "period_id": 1,
  • "requested_approver_id": 0,
  • "reason_id": 1,
  • "description": "string",
  • "external_id": "string",
  • "start_date": "2018-07-01",
  • "end_date": "2018-07-01"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "resource_id": 1,
  • "status": 0,
  • "period_id": 1,
  • "requested_approver_id": 0,
  • "reason_id": 1,
  • "description": "string",
  • "external_id": "string",
  • "start_date": "2018-07-01",
  • "end_date": "2018-07-01",
  • "creator_resource_id": 0,
  • "requested_approver_resource_id": 0,
  • "approver_resource_id": 0,
  • "editor_resource_id": 0
}

Delete single vacation from organization

Delete a vacation using its ID.

Authorizations:
path Parameters
id
required
integer (Vacation identifier)
Example: 1

ID of the vacation you want to delete.

header Parameters
X-TD-DISABLE-NOTIFICATIONS
boolean
Default: false

If set to true notifications won't be sent

Responses

204

Successful operation

401

Invalid authorization response

403

Invalid token rights response

delete /vacations/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/vacations/{id}

Vacation periods

Teamdeck allows its users to decide how much time per day they’re taking off. Vacation periods are set time periods that users can choose from when requesting vacations.

Return vacation periods in organization

Return a list of all vacation periods in your organization.

Authorizations:
query Parameters
sort
any

Pick the order in which vacation periods should be returned. You can sort by any field: ?sort=name will return a list of vacation periods sorted by their names in ascending order, whereas ?sort=-name will return a list in descending order.

fields
any

Select the fields you want to be returned. By default, all of the fields are returned.

page
integer
Default: 0

Select the page you want to display. By default, this is set to 0.

name
string

Filter vacation periods by their names.

archived
integer

Filter the archived vacation periods. By default, all of the reasons are returned.

Responses

200

Successful operation

401

Invalid authorization response.

get /vacation-periods

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/vacation-periods

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Return single vacation period from organization

Return a vacation period of your choosing using its ID.

Authorizations:
path Parameters
id
required
integer (Vacation period identifier)
Example: 1

Vacation period identifier

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

get /vacation-periods/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/vacation-periods/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "archived": true,
  • "hours_per_day": 1
}

Vacation reasons

Vacation reason signifies what is the reason/category of a given vacation (sick leave, maternity leave etc.) Organization’s owner can specify a list of custom reasons and decide which ones should be displayed as paid or unpaid. Teamdeck’s API allows you to access the reasons defined in your organization.

Return vacation reasons in organization

Return a list of all vacation reasons in your organization.

Authorizations:
query Parameters
sort
any

Pick the order in which vacation reasons should be returned. You can sort by any field: ?sort=name will return a list of vacation reasons sorted by their names in ascending order, whereas ?sort=-name will return a list in descending order.

fields
any

Select the fields you want to be returned. By default, all of the fields are returned.

page
integer
Default: 0

Select the page you want to display. By default, this is set to 0.

name
string

Filter vacation reasons by their names.

archived
integer

Filter the archived vacation reasons. By default, all of the reasons are returned.

Responses

200

Successful operation

401

Invalid authorization response

get /vacation-reasons

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/vacation-reasons

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Return single vacation reason from organization

TBD: description of the endpoint

Authorizations:
path Parameters
id
required
integer (Vacation reason identifier)
Example: 1

Vacation reason identifier

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

get /vacation-reasons/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/vacation-reasons/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "archived": true,
  • "payable": true,
  • "color": "string",
  • "name": "string"
}

Availabilities

Return availabilities in organization

Returns a list of availability entries in your organization. You can filter them by resources ids.

Authorizations:
query Parameters
resourcesIds
any

Filter by resources ids: query?resourcesIds=1,2

Responses

200

Successful operation

401

Invalid authorization response

get /availabilities/summary/2022-01-07/2022-01-16

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/availabilities/summary/2022-01-07/2022-01-16

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Milestones

Return milestones in organization

Returns a list of milestones in your organization.

Authorizations:
query Parameters
sort
any

Pick the order in which the milestones will be returned. You can sort by any field: ?sort=start_date will return a list of milestones sorted by their starting dates in ascending order, whereas ?sort=-start_date will return a list in descending order.

fields
any

Select the fields you want to be returned. By default, all of the fields are returned.

page
integer
Default: 0

Select the page you want to display. By default, this is set to 0.

project_id
integer

Filter the project_id values of the milestones you want to be returned. Multiple IDs can be passed as comma-separated values. By default, all of the milestones are returned.

start_date_from
date

Filter milestones by their start_date field. Use the YYYY-MM-DD format.

start_date_to
date

Filter milestones by their start_date field. Use the YYYY-MM-DD format.

end_date_from
date

Filter milestones by their end_date field. Use the YYYY-MM-DD format.

end_date_to
date

Filter milestones by their end_date field. Use the YYYY-MM-DD format.

date
date

Filter milestones by single date. Use the YYYY-MM-DD format. You can`t use this filter with date range filters.

Responses

200

Successful operation

401

Invalid authorization response

422

Invalid input

get /milestones

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/milestones

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Add a new milestone

Authorizations:
Request Body schema: application/json

Milestone object that needs to be added

name
required
string (Milestone name) <= 255 characters

Milestone name.

project_id
required
integer (Project identifier)

ID of the project assigned to this entry.

start_date
required
string <YYYY-MM-DD>

Starting date of a milestone.

end_date
required
string <YYYY-MM-DD>

End date of a milestone.

description
string

Description of a milestone.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

post /milestones

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/milestones

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "Example milestone",
  • "project_id": 1,
  • "start_date": "2018-07-01",
  • "end_date": "2018-07-01",
  • "description": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "Example milestone",
  • "project_id": 1,
  • "start_date": "2018-07-01",
  • "end_date": "2018-07-01",
  • "description": "string"
}

Return single milestone from organization

Return a single milestone from your organization based on its ID.

Authorizations:
path Parameters
id
required
integer (Milestone identifier)
Example: 1

ID of a milestone you want to get.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

get /milestones/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/milestones/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "Example milestone",
  • "project_id": 1,
  • "start_date": "2018-07-01",
  • "end_date": "2018-07-01",
  • "description": "string"
}

Update milestone

Update information about any milestone within your organization.

Authorizations:
path Parameters
id
required
integer (Milestone identifier)
Example: 1

ID of a milestone you want to update.

Request Body schema: application/json

Milestone object that needs to be added

name
required
string (Milestone name) <= 255 characters

Milestone name.

project_id
required
integer (Project identifier)

ID of the project assigned to this entry.

start_date
required
string <YYYY-MM-DD>

Starting date of a milestone.

end_date
required
string <YYYY-MM-DD>

End date of a milestone.

description
string

Description of a milestone.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

put /milestones/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/milestones/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "Example milestone",
  • "project_id": 1,
  • "start_date": "2018-07-01",
  • "end_date": "2018-07-01",
  • "description": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "Example milestone",
  • "project_id": 1,
  • "start_date": "2018-07-01",
  • "end_date": "2018-07-01",
  • "description": "string"
}

Delete single milestone from organization

Delete a milestone using its ID.

Authorizations:
path Parameters
id
required
integer (Milestone identifier)
Example: 1

ID of a milestone you want to delete.

Responses

204

Successful operation

401

Invalid authorization response

403

Invalid token rights response

delete /milestones/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/milestones/{id}

OrganizationUnits

Return units in organization

Access and update units in your organization. OrganizationUnits in Teamdeck are understood as bank units, days during which nobody is working.

Authorizations:
query Parameters
sort
any

Pick the order in which the units will be returned. You can sort by any field: ?sort=name will return a list of units sorted by their names in ascending order, whereas ?sort=-name will return a list in descending order.

page
integer
Default: 0

Select the page you want to display. By default, this is set to 0.

name
string

Filter the names of the units you want to be returned. By default, all of the units are returned.

default
integer

Available values: 0/1

Responses

200

Successful operation

401

Invalid authorization response

get /organization-units

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/organization-units

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Add a new unit

Authorizations:
Request Body schema: application/json

Organization Unit object that needs to be added

name
required
string (Name) <= 255 characters

Organization unit name.

default
required
boolean (Default)

Whether unit is default, if you send 1 all another units will be changed to 0.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

post /organization-units

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/organization-units

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "Example unit",
  • "default": 1
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "Example unit",
  • "default": 1
}

Return a single unit from your organization

Return any single unit from your organization using its ID.

Authorizations:
path Parameters
id
required
integer (Organization Unit identifier, in not provided the default will be used.)
Example: 1

ID of a unit you want to get.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

get /organization-units/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/organization-units/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "Example unit",
  • "default": 1
}

Update a unit

Change information about any of the units in your organization.

Authorizations:
path Parameters
id
required
integer (Organization Unit identifier, in not provided the default will be used.)
Example: 1

ID of a unit you want to update.

Request Body schema: application/json

Organization Unit object that needs to be added

name
required
string (Name) <= 255 characters

Organization unit name.

default
required
boolean (Default)

Whether unit is default, if you send 1 all another units will be changed to 0.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

put /organization-units/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/organization-units/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "Example unit",
  • "default": 1
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "Example unit",
  • "default": 1
}

Delete a single unit from organization

Delete a unit using its ID.

Authorizations:
path Parameters
id
required
integer (Organization Unit identifier, in not provided the default will be used.)
Example: 1

ID of the unit you want to delete.

Responses

204

Successful operation

401

Invalid authorization response

403

Invalid token rights response

delete /organization-units/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/organization-units/{id}

Project tags

Return project tags in organization

Returns a list of project tags from your organization. You can sort this list by any field, or return only selected project tags.

Authorizations:
query Parameters
sort
any

Pick the order in which the project tags will be returned. You can sort by any field: ?sort=name will return a list of project tags sorted by their names in ascending order, whereas ?sort=-name will return a list in descending order.

fields
any

Select the fields you want to be returned. By default, all of the fields are returned.

page
integer
Default: 0

Select the page you want to display. By default, this is set to 0

archived
boolean
Default: 0

Filter by archived flag. By default, this is set to 0

name
string

Filter the names of the project tags you want to be returned. By default, all of the project tags are returned.

Responses

200

Successful operation

400

Invalid request response

401

Invalid authorization response

get /project-tags

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/project-tags

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Add a new project tag

Authorizations:
Request Body schema: application/json

Project Tag object that needs to be added

id
integer

ID of a tag.

name
required
string

Name of a tag.

icon
required
string (tag_icon)
Enum: "alarm" "alarm_on" "alarm_off" "announcement" "bookmark" "assignment_turned_in" "build" "change_history" "check_circle" "description" "favorite" "favorite_border" "feedback" "grade" "label" "lightbulb_outline" "lock_open" "lock_outline" "schedule" "question_answer" "report_problem" "settings_applications" "settings_phone" "shopping_cart" "stars" "supervisor_account" "timeline" "work" "error" "warning" "fiber_manual_record" "new_releases" "mic" "videocam" "chat_bubble" "import_contacts" "mail_outline" "phonelink_setup" "content_paste" "drafts" "reply" "weekend" "brightness_high" "gps_fixed" "developer_mode" "devices" "attach_money" "money_off" "attach_file" "insert_photo" "pie_chart" "cloud" "folder" "desktop_mac" "computer" "keyboard_backspace" "phone_android" "phone_iphone" "tablet_mac" "tablet_android" "watch" "memory" "brightness_1" "assistant_photo" "details" "flash_on" "flash_off" "lens" "palette" "remove_red_eye" "timelapse" "tag_faces" "beenhere" "directions_run" "layers" "local_cafe" "local_offer" "local_movies" "my_location" "arrow_downward" "arrow_upward" "arrow_forward" "arrow_back" "more_horiz" "do_not_disturb" "event_available" "event_busy" "sync_problem" "notifications" "mood" "pool" "check_box" "check_box_outline_blank" "indeterminate_check_box" "radio_button_checked" "radio_button_unchecked" "star" "star_border" "star_half" "code" "looks_one" "looks_two" "looks_3" "looks_4" "looks_5" "looks_6" "done" "hourglass_empty" "home" "av_timer" "check" "clear" "card_giftcard"

Available icons for a tag: e.g assignment turned in will be assignment_turned_in.

color
required
string

Color as hex code e.g. #FFF, #FFFFFF.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

post /project-tags

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/project-tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "icon": "assignment_turned_in",
  • "color": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "string",
  • "icon": "assignment_turned_in",
  • "color": "string"
}

Return single project tag from organization

Return a single project tag of your choosing.

Authorizations:
path Parameters
id
required
integer (Project Tag identifier)
Example: 1

ID of a project tag you want to get.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

get /project-tags/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/project-tags/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "string",
  • "icon": "assignment_turned_in",
  • "color": "string"
}

Update project tag

Update information about any project tag within your organization.

Authorizations:
path Parameters
id
required
integer (Project Tag identifier)
Example: 1

ID of a project tag you want to update.

Request Body schema: application/json

Project Tag object that needs to be added

id
integer

ID of a tag.

name
required
string

Name of a tag.

icon
required
string (tag_icon)
Enum: "alarm" "alarm_on" "alarm_off" "announcement" "bookmark" "assignment_turned_in" "build" "change_history" "check_circle" "description" "favorite" "favorite_border" "feedback" "grade" "label" "lightbulb_outline" "lock_open" "lock_outline" "schedule" "question_answer" "report_problem" "settings_applications" "settings_phone" "shopping_cart" "stars" "supervisor_account" "timeline" "work" "error" "warning" "fiber_manual_record" "new_releases" "mic" "videocam" "chat_bubble" "import_contacts" "mail_outline" "phonelink_setup" "content_paste" "drafts" "reply" "weekend" "brightness_high" "gps_fixed" "developer_mode" "devices" "attach_money" "money_off" "attach_file" "insert_photo" "pie_chart" "cloud" "folder" "desktop_mac" "computer" "keyboard_backspace" "phone_android" "phone_iphone" "tablet_mac" "tablet_android" "watch" "memory" "brightness_1" "assistant_photo" "details" "flash_on" "flash_off" "lens" "palette" "remove_red_eye" "timelapse" "tag_faces" "beenhere" "directions_run" "layers" "local_cafe" "local_offer" "local_movies" "my_location" "arrow_downward" "arrow_upward" "arrow_forward" "arrow_back" "more_horiz" "do_not_disturb" "event_available" "event_busy" "sync_problem" "notifications" "mood" "pool" "check_box" "check_box_outline_blank" "indeterminate_check_box" "radio_button_checked" "radio_button_unchecked" "star" "star_border" "star_half" "code" "looks_one" "looks_two" "looks_3" "looks_4" "looks_5" "looks_6" "done" "hourglass_empty" "home" "av_timer" "check" "clear" "card_giftcard"

Available icons for a tag: e.g assignment turned in will be assignment_turned_in.

color
required
string

Color as hex code e.g. #FFF, #FFFFFF.

Responses

200

Successful operation

401

Invalid authorization response

403

Invalid token rights response

422

Invalid input

put /project-tags/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/project-tags/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "icon": "assignment_turned_in",
  • "color": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "name": "string",
  • "icon": "assignment_turned_in",
  • "color": "string"
}

Delete single project tag from organization

Delete a project tag using its ID. If tag has connection with projects, the tag will be archived, but not deleted.

Authorizations:
path Parameters
id
required
integer (Project Tag identifier)
Example: 1

ID of a project tag you want to delete.

Responses

204

Successful operation

401

Invalid authorization response

403

Invalid token rights response

delete /project-tags/{id}

This is Teamdecks Public API documentation

https://api.teamdeck.io/v1/project-tags/{id}