`GET /v1/orgs/{org}/signing-keys`.
GET
/v1/orgs/{org}/signing-keys
const url = 'https://api.updawg.net/v1/orgs/example/signing-keys';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.updawg.net/v1/orgs/example/signing-keysParameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”org
required
string
Organization slug.
Responses
Section titled “Responses”Every key, newest first. Retired ones included: an agent that pinned one is told it is retired rather than told nothing.
Media typeapplication/json
Array<object>
A key as the list shows it. Public halves only; there is no other kind here.
object
created_at
required
string format: date-time
customer_held
required
The organization holds this key and signs in its own environment. Updawg cannot sign with it, and cannot rotate it.
boolean
endorsed_by
The sk_… that endorsed this one. Absent on an organization’s first.
string | null
id
required
sk_….
string
public_key
required
ed25519: and the SPKI DER in base64 — the form an agent pins.
string
status
required
active, retiring or retired. One active at most.
string
Examplegenerated
[ { "created_at": "2026-04-15T12:00:00Z", "customer_held": true, "endorsed_by": "example", "id": "example", "public_key": "example", "status": "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"}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"}