---
title: "Get workspace member"
method: GET
path: "/v1/workspaces/{workspace_id}/members/{user_id}"
tags: ["members-access"]
---

# Get workspace member

`GET /v1/workspaces/{workspace_id}/members/{user_id}`

## Request

- Base URL: `https://api.lovable.dev`
- URL: `https://api.lovable.dev/v1/workspaces/{workspace_id}/members/{user_id}`
- Auth: one of:
  - API key in header `Lovable-API-Key`
  - HTTP bearer

**Plan:** `Business or higher`

**Scope:** `workspaces:read`

Returns an active workspace member's profile and join and invitation dates. name is the stored display name, or null when unavailable. Pass the public user UUID returned as user_id by GET /v1/workspaces/{workspace_id}/members. Unknown users and missing or non-active memberships return 404. Reads are eventually consistent: recent changes may not appear immediately. Retry the read with backoff if an expected change is missing.

## Path parameters

- `workspace_id` string, required: Workspace ID.
- `user_id` string, uuid, required: User ID returned by the workspace members endpoint.

## Headers

- `Lovable-Version` string
- `Lovable-Beta` string

## Response `200`

OK

- WorkspaceMemberDetails
  - `email` string, nullable, required: Member email address; null when unavailable.
  - `name` string, nullable, required: Member display name in this workspace; null when unavailable.
  - `role` 'workspace_owner' | 'workspace_admin' | 'workspace_editor' | 'workspace_viewer' | 'external_collaborator', required: Workspace access role, with the same values as the member list. external_collaborator identifies a user with access to specific projects, rather than workspace membership. More values may be added; clients must tolerate unknown values.
  - `type` 'user', required: Identity type. Currently user; clients must tolerate unknown values.
  - `user_id` string, uuid, required: Public user UUID for this member.
  - `workspace_id` string, required: Workspace the membership belongs to.

## Other responses

- `400`: The path parameters or request headers are malformed or fail validation. user_id must be a nonzero UUID. Each failing field is listed in errors.
- `401`: Missing or invalid API key, session token, or OAuth access token.
- `402`: Public API access requires Business or higher. Some operations or configurations require an additional feature entitlement.
- `403`: The key or caller lacks the required scope or permission. For email_not_verified, verify the account email before retrying.
- `404`: The workspace does not exist, has been deleted, or is outside the credential's workspace scope. Workspace lookup failures use workspace_not_found. Unknown user UUIDs, users outside this workspace, and non-active memberships including pending invitations return member_not_found.
- `406`: The Accept header excludes every media type this endpoint produces.
- `429`: Too many requests. Retry after the interval in Retry-After when present.
- `503`: The service is temporarily unavailable, or the processing deadline expired (request_timeout). A mutation may still complete; check resource state before retrying.
- `default`: Error. The response body uses the standard error envelope; status matches the HTTP status code and type is a machine-readable error code.

## Changes

- **2026-10-27** `37219ac158a3`: 1 info
  - added the required property `role` to the response with the `200` status
- **2026-09-22** `0e7b705f0056`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/lovable/apis/lovable-api/changes/v1/workspaces/:workspace_id/members/:user_id/get.md)

---

[API](https://skmtc.dev/lovable/apis/lovable-api.md) - [All operations](https://skmtc.dev/lovable/apis/lovable-api/llms.txt) - [OpenAPI document](https://skmtc.dev/lovable/apis/lovable-api/revisions/ed671816c468?raw)
