워크스페이스 멤버 조회
플랜:
Business 이상
스코프: workspaces:read
활성 워크스페이스 멤버의 프로필과 참여·초대 날짜를 반환합니다. name은 저장된 표시 이름이며 사용할 수 없으면 null입니다. GET /v1/workspaces/{workspace_id}/members가 user_id로 반환한 공개 사용자 UUID를 전달하세요. 알 수 없는 사용자와 존재하지 않거나 활성 상태가 아닌 멤버십은 404를 반환합니다. 읽기는 eventually consistent이므로 최근 변경이 즉시 나타나지 않을 수 있습니다. 예상한 변경이 보이지 않으면 백오프를 두고 다시 읽으세요.
OpenAPI
| 항목 | 값 |
|---|---|
| Method | GET |
| Path | /v1/workspaces/{workspace_id}/members/{user_id} |
| Operation ID | getWorkspaceMember |
| Source spec | https://api.lovable.dev/v1/openapi.yaml |
| Local snapshot | YAML 스냅샷 (SHA-256: f555724451d02865e8c7530f08d6aceca34294bc4687d9ed955440a8ee98052e) |
GET /v1/workspaces/{workspace_id}/members/{user_id}인증
Lovable-API-Key: lov_your-api-key 또는 Authorization: Bearer <key>를 보냅니다. 이 엔드포인트는 workspaces:read 스코프가 필요합니다. workspaces:write는 workspaces:read를 포함하지만 프로젝트 계열 스코프는 워크스페이스 계열로 넘어가지 않습니다. 키는 하나의 워크스페이스에 바인딩되므로 다른 워크스페이스의 리소스는 존재하지 않는 리소스와 마찬가지로 404를 반환합니다. 응답 본문이 있으면 application/json을 반환합니다. Accept: application/json이나 Accept: */*를 보내거나 Accept 헤더를 생략하세요. JSON을 제외하는 Accept 헤더는 406을 반환합니다.
매개변수
| 이름 | 위치 | 필수 | 타입 | 제약 | 설명 |
|---|---|---|---|---|---|
workspace_id | path | 예 | string | - | 워크스페이스 ID입니다. |
user_id | path | 예 | string | format: uuid | 워크스페이스 멤버 엔드포인트가 user_id로 반환한 공개 사용자 UUID입니다. |
Lovable-Version | header | 아니요 | string | - | 제공받을 안정 API 버전입니다. YYYY-MM-DD 날짜 형식으로 보냅니다. 생략하면 현재 가장 오래된 지원 안정 버전인 2026-09-11이 사용됩니다. |
Lovable-Beta | header | 아니요 | string | - | 안정 버전 위에 활성화할 베타 리비전 문자열입니다. 여러 개는 쉼표로 구분합니다. |
이 작업은 query 매개변수와 요청 본문을 받지 않습니다.
예시
curl --request GET \
--url 'https://api.lovable.dev/v1/workspaces/workspace-id/members/user-id' \
--header 'Lovable-API-Key: lov_your-api-key' \
--header 'Lovable-Version: 2026-09-11'const response = await fetch("https://api.lovable.dev/v1/workspaces/workspace-id/members/user-id", {
method: "GET",
headers: {
"Lovable-API-Key": process.env.LOVABLE_API_KEY ?? "lov_your-api-key",
"Lovable-Version": "2026-09-11",
},
});
if (!response.ok) {
throw new Error(`Lovable API ${response.status}: ${await response.text()}`);
}
console.log(await response.json());응답
| 상태 | 본문 schema | 설명 |
|---|---|---|
200 | WorkspaceMemberDetails | 요청이 성공했습니다. 본문은 활성 워크스페이스 멤버입니다. |
400 | ErrorResponse | path 매개변수나 요청 헤더 형식이 잘못되었거나 검증에 실패했습니다. user_id는 0이 아닌 UUID여야 합니다. 실패한 각 필드는 errors에 나열됩니다. |
401 | ErrorResponse | API 키, session token, OAuth access token이 없거나 유효하지 않습니다. |
402 | ErrorResponse | Public API 접근에는 Business 이상 플랜이 필요합니다. 일부 작업이나 구성에는 추가 기능 권한이 필요합니다. |
403 | ErrorResponse | 키 또는 호출자에게 필요한 스코프나 권한이 없습니다. email_not_verified인 경우 계정 이메일을 인증한 뒤 다시 시도하세요. |
404 | ErrorResponse | 워크스페이스가 존재하지 않거나 삭제되었거나 자격 증명의 워크스페이스 범위 밖에 있습니다. 워크스페이스 조회 실패는 workspace_not_found를 사용합니다. 알 수 없는 사용자 UUID, 이 워크스페이스 밖의 사용자, 보류 중인 초대를 포함해 활성 상태가 아닌 멤버십은 member_not_found를 반환합니다. |
406 | ErrorResponse | Accept 헤더가 이 엔드포인트가 생성하는 모든 media type을 제외했습니다. |
429 | ErrorResponse | 요청이 너무 많습니다. Retry-After가 있으면 해당 간격 뒤에 다시 시도하세요. |
503 | ErrorResponse | 서비스를 일시적으로 사용할 수 없거나 처리 기한이 만료되었습니다(request_timeout). mutation은 완료될 수 있으므로 다시 시도하기 전에 리소스 상태를 확인하세요. |
default | ErrorResponse | 오류입니다. 응답 본문은 표준 오류 envelope을 사용합니다. status는 HTTP 상태 코드와 같고 type은 machine-readable 오류 코드입니다. |
오류 요구사항 metadata
이 읽기 작업에서 요구사항 metadata는 402와 403 응답의 props에만 나타납니다. 402 payment_required는 최소 플랜 tier를 담은 required_plan을 주거나, 기능 게이트일 때 required_features 배열을 주며 required_features의 식별자는 '모두' 충족해야 합니다. 두 key는 함께 오지 않으며 결제 실패에 따라 둘 다 없을 수 있습니다. 403 forbidden의 required_permissions는 대체 가능한 권한 집합의 배열이고 어느 한 집합의 권한을 '모두' 가지면 통과하므로 'AND 집합들의 OR'로 읽습니다. 403 insufficient_scope의 required_scopes는 허용되는 스코프 목록이며 그중 '아무거나' 하나로 충족됩니다. 이 엔드포인트에서는 workspaces:read가 그 목록에 해당하고 workspaces:write가 이를 포함합니다.
type | props 구조와 의미 |
|---|---|
payment_required | 플랜 게이트는 최소 tier(pro, business, enterprise)를 담은 required_plan을 포함합니다. 기능 게이트는 대신 기능 권한 식별자 배열인 required_features를 포함하며 배열의 모든 항목이 필요합니다. 예를 들어 {"required_plan":"business"}입니다. 다른 결제 실패는 둘 다 없을 수 있습니다. |
forbidden | 권한 게이트는 대체 가능한 권한 집합의 배열인 required_permissions를 포함합니다. 한 집합의 권한을 모두 가지면 그 게이트를 충족합니다. 예를 들어 [["project:edit"]]는 해당 권한을 요구하고 [["a","b"],["c"]]는 a와 b를 모두 가지거나 c를 가질 것을 요구합니다. 다른 거부에는 요구사항 metadata가 없을 수 있습니다. |
insufficient_scope | required_scopes는 허용되는 자격 증명 스코프의 배열이며 그중 하나만 있으면 실패한 스코프 검사를 충족합니다. 쓰기 스코프는 대응하는 읽기 스코프도 포함합니다. 예를 들어 {"required_scopes":["projects:write"]}입니다. |
security_critical_findings | finding_refs는 게시를 막는 보안 발견 항목을 식별하는 문자열 배열입니다. 예를 들어 {"finding_refs":["supabase/finding-1"]}입니다. |
retired_version, retired_beta | migration_url은 마이그레이션 가이드로 연결되는 문자열 URL이며 제공 가능한 경우에만 포함됩니다. |
요구사항 metadata는 실패한 검사만 설명하며 작업의 모든 조건을 설명하지 않습니다. 다른 검사가 여전히 요청을 거부할 수 있고 metadata 자체가 생략될 수도 있습니다. 권한·기능 식별자는 실질적 접근 범위를 설명하며 필요한 워크스페이스 역할을 확정하지 않으므로 접근 권한이 필요하면 워크스페이스 관리자에게 문의하세요. 식별자는 시간이 지나며 추가될 수 있습니다. 내부 전용 요구사항과 리소스를 감추는 응답은 접근 요구사항을 공개하지 않습니다.
응답 헤더
헤더는 상태별로 범위가 다릅니다. WWW-Authenticate는 401에만, Retry-After는 429에만 나타납니다. Lovable-Version과 Lovable-Beta는 200, 400, 404, 406, 503, default에 선언되고 401, 402, 403, 429에는 선언되지 않습니다. X-Request-Id, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-Lovable-Unknown-Query-Params, X-Lovable-Unknown-Query-Params-Omitted는 모든 상태에 공통으로 선언됩니다. 아래 표는 상태별 선언을 그대로 옮긴 것입니다.
| 상태 | 헤더 | 타입 | 설명 |
|---|---|---|---|
200 | Lovable-Beta | string | 요청에 적용된 beta revision입니다. 쉼표로 구분됩니다. 요청이 beta revision을 선택한 경우에만 있습니다. |
200 | Lovable-Version | string | 요청을 처리한 안정 API 버전입니다. 버전 선택 전에 요청이 거부되었거나 버전 선택 자체가 실패한 경우에는 없습니다. |
200 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
200 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수이며 minimum: 1입니다. |
200 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
200 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
200 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
200 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
400 | Lovable-Beta | string | 요청에 적용된 beta revision입니다. 쉼표로 구분됩니다. 요청이 beta revision을 선택한 경우에만 있습니다. |
400 | Lovable-Version | string | 요청을 처리한 안정 API 버전입니다. 버전 선택 전에 요청이 거부되었거나 버전 선택 자체가 실패한 경우에는 없습니다. |
400 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
400 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수이며 minimum: 1입니다. |
400 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
400 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
400 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
400 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
401 | WWW-Authenticate | string | 지원되는 인증 scheme을 식별하는 authentication challenge입니다. 예시 값은 Bearer입니다. |
401 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
401 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수이며 minimum: 1입니다. |
401 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
401 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
401 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
401 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
402 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
402 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수이며 minimum: 1입니다. |
402 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
402 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
402 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
402 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
403 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
403 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수이며 minimum: 1입니다. |
403 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
403 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
403 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
403 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
404 | Lovable-Beta | string | 요청에 적용된 beta revision입니다. 쉼표로 구분됩니다. 요청이 beta revision을 선택한 경우에만 있습니다. |
404 | Lovable-Version | string | 요청을 처리한 안정 API 버전입니다. 버전 선택 전에 요청이 거부되었거나 버전 선택 자체가 실패한 경우에는 없습니다. |
404 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
404 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수이며 minimum: 1입니다. |
404 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
404 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
404 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
404 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
406 | Lovable-Beta | string | 요청에 적용된 beta revision입니다. 쉼표로 구분됩니다. 요청이 beta revision을 선택한 경우에만 있습니다. |
406 | Lovable-Version | string | 요청을 처리한 안정 API 버전입니다. 버전 선택 전에 요청이 거부되었거나 버전 선택 자체가 실패한 경우에는 없습니다. |
406 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
406 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수이며 minimum: 1입니다. |
406 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
406 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
406 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
406 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
429 | Retry-After | integer | 다시 시도하기 전에 기다릴 초 단위 시간입니다. minimum: 1입니다. limiter가 재시도 지연 시간을 계산할 수 있을 때 제공됩니다. |
429 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
429 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수이며 minimum: 1입니다. |
429 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
429 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
429 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
429 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
503 | Lovable-Beta | string | 요청에 적용된 beta revision입니다. 쉼표로 구분됩니다. 요청이 beta revision을 선택한 경우에만 있습니다. |
503 | Lovable-Version | string | 요청을 처리한 안정 API 버전입니다. 버전 선택 전에 요청이 거부되었거나 버전 선택 자체가 실패한 경우에는 없습니다. |
503 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
503 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수이며 minimum: 1입니다. |
503 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
503 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
503 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
503 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
default | Lovable-Beta | string | 요청에 적용된 beta revision입니다. 쉼표로 구분됩니다. 요청이 beta revision을 선택한 경우에만 있습니다. |
default | Lovable-Version | string | 요청을 처리한 안정 API 버전입니다. 버전 선택 전에 요청이 거부되었거나 버전 선택 자체가 실패한 경우에는 없습니다. |
default | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
default | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수이며 minimum: 1입니다. |
default | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
default | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
default | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
default | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
스키마
필드 이름과 enum 값은 OpenAPI contract의 식별자를 그대로 유지했고 설명만 한국어로 옮겼습니다. null이 타입에 포함된 필드는 값이 없을 수 있습니다. 필수 여부는 각 schema 자신의 required 목록만 따릅니다.
WorkspaceMemberDetails
활성 워크스페이스 멤버입니다.
| 필드 | 필수 | 타입 | 제약 | 설명 | 예시 |
|---|---|---|---|---|---|
email | 예 | `string \ | null` | - | 멤버 이메일 주소입니다. 사용할 수 없으면 null입니다. |
name | 예 | `string \ | null` | - | 이 워크스페이스에서 쓰는 멤버 표시 이름입니다. 사용할 수 없으면 null입니다. |
type | 예 | string | enum: user | identity 타입입니다. 현재 값은 user이며 클라이언트는 알 수 없는 값을 허용해야 합니다. | user |
user_id | 예 | string | format: uuid | 이 멤버의 공개 사용자 UUID입니다. | 404666c6-b533-5d2c-9768-c425bf40559b |
workspace_id | 예 | string | - | 멤버십이 속한 워크스페이스입니다. | workspace_01jw3k9m2xq8r5v0c7d4e6f2gh |
ErrorResponse
공통 오류 응답입니다. 작업에 따라 특정 상태 코드에 다른 응답 본문이 문서화될 수 있습니다. 예를 들어 멤버별 credit 한도 일괄 업데이트 결과가 해당됩니다.
| 필드 | 필수 | 타입 | 제약 | 설명 | 예시 |
|---|---|---|---|---|---|
detail | 예 | `string \ | null` | - | 이번 오류에 대한 사람이 읽을 수 있는 안내입니다. 적용되지 않으면 null입니다. invalid_request에서는 validation failed이며 실행 가능한 필드 메시지는 errors에 있습니다. 다른 오류 유형은 재인증 안내 같은 정보를 제공할 수 있습니다. |
errors | 예 | `array \ | null` | - | 검증 실패 시 필드 단위 오류 상세 정보입니다. 필드 단위 상세 정보가 적용되지 않으면 null입니다. 각 항목은 location과 message를 모두 담으며 location은 실패를 특정 필드에 귀속할 수 없으면 null입니다. |
props | 예 | `object \ | null` | - | 오류별 metadata입니다. 적용되지 않으면 null입니다. key는 type에 따라 달라지며 인식하지 못한 key는 무시하세요. |
request_id | 예 | string | - | X-Request-Id 응답 헤더에서 반복되는 이 요청의 식별자입니다. 실패를 보고할 때 이 값을 인용하세요. | 4bf92f3577b34da6a3ce929d0e0e4736 |
status | 예 | integer | - | 본문에 반복되는 HTTP 상태 코드입니다. | 429 |
title | 예 | string | - | 사람이 읽을 수 있는 오류 요약입니다. 문구는 바뀔 수 있으므로 애플리케이션의 오류 처리는 type을 기준으로 결정하세요. | Too Many Requests |
type | 예 | string | - | 안정적인 machine-readable 오류 유형입니다. URI가 아니라 rate_limited 같은 snake_case token입니다. 클라이언트는 이 값으로 분기할 수 있으며 새 유형은 추가될 수 있습니다. | rate_limited |
원본에 인라인으로 포함됐던 이 작업의 OpenAPI 스냅샷은 YAML 스냅샷 (SHA-256: f555724451d02865e8c7530f08d6aceca34294bc4687d9ed955440a8ee98052e)으로 보존했습니다. 최신 전체 OpenAPI 계약은 https://api.lovable.dev/v1/openapi.yaml에서 확인할 수 있습니다.