Workspace Sharing

Invite a user to a workspace

post
/api/v2/workspaces/{workspaceId}/invite

Send an invitation to a user to join a workspace with specified permissions. Only workspace owners can send invitations.

Authorizations
Path parameters
workspaceIdstring · uuidRequired

The workspace ID

Body
invitedEmailstring · emailRequired

Email address of the user to invite

Example: [email protected]
permissionsstring · enumOptional

Permission level for the invited user

Default: readPossible values:
Responses
200

Invitation sent successfully

application/json
post
/api/v2/workspaces/{workspaceId}/invite
POST /api/v2/workspaces/{workspaceId}/invite HTTP/1.1
Host: api-dev.jsmon.sh
Content-Type: application/json
Accept: */*
Content-Length: 56

{
  "invitedEmail": "[email protected]",
  "permissions": "read"
}
{
  "message": "Invitation sent successfully",
  "invitationId": "123e4567-e89b-12d3-a456-426614174000",
  "invitedEmail": "[email protected]"
}

Accept or reject a workspace invitation

post
/api/v2/workspaceInvitations/{invitationId}

Accept or reject a pending workspace invitation. The invitation must be for the authenticated user.

Authorizations
Path parameters
invitationIdstring · uuidRequired

The invitation ID

Body
statusstring · enumRequired

Whether to accept or reject the invitation

Possible values:
userEmailstring · emailRequired

Email address of the user responding to the invitation

Example: [email protected]
Responses
200

Invitation response processed successfully

application/json
post
/api/v2/workspaceInvitations/{invitationId}
POST /api/v2/workspaceInvitations/{invitationId} HTTP/1.1
Host: api-dev.jsmon.sh
Content-Type: application/json
Accept: */*
Content-Length: 52

{
  "status": "accepted",
  "userEmail": "[email protected]"
}
{
  "message": "Invitation accepted successfully"
}

Update invitation expiration date

post
/api/v2/workspaceInvitations/{invitationId}/expiration

Update the expiration date of a pending workspace invitation. Only the inviter or workspace owner can update expiration.

Authorizations
Path parameters
invitationIdstring · uuidRequired

The invitation ID

Body
expirationDatestring · date-timeRequired

New expiration date for the invitation

Example: 2024-12-31T23:59:59.000Z
Responses
200

Invitation expiration updated successfully

application/json
post
/api/v2/workspaceInvitations/{invitationId}/expiration
POST /api/v2/workspaceInvitations/{invitationId}/expiration HTTP/1.1
Host: api-dev.jsmon.sh
Content-Type: application/json
Accept: */*
Content-Length: 45

{
  "expirationDate": "2024-12-31T23:59:59.000Z"
}
{
  "message": "Invitation expiration updated successfully",
  "invitationId": "123e4567-e89b-12d3-a456-426614174000",
  "expiresAt": "2025-10-19T12:44:28.178Z"
}

Remove a user from workspace

post
/api/v2/workspaces/{workspaceId}/sharedUsers/{userId}/remove

Remove a shared user's access to a workspace. Only workspace owners can remove users.

Authorizations
Path parameters
workspaceIdstring · uuidRequired

The workspace ID

userIdstringRequired

The user ID to remove from workspace

Responses
200

User removed from workspace successfully

application/json
post
/api/v2/workspaces/{workspaceId}/sharedUsers/{userId}/remove
POST /api/v2/workspaces/{workspaceId}/sharedUsers/{userId}/remove HTTP/1.1
Host: api-dev.jsmon.sh
Accept: */*
{
  "message": "User removed from workspace successfully",
  "userId": "text",
  "workspace": "123e4567-e89b-12d3-a456-426614174000"
}

Update user permissions in workspace

post
/api/v2/workspaces/{workspaceId}/sharedUsers/{userId}

Update the permission level of a shared user in a workspace. Only workspace owners can update permissions.

Authorizations
Path parameters
workspaceIdstring · uuidRequired

The workspace ID

userIdstringRequired

The user ID whose permissions to update

Body
permissionsstring · enumRequired

New permission level for the user

Example: writePossible values:
Responses
200

Permissions updated successfully

application/json
post
/api/v2/workspaces/{workspaceId}/sharedUsers/{userId}
POST /api/v2/workspaces/{workspaceId}/sharedUsers/{userId} HTTP/1.1
Host: api-dev.jsmon.sh
Content-Type: application/json
Accept: */*
Content-Length: 23

{
  "permissions": "write"
}
{
  "message": "Permissions updated successfully",
  "userId": "text",
  "workspace": "123e4567-e89b-12d3-a456-426614174000",
  "permissions": "read"
}

List all shared users in workspace

get
/api/v2/workspaces/{workspaceId}/sharedUsers

Get a list of all users who have access to the workspace along with their permissions.

Authorizations
Path parameters
workspaceIdstring · uuidRequired

The workspace ID

Responses
200

Successfully retrieved shared users list

application/json
get
/api/v2/workspaces/{workspaceId}/sharedUsers
GET /api/v2/workspaces/{workspaceId}/sharedUsers HTTP/1.1
Host: api-dev.jsmon.sh
Accept: */*
{
  "workspaceId": "123e4567-e89b-12d3-a456-426614174000",
  "sharedUsers": [
    {
      "userId": "user123",
      "name": "John Doe",
      "email": "[email protected]",
      "permissions": "write",
      "addedAt": "2024-01-15T10:30:00Z"
    }
  ]
}

List pending invitations for workspace

post
/api/v2/workspaces/{workspaceId}/pendingInvitations

Get a list of all pending invitations for a workspace. Workspace owners can see all invitations, other users can only see invitations they sent.

Authorizations
Path parameters
workspaceIdstring · uuidRequired

The workspace ID

Responses
200

Successfully retrieved pending invitations

application/json
post
/api/v2/workspaces/{workspaceId}/pendingInvitations
POST /api/v2/workspaces/{workspaceId}/pendingInvitations HTTP/1.1
Host: api-dev.jsmon.sh
Accept: */*
{
  "workspaceId": "123e4567-e89b-12d3-a456-426614174000",
  "pendingInvitations": [
    {
      "invitationId": "456e7890-e89b-12d3-a456-426614174000",
      "inviterId": "user123",
      "inviterName": "Jane Smith",
      "invitedEmail": "[email protected]",
      "status": "pending",
      "permissions": "read",
      "expiresAt": "2024-02-15T23:59:59Z",
      "createdAt": "2024-01-15T10:30:00Z"
    }
  ]
}

Resend workspace invitation

post
/api/v2/workspaceInvitations/{invitationId}/resend

Resend an invitation email for a pending workspace invitation. Only the original inviter or workspace owner can resend invitations.

Authorizations
Path parameters
invitationIdstring · uuidRequired

The invitation ID to resend

Responses
200

Invitation resent successfully

application/json
post
/api/v2/workspaceInvitations/{invitationId}/resend
POST /api/v2/workspaceInvitations/{invitationId}/resend HTTP/1.1
Host: api-dev.jsmon.sh
Accept: */*
{
  "message": "Invitation resent successfully",
  "invitationId": "123e4567-e89b-12d3-a456-426614174000",
  "invitedEmail": "[email protected]"
}