runlot
참조API

조직

orgs 묶음의 오퍼레이션 7 개입니다.

메서드경로하는 일
GET/v1/orgs
POST/v1/orgs조직 생성
GET/v1/orgs/{orgSlug}/notifications최근 알림 (docs/limits.md §3.4)
GET/v1/orgs/{orgSlug}/members조직 멤버 (runlot org members)
POST/v1/orgs/{orgSlug}/members기존 사용자를 멤버로 넣는다 (runlot org add-member)
PUT/v1/orgs/{orgSlug}/members/{userId}역할을 바꾼다 (runlot org set-role)
DELETE/v1/orgs/{orgSlug}/members/{userId}멤버를 뺀다 (runlot org remove-member)

GET /v1/orgs

operationId listOrgs

응답본문
200소속 조직object
401

POST /v1/orgs

만든 사람이 admin 이 된다. 개인 계정도 1인 조직으로 모델링하므로 (docs/mvp-scope.md), 여기 별도 경로가 없다.

operationId createOrg

본문 application/json · object

응답본문
201생성된 조직Org
401
409

GET /v1/orgs/{orgSlug}/notifications

한도·백업·복원 사건의 목록이다 (notifications). 최신 순.

sentAt 이 있으면 메일도 나갔다는 뜻이다. 없는 행은 아직 큐에 있거나 받을 이메일이 없는 것인데, 후자에게는 이 목록이 유일한 통로다 — GitHub 로그인이 비공개 이메일이면 users.email 이 NULL 이다 (§3.3).

viewer 이상.

operationId listNotifications

인자자리필수설명
limitquery아니오integer
응답본문
200알림 목록object
403
404

GET /v1/orgs/{orgSlug}/members

member 이상.

operationId listMembers

응답본문
200멤버 목록object
403
404

POST /v1/orgs/{orgSlug}/members

초대가 아니다 (docs/local-mvp.md §3 — 초대 UI 제외). 사용자는 이미 한 번 로그인해 users 에 있어야 하고, 없으면 404 user_not_found. 이미 멤버면 409 already_member — 역할을 바꾸는 것은 PUT 이다.

admin 이상. 감사 member.add.

operationId addMember

본문 application/json · object

응답본문
201추가된 멤버Member
400
403
404조직이 없거나 사용자가 없다 (user_not_found)Error
409이미 멤버다 (already_member)Error

PUT /v1/orgs/{orgSlug}/members/{userId}

admin 이상. 마지막 admin 은 강등할 수 없다 (409 last_admin) — 자기 자신도 포함이다. 그 규칙이 없으면 조직이 아무도 관리할 수 없는 상태에 빠지고, 거기서 나오는 길은 DB 를 직접 고치는 것뿐이다. 감사 member.role.

operationId setMemberRole

본문 application/json · object

응답본문
200바뀐 멤버Member
400
403
404
409마지막 admin 이다 (last_admin)Error

DELETE /v1/orgs/{orgSlug}/members/{userId}

admin 이상. 마지막 admin 은 뺄 수 없다 (409 last_admin). 감사 member.remove.

operationId removeMember

응답본문
204뺐다
403
404
409마지막 admin 이다 (last_admin)Error

이 페이지에서