조직 만들기
POST/v1/organizations
조직을 만듭니다, 만든 사람이 소유자가 되고 기본 워크스페이스가 함께 생깁니다
콘솔 세션 전용입니다, 조직 역할 owner, admin, developer만 부를 수 있고 API 키로 부르면 403 console_only입니다
참고 서버 구현(2026-10-12 dev 기준)이 계약 초안과 다른 점
- 서버에는 409 conflict 경로가 없습니다, 이름 검증 실패만 400입니다
Headers
- Cookie: string콘솔 로그인 세션 쿠키, 콘솔 전용 엔드포인트라 API 키로 부르면 403 console_only입니다
- Origin: string콘솔 세션으로 상태를 바꿀 때 같은 출처(https://xenoci.com)여야 합니다, API 키 요청에는 필요 없습니다
Body
- kind: "personal" or "team"personal 또는 team
- name: string조직 이름80자 이하
Returns
201 만들어짐 application/json
Organization: object
- id: stringID형식
^org_[A-Za-z0-9]+$ - name: string이름
- kind: "personal" or "team"종류
- role: "owner" or "admin" or "developer"호출자의 역할
- default_workspace_id: string기본 워크스페이스
- tier: optional integer티어 번호최소 1
- created_at: string만든 시각RFC 3339 UTC 시각
- allowed_cidrs: optional array of stringAPI 키 요청을 허용할 CIDR 목록(IPv4 또는 IPv6), 비어 있으면 모든 주소 허용, 밖에서 온 요청은 403 ip_not_allowed, 콘솔 세션은 IP로 막지 않습니다
- suspended: optional boolean운영자가 정지한 조직, 키는 403 organization_suspended를 받고 실행 중인 잡은 멈춥니다
오류
- invalid_request: HTTP 400본문이나 쿼리가 검증에 실패했습니다, error.details.fields에 문제 필드가 있습니다
- session_required: HTTP 401콘솔 엔드포인트를 유효한 콘솔 세션 쿠키 없이 불렀습니다
- console_only: HTTP 403콘솔 세션 전용 엔드포인트입니다, API 키로는 결제, 키, 멤버 관리를 할 수 없습니다
- insufficient_permission: HTTP 403역할이나 키 권한(run/read)이 이 요청을 허용하지 않습니다
- conflict: HTTP 409자원 상태가 이 요청을 허용하지 않습니다, 다시 읽은 뒤 시도하세요
- rate_limited: HTTP 429, 다시 시도 가능이 키 또는 조직의 요청이 너무 많습니다, retry_after_s만큼 기다리세요
- internal_error: HTTP 500, 다시 시도 가능예상하지 못한 오류입니다, 다시 시도하고 반복되면 request_id와 함께 알려 주세요
오류 봉투 모양과 전체 코드 표는 오류 코드에 있습니다