Provisioning API · Internal testing only
listEncryptionKeys
const url = 'https://api.builders.ac/api/provisioning/v1alpha1/encryption-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.builders.ac/api/provisioning/v1alpha1/encryption-keysReturns the current and next platform age recipients for sealing secret request values.
Responses
Section titled “Responses”Published platform encryption keys.
object
object
Opaque identifier used to distinguish keys during rotation.
UTC instant after which this recipient is no longer accepted.
object
Opaque identifier used to distinguish keys during rotation.
UTC instant after which this recipient is no longer accepted.
Example
{ "current": { "kid": "prov-2026-04", "recipient": "age1nat457r4f36vu5h6v48g4t4g39lua8md7er754fzvnxxrmhdh6mzpwl58u", "not_after": "2026-05-15T00:00:00Z" }, "next": { "kid": "prov-2026-05", "recipient": "age1cuulyfydh00rv5agg3vuw3pz8r2a682xcptzad3yh5ef58ysepaulrwsnz", "not_after": "2026-06-15T00:00:00Z" }}Headers
Section titled “Headers”Public discovery metadata may be cached for five minutes.
The id of this request, echoed on every response and repeated in the correlation_id member of a problem body. Quote it in support requests.
Rate limit exceeded. The example shows rate_limit_exceeded.
object
Extensible enum. Branch on this, never on title. New codes may appear at any time, so treat an unrecognised one as its HTTP status; GET /problems lists every code this version can answer with, and GET /problems/{code} resolves one.
object
Example
{ "type": "https://api.builders.ac/api/provisioning/v1alpha1/problems/rate_limit_exceeded", "title": "Rate limit exceeded", "status": 429, "detail": "Too many requests were made for this policy.", "code": "rate_limit_exceeded", "retryable": true, "correlation_id": "9f1c2b7a-3d5e-4c81-9a77-2f6b0e4d51c3", "retry_after": "2026-04-15T09:16:04Z"}Headers
Section titled “Headers”The id of this request, echoed on every response and repeated in the correlation_id member of a problem body. Quote it in support requests.
The platform encryption keyring is temporarily unavailable.
object
Extensible enum. Branch on this, never on title. New codes may appear at any time, so treat an unrecognised one as its HTTP status; GET /problems lists every code this version can answer with, and GET /problems/{code} resolves one.
object
Examples
Encryption keys unavailable
{ "type": "https://api.builders.ac/api/provisioning/v1alpha1/problems/encryption_keys_unavailable", "title": "Encryption keys unavailable", "status": 503, "detail": "Encryption key discovery is temporarily unavailable. Retry later.", "code": "encryption_keys_unavailable", "retryable": true, "correlation_id": "9f1c2b7a-3d5e-4c81-9a77-2f6b0e4d51c3"}Headers
Section titled “Headers”The id of this request, echoed on every response and repeated in the correlation_id member of a problem body. Quote it in support requests.