Accept Workspace Invitation
POST
/web/v1/system/profile/invitations/{invitationBizId}/accept JWTAccepts a workspace invitation for the authenticated user. The user will be added as a member of the workspace.
Required Headers
| Header | Example Value | Description |
|---|---|---|
| Content-Type | application/json | Request content type |
| Accept | application/json | Expected response type |
| X-Client-Hash | Client device fingerprint | |
| Accept-Language | en, zh, zh-Hant, ja, vi | Response language (default: en) |
| Authorization | Bearer | JWT access token |
Request Parameters
| Name | Type | Required | In | Description |
|---|---|---|---|---|
invitationBizId | String | Required | path | Invitation business ID |
No request body required.
Success Response
Success 200
{
"success": true,
"code": "2000",
"message": "SUCCESS",
"data": {
"invitationBizId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"workspaceBizId": "WS_ACME_001",
"becameDefaultWorkspace": false,
"nextAction": {
"code": "ENTER_ACCEPTED_WORKSPACE",
"value": 10050403,
"label": "Enter accepted workspace"
}
}
}Response Fields
| Field | Type | Description |
|---|---|---|
invitationBizId | string | The accepted invitation's business ID |
workspaceBizId | string | The workspace the user joined |
becameDefaultWorkspace | boolean | Whether the workspace became the user's default |
nextAction | object | Recommended next action enum {code, value, label} |
Next Action Values
| Code | Value | Description |
|---|---|---|
ENTER_DEFAULT_WORKSPACE | 10050401 | User already has a default workspace |
CHOOSE_WORKSPACE | 10050402 | User has multiple workspaces, should choose |
ENTER_ACCEPTED_WORKSPACE | 10050403 | Navigate to the newly accepted workspace |
Error Responses
Conflict 409
{
"success": false,
"code": "WORKSPACE.INVITATION_ALREADY_PROCESSED",
"message": "Invitation has already been processed"
}Conflict 409
{
"success": false,
"code": "WORKSPACE.INVITATION_EXPIRED",
"message": "Invitation has expired"
}Forbidden 403
{
"success": false,
"code": "WORKSPACE.CROSS_PORTAL_ACCEPT",
"message": "Cross-portal invitation acceptance is not allowed"
}| Code | HTTP | Description |
|---|---|---|
WORKSPACE.INVITATION_ALREADY_PROCESSED | 409 | Invitation was already accepted, declined, or cancelled |
WORKSPACE.INVITATION_EXPIRED | 409 | Invitation has expired |
WORKSPACE.CROSS_PORTAL_ACCEPT | 403 | Invitee portal type does not match workspace portal type |
Notes
- The user is added as a member of the workspace upon acceptance.
- The invitation is consumed and cannot be accepted again.
- Cross-portal acceptance (e.g. CONSUMER user accepting a TENANT workspace invitation) is rejected.