A service enrollment's retrieval log
const url = 'https://example.com/api/certs/requests/example/retrievals';const options = {method: 'GET', headers: {'X-Ssoossh-Key-Secret': '<X-Ssoossh-Key-Secret>'}};
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://example.com/api/certs/requests/example/retrievals \ --header 'X-Ssoossh-Key-Secret: <X-Ssoossh-Key-Secret>'Redemptions of the enrollment created from this service request — when, from where, and whether a certificate was issued. Codes are reusable, so the log accumulates one row per redemption; the newest 100 are returned and “total” reports how many exist. Visible to the enrollment’s approving user and to auditors.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The certificate request’s UUID
Responses
Section titled “Responses”The retrieval log
object
object
object
A decimal string on the wire, same as CertificateResponse.SerialNumber and for the same reason.
Succeeded is false for a redemption that passed code validation but failed at signing — still worth surfacing: someone held the code.
Total counts every logged redemption, not just the ones returned, so the UI can say what it is showing a slice of rather than implying the page is the whole history.
Example
{ "data": { "retrievals": [ { "certificate_serial": "0" } ] }}No valid session
object
Data is always null on an error response.
Error is a human-readable message. Branch on the HTTP status rather than this string; it is for humans and logs.
ErrorCode is a machine-readable error classifier. One of the error_code constants from internal/apitypes; use this to decide whether to retry or branch on the failure mode.
Example
{ "error": "certificate request \"9f1c…\" not found", "error_code": "not_found"}Neither the approving user nor an auditor
object
Data is always null on an error response.
Error is a human-readable message. Branch on the HTTP status rather than this string; it is for humans and logs.
ErrorCode is a machine-readable error classifier. One of the error_code constants from internal/apitypes; use this to decide whether to retry or branch on the failure mode.
Example
{ "error": "certificate request \"9f1c…\" not found", "error_code": "not_found"}No enrollment for this request
object
Data is always null on an error response.
Error is a human-readable message. Branch on the HTTP status rather than this string; it is for humans and logs.
ErrorCode is a machine-readable error classifier. One of the error_code constants from internal/apitypes; use this to decide whether to retry or branch on the failure mode.
Example
{ "error": "certificate request \"9f1c…\" not found", "error_code": "not_found"}