Skip to Content
APIResourcesAdmin APIWorkspace Users

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.).

GET /api/v2/users
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"
Response
204 No Content

Invite 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).

POST /api/v2/users/invite
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" ] }'
Response
204 No Content

Request Body InviteUsersRequest

OptionType
emails string[]
message optionalstring

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).

PATCH /api/v2/users/:userId/role
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": {} }'
Response
204 No Content

Request Path Params UserIdParam

OptionType
userId string

Request Body UpdateUserRoleRequest

OptionType
role UpdateUserRoleRequestRole

Remove user

DELETE /api/v2/users/:userId

Remove a user from the workspace. Params: userId.

DELETE /api/v2/users/: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"
Response
204 No Content

Request Path Params UserIdParam

OptionType
userId string

Create external user

POST /api/v2/users/external

Create an external (feedback) user. Body: externalId (required), optional name, email, avatarUrl, avatarFileId.

POST /api/v2/users/external
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" }'
Response
204 No Content

Request Body CreateExternalUserRequest

OptionType
externalId string
name optionalstring
email optionalstring
avatarUrl optionalstring
avatarFileId optionalstring

Get external user

GET /api/v2/users/external/:externalId

Get an external user by externalId. Params: externalId.

GET /api/v2/users/external/: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"
Response
204 No Content

Request Path Params ExternalIdParam

OptionType
externalId string

Update external user

PATCH /api/v2/users/external/:externalId

Update an external user. Params: externalId. Body: optional name, email, avatarUrl, avatarFileId.

PATCH /api/v2/users/external/:externalId
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 '{}'
Response
204 No Content

Request Path Params ExternalIdParam

OptionType
externalId string

Request Body UpdateExternalUserRequest

OptionType
name optionalstring
email optionalstring
avatarUrl optionalstring
avatarFileId optionalstring

Delete external user

DELETE /api/v2/users/external/:externalId

Delete an external user from the workspace. Params: externalId.

DELETE /api/v2/users/external/: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"
Response
204 No Content

Request Path Params ExternalIdParam

OptionType
externalId string