Workspace Users
List workspace users, invite by email, change roles, remove users; create, get, update, and delete external users. All operations are scoped to the API key’s workspace.
List users
GET /api/v2/users
List all users in the API key’s workspace (id, email, name, role, etc.).
curl "https://api.markup.io/api/v2/users" \
-X GET \
-H "Authorization: Bearer <API-KEY-SECRET>" \
-H "Markup-API-Version: 2023-02-22" \
-H "Content-Type: application/json"204 No ContentInvite users
POST /api/v2/users/invite
Send email invites to join the workspace. Body: emails (array, max 25), optional message. Caller must have verified email (or IdP).
curl "https://api.markup.io/api/v2/users/invite" \
-X POST \
-H "Authorization: Bearer <API-KEY-SECRET>" \
-H "Markup-API-Version: 2023-02-22" \
-H "Content-Type: application/json" \
--data '{
"emails": [
"some string"
]
}'204 No ContentRequest Body InviteUsersRequest
| Option | Type | |
|---|---|---|
| emails | string[] | |
| message optional | string |
Update user role
PATCH /api/v2/users/:userId/role
Change a workspace member’s role. Params: userId. Body: role (e.g. owner, admin, contributor, viewer).
curl "https://api.markup.io/api/v2/users/31466361-21ad-4678-91f0-4e6cd2631dd6/role" \
-X PATCH \
-H "Authorization: Bearer <API-KEY-SECRET>" \
-H "Markup-API-Version: 2023-02-22" \
-H "Content-Type: application/json" \
--data '{
"role": {}
}'204 No ContentRequest Path Params UserIdParam
| Option | Type | |
|---|---|---|
| userId | string |
Request Body UpdateUserRoleRequest
| Option | Type | |
|---|---|---|
| role | UpdateUserRoleRequestRole |
Remove user
DELETE /api/v2/users/:userId
Remove a user from the workspace. Params: userId.
curl "https://api.markup.io/api/v2/users/09a9ca04-f9e7-403d-be1f-3c02cc348048" \
-X DELETE \
-H "Authorization: Bearer <API-KEY-SECRET>" \
-H "Markup-API-Version: 2023-02-22" \
-H "Content-Type: application/json"204 No ContentRequest Path Params UserIdParam
| Option | Type | |
|---|---|---|
| userId | string |
Create external user
POST /api/v2/users/external
Create an external (feedback) user. Body: externalId (required), optional name, email, avatarUrl, avatarFileId.
curl "https://api.markup.io/api/v2/users/external" \
-X POST \
-H "Authorization: Bearer <API-KEY-SECRET>" \
-H "Markup-API-Version: 2023-02-22" \
-H "Content-Type: application/json" \
--data '{
"externalId": "some externalId"
}'204 No ContentRequest Body CreateExternalUserRequest
| Option | Type | |
|---|---|---|
| externalId | string | |
| name optional | string | |
| email optional | string | |
| avatarUrl optional | string | |
| avatarFileId optional | string |
Get external user
GET /api/v2/users/external/:externalId
Get an external user by externalId. Params: externalId.
curl "https://api.markup.io/api/v2/users/external/some externalId" \
-X GET \
-H "Authorization: Bearer <API-KEY-SECRET>" \
-H "Markup-API-Version: 2023-02-22" \
-H "Content-Type: application/json"204 No ContentRequest Path Params ExternalIdParam
| Option | Type | |
|---|---|---|
| externalId | string |
Update external user
PATCH /api/v2/users/external/:externalId
Update an external user. Params: externalId. Body: optional name, email, avatarUrl, avatarFileId.
curl "https://api.markup.io/api/v2/users/external/some externalId" \
-X PATCH \
-H "Authorization: Bearer <API-KEY-SECRET>" \
-H "Markup-API-Version: 2023-02-22" \
-H "Content-Type: application/json" \
--data '{}'204 No ContentRequest Path Params ExternalIdParam
| Option | Type | |
|---|---|---|
| externalId | string |
Request Body UpdateExternalUserRequest
| Option | Type | |
|---|---|---|
| name optional | string | |
| email optional | string | |
| avatarUrl optional | string | |
| avatarFileId optional | string |
Delete external user
DELETE /api/v2/users/external/:externalId
Delete an external user from the workspace. Params: externalId.
curl "https://api.markup.io/api/v2/users/external/some externalId" \
-X DELETE \
-H "Authorization: Bearer <API-KEY-SECRET>" \
-H "Markup-API-Version: 2023-02-22" \
-H "Content-Type: application/json"204 No ContentRequest Path Params ExternalIdParam
| Option | Type | |
|---|---|---|
| externalId | string |