Fetch a signed SMLTP compliance receipt
curl --request GET \
--url https://secureai.hiperai.ai/api/external/receipts/{bundleId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://secureai.hiperai.ai/api/external/receipts/{bundleId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://secureai.hiperai.ai/api/external/receipts/{bundleId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Sécurité, Guardrails & Audit
Reçus de conformité
Récupérez le reçu de conformité SMLTP signé pour un achèvement
GET
/
receipts
/
{bundleId}
Fetch a signed SMLTP compliance receipt
curl --request GET \
--url https://secureai.hiperai.ai/api/external/receipts/{bundleId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://secureai.hiperai.ai/api/external/receipts/{bundleId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://secureai.hiperai.ai/api/external/receipts/{bundleId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Reçus de conformité
Lorsqu’une finalisation est acheminée via la passerelle SMLTP, SecureAI produit un reçu de conformité signé — preuve cryptographique de la politique qui régissait l’appel. Ce point de terminaison récupère ce reçu par son identifiant de bundle. Les reçus existent uniquement pour les déploiements acheminés par passerelle. Sur les déploiements de fournisseurs directs, il n’existe aucune passerelle pour signer les reçus et ce point de terminaison renvoie404.
Point de terminaison
GET /receipts/:bundleId
D’où vient l’identifiant du bundle
Les réponses d’achèvement exposent l’ID du bundle chaque fois qu’un droit SMLTP est créé pour l’appel :- Point de terminaison classique :
metadata.smltp.bundle_id(et unmetadata.smltp.receipt_urlprêt à l’emploi). - Point de terminaison compatible OpenAI :
secureai.smltp_bundle_id.
jti-…) est renvoyé même sur les déploiements natifs/fournisseur direct. Cependant, le reçu signé à cet identifiant n’existe que lorsque le trafic est acheminé via la passerelle SMLTP — sur les déploiements directs, ce point de terminaison renvoie 404 (voir ci-dessous).
Authentification
Authorization: Bearer sk-your-api-key-here
Exemple de demande
curl -X GET "https://{customer.name}.hiperai.ai/api/external/receipts/bnd_9f2c...e71" \
-H "Authorization: Bearer sk-your-api-key-here"
Réponse
200 OK
{
"success": true,
"receipt": {
"bundle_id": "bnd_9f2c...e71",
"...": "signed SMLTP receipt payload (policy, entitlement, verdict, signatures)"
}
}
receipt est la charge utile signée émise par la passerelle. Voir SMLTP Security pour savoir comment les reçus s’intègrent dans le modèle de transparence et d’audit.
404 Introuvable
{
"success": false,
"error": "Receipt not found",
"message": "No receipt for this bundle id. Receipts are only available when requests are routed through the SMLTP gateway, and are retained in its in-memory store for a limited time. The authoritative record is the hash-chained audit log."
}
400 Requête incorrecte
Renvoyé lorsque l’identifiant du bundle est manquant ou comporte plus de 128 caractères.Remarques
- Les reçus sont conservés dans la mémoire en mémoire de la passerelle pendant une durée limitée. Pour une preuve à long terme, comptez sur le journal d’audit chaîné par hachage — l’enregistrement faisant autorité et immuable. Voir Journaux immuables.
- Tous les déploiements ne passent pas par la passerelle ; traitez un
404comme « aucun reçu de passerelle pour cet appel », et non comme une erreur dans votre intégration.

