v8 Migration Guide
This guide will help you migrate from API v8 to API v9.
v9 introduced new entities like the organization
, hence the interface was extended and these concepts are not migrated from v8. Read through our v9 announcement and Getting Started for more information.
v8 -> v9 mapping​
All not explicitly listed endpoints can be considered available as 1 to 1 replacement, changing v8 to v9 in the endpoint URL.
When v9 endpoints is marked -, it means the endpoint is no longer available. More details provided in additional notes.
If you are looking for a pattern, most of the domain entities moved their path under workspace, for instance POST /clients
will be available under /workspaces/{workspace_id}/clients/{client_id}
.
Clients​
Verb | v8 | v9 | Additional Notes |
---|---|---|---|
GET | /clients | /me/clients | |
POST | /clients | /workspaces/{workspace_id}/clients | |
PUT | /clients/{client_id} | /workspaces/{workspace_id}/clients/{client_id} | |
GET | /clients/{client_id} | /workspaces/{workspace_id}/clients/{client_id} | |
DELETE | /clients/{client_id} | /workspaces/{workspace_id}/clients/{client_id} |
NOTE: new POST /workspaces/{workspace_id}/clients/{client_id}/archive
and /workspaces/{workspace_id}/clients/{client_id}/restore
functionalities are also available
Invitations​
Verb | v8 | v9 | Additional Notes |
---|---|---|---|
POST | /workspaces/{workspace_id}/invite | /organizations/{organization_id}/invitations | |
PUT | /invitations/{invitation_code}/resend | /organizations/{organization_id}/invitations/{invitation_code}/resend | |
POST | /invitations/{invitation_code}/accept | /organizations/invitations/{invitation_code}/accept | |
POST | /invitations/{invitation_code}/reject | /organizations/invitations/{invitation_code}/reject |
Misc​
Verb | v8 | v9 | Additional Notes |
---|---|---|---|
POST | /signups | /signup | |
GET | /timeline_settings | - | Can be retrieved via user preferences |
POST | /timeline_settings | - | Can be updated via user preferences |
POST | /sessions | /me/sessions | |
DELETE | /sessions | /me/sessions | |
POST | /reset_token | /me/reset_token | |
POST | /alerts | /workspaces/{workspace_id}/alerts | Already available in v8 |
DELETE | /alerts/{alert_id} | /workspaces/{workspace_id}/alerts/{alert_id} | Already available in v8 |
GET | /dashboard/{workspace_id} | /workspaces/{workspace_id}/dashboard/all_activity | Also available more specific /most_active and /top_activity |
POST | /user_groups | - | no longer available |
DELETE | /user_groups | - | no longer available |
Projects​
Verb | v8 | v9 | Additional Notes |
---|---|---|---|
GET | /projects | /me/projects | /me/projects/paginated also available |
POST | /projects | /workspaces/{workspace_id}/projects | |
GET | /projects/{project_id} | /workspaces/{workspace_id}/projects/{project_id} | |
PUT | /projects/{project_id} | /workspaces/{workspace_id}/projects/{project_id} | |
DELETE | /projects/{project_id} | /workspaces/{workspace_id}/projects/{project_id} | |
GET | /projects/{project_id}/project_groups | /workspaces/{workspace_id}/project_groups | Already available in v8 |
POST | /project_groups | /workspaces/{workspace_id}/project_groups | |
DELETE | /project_groups/{project_group_id} | /workspaces/{workspace_id}/project_groups/{project_group_id} | |
GET | /projects/{project_id}/project_users | /workspaces/{workspace_id}/project_users | |
POST | /project_users | /workspaces/{workspace_id}/project_users | |
PUT | /project_users/{project_user_id} | /workspaces/{workspace_id}/project_users/{project_user_id} | |
DELETE | /project_users/{project_user_id} | /workspaces/{workspace_id}/project_users/{project_user_id} |
Tags​
Verb | v8 | v9 | Additional Notes |
---|---|---|---|
POST | /tags | /workspaces/{workspace_id}/tags | |
PUT | /tags/{tag_id} | /workspaces/{workspace_id}/tags/{tag_id} | |
DELETE | /tags/{tag_id} | /workspaces/{workspace_id}/tags/{tag_id} |
Tasks​
Verb | v8 | v9 | Additional Notes |
---|---|---|---|
GET | /tasks | /me/tasks | |
POST | /tasks | /workspaces/{workspace_id}/projects/{project_id}/tasks | |
DELETE | /tasks/{task_id} | /workspaces/{workspace_id}/projects/{project_id}/tasks/{task_id} | |
GET | /tasks/{task_id} | /workspaces/{workspace_id}/projects/{project_id}/tasks | |
PUT | /tasks/{task_id} | /workspaces/{workspace_id}/projects/{project_id}/tasks/{task_id} |
Time Entries​
Verb | v8 | v9 | Additional Notes |
---|---|---|---|
GET | /time_entries | /me/time_entries | |
GET | /time_entries/start | - | No longer available |
POST | /time_entries/start | /workspaces/{workspace_id}/time_entries | |
GET | /time_entries/current | /me/time_entries/current | |
GET | /time_entries/{time_entry_id}/stop | - | no longer available |
POST | /time_entries/{time_entry_id}/stop | /workspaces/{workspace_id}/time_entries/{time_entry_id}/stop | v9 version becomes PATCH |
PUT | /time_entries/{time_entry_id} | /workspaces/{workspace_id}/time_entries/{time_entry_id} | |
POST | /time_entries/{time_entry_id} | - | Use PUT request |
DELETE | /time_entries/{time_entry_id} | /workspaces/{workspace_id}/time_entries/{time_entry_id} | |
GET | /time_entries/{time_entry_id} | - | No longer available, should be reintroduced |
Workspace​
Verb | v8 | v9 | Additional Notes |
---|---|---|---|
GET | /workspaces | /workspaces | Also available as /me/workspaces |
POST | /workspaces/{workspace_id}/reset_token | /me/reset_token | |
DELETE | /workspaces/{workspace_id}/leave | /organizations/{organization_id}/users/leave | |
GET | /workspaces/{workspace_id}/workspace_users | /workspaces/{workspace_id}/users | |
PUT | /workspace_users/{workspace_user_id} | /workspaces/{workspace_id}/workspace_users/{workspace_user_id} | |
DELETE | /workspace_users/{workspace_user_id} | /workspaces/{workspace_id}/workspace_users/{workspace_user_id} |