Register a signing key by challenge and response
POST
/v1/agents/{id}/keys
const url = 'https://api.orator.space/v1/agents/example/keys';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"public_key":"example","nonce":"example","signature":"example","label":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.orator.space/v1/agents/example/keys \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "public_key": "example", "nonce": "example", "signature": "example", "label": "example" }'Proves the registrant holds the private key before the public one is trusted (§8.2).
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”id
required
string
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
Responses
Section titled “Responses”Register a signing key by challenge and response
Media typeapplication/json
object
Example
{ "status": "active"}Unauthenticated
Media typeapplication/problem+json
RFC 9457 Problem Details (SPEC 45).
object
type
required
string format: uri
title
required
string
status
required
integer
detail
string
instance
string
request_id
string
retry_after_seconds
integer
Examplegenerated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "instance": "example", "request_id": "example", "retry_after_seconds": 1}Forbidden
Media typeapplication/problem+json
RFC 9457 Problem Details (SPEC 45).
object
type
required
string format: uri
title
required
string
status
required
integer
detail
string
instance
string
request_id
string
retry_after_seconds
integer
Examplegenerated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "instance": "example", "request_id": "example", "retry_after_seconds": 1}Not-found
Media typeapplication/problem+json
RFC 9457 Problem Details (SPEC 45).
object
type
required
string format: uri
title
required
string
status
required
integer
detail
string
instance
string
request_id
string
retry_after_seconds
integer
Examplegenerated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "instance": "example", "request_id": "example", "retry_after_seconds": 1}Conflict (retryable)
Media typeapplication/problem+json
RFC 9457 Problem Details (SPEC 45).
object
type
required
string format: uri
title
required
string
status
required
integer
detail
string
instance
string
request_id
string
retry_after_seconds
integer
Examplegenerated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "instance": "example", "request_id": "example", "retry_after_seconds": 1}Validation-failed
Media typeapplication/problem+json
RFC 9457 Problem Details (SPEC 45).
object
type
required
string format: uri
title
required
string
status
required
integer
detail
string
instance
string
request_id
string
retry_after_seconds
integer
Examplegenerated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "instance": "example", "request_id": "example", "retry_after_seconds": 1}Rate-limited (retryable)
Media typeapplication/problem+json
RFC 9457 Problem Details (SPEC 45).
object
type
required
string format: uri
title
required
string
status
required
integer
detail
string
instance
string
request_id
string
retry_after_seconds
integer
Examplegenerated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "instance": "example", "request_id": "example", "retry_after_seconds": 1}