# Members ## List workspace members **get** `/v1/account/workspaces/{workspaceId}/members` Lists the members of a workspace. Admin only. ### Path Parameters - `workspaceId: string` ### Query Parameters - `cursor: optional string` Pagination cursor from previous response - `limit: optional number` Maximum number of results to return ### Returns - `items: optional array of WorkspaceMember` - `actorId: string` The actor row linking the profile to the workspace (the junction record). - `profileId: string` The account profile that has access to the workspace. - `addedAt: optional string` When the member was added to the workspace. - `email: optional string` Email address of the member's profile. - `name: optional string` Display name of the member's profile. - `pagination: optional Page` - `nextCursor: optional string` - `total: optional number` ### Example ```http curl https://api.cadenya.com/v1/account/workspaces/$WORKSPACE_ID/members \ -H "Authorization: Bearer $CADENYA_API_KEY" ``` #### Response ```json { "items": [ { "actorId": "actorId", "profileId": "profileId", "addedAt": "2019-12-27T18:11:19.117Z", "email": "email", "name": "name" } ], "pagination": { "nextCursor": "nextCursor", "total": 0 } } ``` ## Add a member to a workspace **post** `/v1/account/workspaces/{workspaceId}/members` Grants a profile access to the workspace by creating (or reactivating) the actor that links the profile to the workspace. Accepts either an existing profile_id or an email to resolve-or-invite. Idempotent for an already-active member. Admin only. ### Path Parameters - `workspaceId: string` ### Body Parameters - `email: optional string` Email address to add (resolve-or-invite). Mutually exclusive with profile_id. - `profileId: optional string` An existing account profile to add. Mutually exclusive with email. ### Returns - `WorkspaceMember object { actorId, profileId, addedAt, 2 more }` A member of a workspace: the profile granted access plus the actor row that links it to the workspace. Returned by member list/add operations. - `actorId: string` The actor row linking the profile to the workspace (the junction record). - `profileId: string` The account profile that has access to the workspace. - `addedAt: optional string` When the member was added to the workspace. - `email: optional string` Email address of the member's profile. - `name: optional string` Display name of the member's profile. ### Example ```http curl https://api.cadenya.com/v1/account/workspaces/$WORKSPACE_ID/members \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CADENYA_API_KEY" \ -d '{}' ``` #### Response ```json { "actorId": "actorId", "profileId": "profileId", "addedAt": "2019-12-27T18:11:19.117Z", "email": "email", "name": "name" } ``` ## Remove a member from a workspace **delete** `/v1/account/workspaces/{workspaceId}/members/{profileId}` Revokes a member's access by deactivating their actor; the member is immediately cut off. The underlying profile is not deleted. Admin only. ### Path Parameters - `workspaceId: string` - `profileId: string` ### Example ```http curl https://api.cadenya.com/v1/account/workspaces/$WORKSPACE_ID/members/$PROFILE_ID \ -X DELETE \ -H "Authorization: Bearer $CADENYA_API_KEY" ```