Skip to content

`GET /v1/orgs/{org}/jobs/unsigned`.

GET
/v1/orgs/{org}/jobs/unsigned
curl --request GET \
--url https://api.updawg.net/v1/orgs/example/jobs/unsigned
org
required
string

Organization slug.

Every job waiting for your organization’s signature, oldest first. Empty unless the organization holds its own signing key.

Media typeapplication/json
object
jobs
required
Array<object>

A job built from an approved proposal, waiting for a customer-held key.

object
created_at
required
string format: date-time
document
required

The job document with an empty signature, exactly as it will be delivered once signed. Sign updawg-job-v1, a NUL byte, and the document’s canonical JSON without signature — which is what updawgctl sign does, after showing what the job will do. Decide what to sign from this document, never from the fields beside it.

string
expires_at
required

After this it expires unsigned, and its proposal halts.

string format: date-time
host
required
object
hostname
required
string
id
required
string
id
required
string
key_id
required

The sk_… that must sign it: the key this host pinned.

string
proposal

prp_…, when a proposal made it.

string | null
proposal_number
integer | null format: int64

Example generated

{
"jobs": [
{
"created_at": "2026-04-15T12:00:00Z",
"document": "example",
"expires_at": "2026-04-15T12:00:00Z",
"host": {
"hostname": "example",
"id": "example"
},
"id": "example",
"key_id": "example",
"proposal": "example",
"proposal_number": 1
}
]
}

No session.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string

Example generated

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

Example generated

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

Example generated

{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

The organization’s data is in another region (wrong-region, DAWG-159). detail names that region’s API; send the request there.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string

Example generated

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

Example generated

{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}