---
title: "Join"
method: POST
path: "/api/v1/workspaces/join"
tags: ["Workspace"]
---

# Join

`POST /api/v1/workspaces/join`

Join a workspace via link or via workspace ID, if the user can auto-join
the workspace by domain.

## Joining by Domain
This is possible if:
- The user is verified
- The user has a user e-mail belonging to a domain that is set
  as a domain name for a workspace
- That workspace has the auto-join by domain feature enabled

## Request body

- BodyFe5aa153
  - `invite_code` string, nullable — Workspace invite code to join with. Provide either `invite_code` or `workspace_id`, not both.
  - `workspace_id` integer, nullable — Workspace ID to join by verified email domain. Provide either `invite_code` or `workspace_id`, not both.

## Response `200`

Successful Response

- WorkspaceUserView
  - `user_id` string, required — String ID of the workspace user.
  - `workspace_id` string, required — String ID of the workspace.
  - `role` 'ADMIN' | 'MEMBER' | 'GUEST' — Role of the user inside the workspace
  - `custom_sorting_applied` boolean — Whether the user has custom project sorting enabled.
  - `project_sort_preference` 'MANUAL' | 'A_TO_Z' | 'Z_TO_A' — User preference for workspace project sorting

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.net/todoist/apis/todoist-api.md) · [All operations](https://skmtc.net/todoist/apis/todoist-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/todoist/todoist-api/revisions/69a962f1578f/schema)
