Skip to Content
개발자워크스페이스

워크스페이스

워크스페이스는 Posmit의 최상위 격리 단위입니다. API 키, 공급자, 템플릿, 발송 이력, 정책이 모두 워크스페이스에 속하며, 멤버는 워크스페이스별로 역할(owner / admin / operator / viewer)을 가집니다.

이 페이지의 엔드포인트는 모두 대시보드 인증의 Bearer 토큰을 사용합니다. 워크스페이스에 바인딩되지 않은 토큰(로그인 직후 소속 워크스페이스가 없는 상태)으로도 호출할 수 있으므로, 첫 워크스페이스를 만들 때도 사용할 수 있습니다. 수정·삭제 권한은 경로의 워크스페이스에 대한 호출자의 멤버십 역할로 검사합니다.

목록 조회

GEThttps://api.posmit.io/v1/workspaces

내가 멤버로 속한 워크스페이스 목록을 가입 순서대로 조회합니다. (역할: 모든 인증 사용자) 각 항목의 role은 해당 워크스페이스에서의 내 역할입니다.

{ "workspaces": [ { "id": "3f6a...", "name": "우리 팀", "slug": "our-team", "role": "owner", "createdAt": "2026-07-10T09:00:00.000Z", "updatedAt": "2026-07-10T09:00:00.000Z" } ] }

생성

POSThttps://api.posmit.io/v1/workspaces

워크스페이스를 생성하며, 생성한 사용자가 자동으로 owner가 됩니다. (역할: 모든 인증 사용자)

필드타입필수설명
namestring필수워크스페이스 이름. 최대 120자입니다.
slugstring선택URL용 식별자. 소문자·숫자·하이픈(a-z, 0-9, -)만 허용, 최대 120자입니다. 생략하면 이름에서 자동 생성됩니다.

슬러그 규칙

  • 생략하면 name을 기반으로 자동 생성됩니다. 소문자로 변환한 뒤 영문·숫자가 아닌 문자는 하이픈으로 치환하고, 앞뒤 하이픈을 제거합니다. 이 결과가 비면 workspace가 사용됩니다.
  • 슬러그는 전체 서비스에서 유일해야 합니다. 이미 사용 중이면 -1, -2 … 접미사를 붙여 자동으로 겹치지 않는 값이 저장됩니다. 따라서 요청한 슬러그와 실제 저장된 슬러그가 다를 수 있으니 응답의 slug를 확인하세요.
curl -X POST https://api.posmit.io/v1/workspaces \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "우리 팀", "slug": "our-team" }'
{ "workspace": { "id": "3f6a...", "name": "우리 팀", "slug": "our-team", "role": "owner", "createdAt": "2026-07-10T09:00:00.000Z", "updatedAt": "2026-07-10T09:00:00.000Z" } }
상태코드의미
400NOTI-40000요청 본문 검증 실패(이름 누락·120자 초과, 슬러그 형식 위반, 허용되지 않은 필드)
401NOTI-40100액세스 토큰이 유효하지 않음

새로 만든 워크스페이스의 리소스 API를 호출하려면 POST /v1/auth/workspaces/:workspaceId/select로 해당 워크스페이스에 바인딩된 토큰을 발급받아야 합니다.

수정

PATCHhttps://api.posmit.io/v1/workspaces/:workspaceId

이름과 슬러그를 수정합니다. (역할: owner / admin)

필드타입필수설명
namestring선택새 이름. 최대 120자, 빈 문자열은 허용되지 않습니다.
slugstring선택새 슬러그. 생성과 동일한 형식·유일성 규칙이 적용됩니다(자기 자신의 기존 슬러그는 중복 검사에서 제외).

두 필드 모두 선택이며, 변경된 값이 있을 때만 저장되고 감사 로그(workspace.updated)가 남습니다. 응답 형식은 생성과 동일합니다(workspace 객체).

상태코드의미
400NOTI-40000본문 검증 실패 또는 workspaceId가 UUID 형식이 아님
403NOTI-40300owner / admin이 아닌 멤버(operator, viewer)가 수정을 시도함
404NOTI-40400해당 워크스페이스가 없거나 멤버가 아님

삭제

DELETEhttps://api.posmit.io/v1/workspaces/:workspaceId

워크스페이스를 삭제합니다. (역할: owner만) 워크스페이스에 연결된 감사 로그와 리프레시 토큰 세션도 함께 삭제되므로, 해당 워크스페이스에 바인딩된 다른 멤버의 세션도 더 이상 갱신되지 않습니다.

{ "status": "deleted" }
상태코드의미
400NOTI-40000workspaceId가 UUID 형식이 아님
403NOTI-40300owner가 아니거나 멤버가 아님

삭제는 되돌릴 수 없고, 수정과 달리 admin도 삭제할 수 없으며, 멤버가 아닌 경우에도 404가 아닌 403이 반환됩니다.

Last updated on