Skip to content

`POST /v1/orgs`.

POST
/v1/orgs
curl --request POST \
--url https://api.updawg.net/v1/orgs \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "slug": "example" }'

The creator is the owner, written in the same transaction as the organization — otherwise there is an organization nobody can administer and which does not appear in its own creator’s GET /v1/me.

Media typeapplication/json
object
name
required
string
slug

Optional: derived from the name when it is not given.

string | null
Examplegenerated
{
"name": "example",
"slug": "example"
}

Created. The caller becomes its owner.

Media typeapplication/json
object
agent_auto_update
required

Whether agents are kept on the stable channel automatically (DAWG-46).

boolean
audit_retention_days

Days the audit log is kept if fewer than the plan keeps, or null for the plan’s whole window (DAWG-160).

integer | null format: int32
audit_retention_max_days
required

The most audit_retention_days may be on this plan.

integer format: int32
eol_lead_days
required

Days before a release’s support ends to raise release.eol, longest first (DAWG-70). 180, 90 and 30 unless somebody changed them.

Array<integer>
id
required
string
name
required
string
plan
required
string
role
required

The caller’s role, on every representation of an organization.

The portal needs it to decide what to render, and fetching it from GET /me instead would mean the two can disagree after somebody’s role changes in another tab.

string
Allowed values: viewer operator admin owner
slug
required
string
stale_after_minutes
required

Minutes without a check-in before a host is marked stale (DAWG-62). 5 to 10,080; 30 unless somebody changed it.

integer format: int32
Example
{
"role": "viewer"
}

A name or slug that will not do.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

No session.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

Refused: no CSRF token or not this session’s, or not permitted for this role.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

That slug is taken (slug-taken), or the caller already owns an organization (organization-limit): one per person.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}