Organizations

Read and rename your organization, the account that owns zones, members and tokens.

On this page

An organization is the account that owns zones, members, clients and API tokens. A token belongs to exactly one organization, so GET /v1/orgs returns the token's own organization.

OperationEndpoint
List organizationsGET /v1/orgs
Get organizationGET /v1/orgs/{org}
Rename organizationPATCH /v1/orgs/{org}

List organizations

GET /v1/orgs

Returns the organization of the token. A token belongs to exactly one organization, so the list always has one item; use its id as {org} in every other route.

Required role: readonly or higher.

Response

FieldTypeDescription
items[].idstring (uuid)Id.
items[].namestringName.
items[].ns_pairarray of stringName servers the delegated zones use. Exactly 2 items.
items[].created_atstring (date-time)Creation time.
items[].updated_atstring (date-time)Last change.
items[].pending_approvalbooleanSign-up waiting for approval (no writes).
items[].suspended_atstring (date-time) or nullSuspended (no writes; its zones are not served).
items[].suspended_reasonstring or null
items[].featuresarray of stringFeatures enabled for the organization (egress: AI egress). Items: one of egress.

Errors

StatusDescription
401Missing, invalid or expired token (unauthorized).

Example

curl "https://dash.openwaf.dev/v1/orgs" \
  -H "Authorization: Bearer $OPENWAF_TOKEN"
200
{
  "items": [
    {
      "id": "1e7c9a3b-5d2f-4b8a-9c6e-0f2a4b6c8d1e",
      "name": "Acme Digital",
      "ns_pair": [
        "ns1.example-dns.net",
        "ns2.example-dns.net"
      ],
      "created_at": "2026-03-02T10:15:00Z",
      "updated_at": "2026-10-01T08:00:00Z",
      "pending_approval": false,
      "suspended_at": null,
      "suspended_reason": null,
      "features": [
        "egress"
      ]
    }
  ]
}

Get organization

GET /v1/orgs/{org}

Returns the organization, with the pair of name servers (ns_pair) that its delegated zones use.

Required role: readonly or higher.

Parameters

NameInTypeRequiredDescription
orgpathstring (uuid)YesOrganization id. Every route checks that it is the token's organization (otherwise 404).

Response

FieldTypeDescription
idstring (uuid)Id.
namestringName.
ns_pairarray of stringName servers the delegated zones use. Exactly 2 items.
created_atstring (date-time)Creation time.
updated_atstring (date-time)Last change.
pending_approvalbooleanSign-up waiting for approval (no writes).
suspended_atstring (date-time) or nullSuspended (no writes; its zones are not served).
suspended_reasonstring or null
featuresarray of stringFeatures enabled for the organization (egress: AI egress). Items: one of egress.

Errors

StatusDescription
404Not found, or not visible to the token (not_found).

Example

curl "https://dash.openwaf.dev/v1/orgs/$OPENWAF_ORG" \
  -H "Authorization: Bearer $OPENWAF_TOKEN"
200
{
  "id": "1e7c9a3b-5d2f-4b8a-9c6e-0f2a4b6c8d1e",
  "name": "Acme Digital",
  "ns_pair": [
    "ns1.example-dns.net",
    "ns2.example-dns.net"
  ],
  "created_at": "2026-03-02T10:15:00Z",
  "updated_at": "2026-10-01T08:00:00Z",
  "pending_approval": false,
  "suspended_at": null,
  "suspended_reason": null,
  "features": [
    "egress"
  ]
}

Rename organization

PATCH /v1/orgs/{org}

Changes the name of the organization.

Required role: admin or higher. Organization-wide.

Parameters

NameInTypeRequiredDescription
orgpathstring (uuid)YesOrganization id. Every route checks that it is the token's organization (otherwise 404).

Request body

Content type application/json.

FieldTypeRequiredDescription
namestringYesName.

Response

FieldTypeDescription
idstring (uuid)Id.
namestringName.
ns_pairarray of stringName servers the delegated zones use. Exactly 2 items.
created_atstring (date-time)Creation time.
updated_atstring (date-time)Last change.
pending_approvalbooleanSign-up waiting for approval (no writes).
suspended_atstring (date-time) or nullSuspended (no writes; its zones are not served).
suspended_reasonstring or null
featuresarray of stringFeatures enabled for the organization (egress: AI egress). Items: one of egress.

Errors

StatusDescription
403The token's role or limits do not allow it (forbidden).

Example

curl -X PATCH "https://dash.openwaf.dev/v1/orgs/$OPENWAF_ORG" \
  -H "Authorization: Bearer $OPENWAF_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{
    "name": "Acme Digital"
  }'
200
{
  "id": "1e7c9a3b-5d2f-4b8a-9c6e-0f2a4b6c8d1e",
  "name": "Acme Digital",
  "ns_pair": [
    "ns1.example-dns.net",
    "ns2.example-dns.net"
  ],
  "created_at": "2026-03-02T10:15:00Z",
  "updated_at": "2026-10-01T08:00:00Z",
  "pending_approval": false,
  "suspended_at": null,
  "suspended_reason": null,
  "features": [
    "egress"
  ]
}

Last updated:

↑↓ to navigate↵ to openesc to close