Skip to content

`POST /v1/orgs/{org}/groups`.

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

Organization slug.

Media typeapplication/json
object
description
string | null
label_selector

Labels a host must all carry, with exactly these values. Absent for a purely static group. An empty map is refused: it would match every host.

object | null
name
required
string
Examplegenerated
{
"description": "example",
"label_selector": "example",
"name": "example"
}

Created.

Media typeapplication/json
object
created_at
required
string format: date-time
description
string | null
id
required

grp_….

string
label_selector
object | null
name
required
string
resolved_hosts
required

Every host it resolves to, static or by label, each counted once. Decommissioned hosts are in no group.

integer format: int64
static_hosts
required

Hosts put in the group by hand. Decommissioned hosts are not counted.

integer format: int64
Examplegenerated
{
"created_at": "2026-04-15T12:00:00Z",
"description": "example",
"id": "example",
"label_selector": "example",
"name": "example",
"resolved_hosts": 1,
"static_hosts": 1
}

No name, or a selector that is empty or has an empty key.

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"
}

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"
}

No such organization, or not yours — one answer for both.

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"
}

A group with that name exists.

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"
}

Over the organization’s request limit. Retry-After says when to try again; RateLimit-Limit is the burst.

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"
}