orgs
Organizations and membership (CRUD-lite)
GET /v1/orgs
List my organizations
Orgs the caller belongs to, with their role in each.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
limit | query | integer | Page size. |
cursor | query | string | Opaque cursor from the previous page's |
Responses
| Status | Description | Body |
|---|---|---|
200 | Page of org memberships. | OrgMembershipPage |
401 | Missing or invalid credentials. | Problem |
POST /v1/orgs
Create an organization
Creates an org with the caller as owner member. Org slugs and usernames share one handle namespace.
Request body
| Field | Type | Description |
|---|---|---|
slug | Slug | |
display_name | string | null | |
description | string | null |
Responses
GET /v1/orgs/{org}
Get an organization
Public org profile.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
org | path | Slug | Org slug. |
Responses
PATCH /v1/orgs/{org}
Update an organization
Only members with role owner may update.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
org | path | Slug | Org slug. |
Request body
| Field | Type | Description |
|---|---|---|
display_name | string | null | |
description | string | null | |
avatar_url | string (uri) | null (uri) |
Responses
GET /v1/orgs/{org}/members
List organization members
Visible to org members only.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
org | path | Slug | Org slug. |
limit | query | integer | Page size. |
cursor | query | string | Opaque cursor from the previous page's |
Responses
| Status | Description | Body |
|---|---|---|
200 | Page of members. | MemberPage |
401 | Missing or invalid credentials. | Problem |
403 | Authenticated but not allowed (visibility, membership or scope). | Problem |
404 | Resource not found (or hidden from the caller). | Problem |
PUT /v1/orgs/{org}/members/{username}
Add or update a member
Upserts a membership with the given role. Only owner members may call. An org must keep at least one owner.
Parameters
Request body
| Field | Type | Description |
|---|---|---|
role | OrgRole |
Responses
DELETE /v1/orgs/{org}/members/{username}
Remove a member
owner members may remove anyone; any member may remove themselves (leave). Removing the last owner is rejected.
Parameters
Responses
| Status | Description | Body |
|---|---|---|
204 | Membership removed. | |
401 | Missing or invalid credentials. | Problem |
403 | Authenticated but not allowed (visibility, membership or scope). | Problem |
404 | Resource not found (or hidden from the caller). | Problem |
409 | State conflict (duplicate handle/slug, wrong repo kind, terminal job, ...). | Problem |
Schemas (9)
The schemas these operations reach before any other tag’s do. A type that links elsewhere is rendered on that tag’s page.
OrgMembershipPage
| Field | Type | Description |
|---|---|---|
items | array of OrgMembership | |
next_cursor | string | null |
OrgCreate
| Field | Type | Description |
|---|---|---|
slug | Slug | |
display_name | string | null | |
description | string | null |
Org
OrgUpdate
All fields optional; omitted fields are unchanged.
| Field | Type | Description |
|---|---|---|
display_name | string | null | |
description | string | null | |
avatar_url | string (uri) | null (uri) |
MemberPage
| Field | Type | Description |
|---|---|---|
items | array of Member | |
next_cursor | string | null |
MemberPut
| Field | Type | Description |
|---|---|---|
role | OrgRole |
Member
| Field | Type | Description |
|---|---|---|
user | UserPublic | |
role | OrgRole | |
created_at | string (date-time) |