Aller au contenu

Exports via l'API

Cette page s'adresse à qui prend un export avec un programme propre ou en ligne de commande : le demander, attendre qu'il soit prêt, télécharger ses parties et reprendre un téléchargement interrompu. Ce qu'est un export et ce qu'il contient figure dans Exports. Comment faire une requête à OS (adresse, connexion, pages, erreurs) figure dans L'API d'accès.

Demander un export de votre organisation

curl -s -X POST "$OS/api/v1/organisations/$ORG/exports" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{}'
{"id": "xpt_...", "scope": "organisation", "membership_id": null, "include_core": false,
 "status": "queued", "size_bytes": null, "sha256": null, "counts": {}, "withheld": {},
 "core": null, "downloads": 0, "created_at": "2026-10-17T09:14:03Z", "completed_at": null,
 "expires_at": null, "allowed_actions": ["see", "use", "write"], "...": "..."}
  • Indiquez "membership_id": "mem_..." pour l'export d'un membre.
  • "include_core": true demande aussi la partie des fonctions d'IA ; seul Artific le peut, pour tout autre OS répond 403.
Réponse Sens
202 Demandé, ou le même est encore en cours ; Location y renvoie.
404 Vous ne pouvez pas voir d'exports ici, ou le membre n'est pas de cette organisation.
409 L'organisation est en cours de création ou de suppression.
429 Cinq exports ont été demandés au cours du dernier jour.

Attendre qu'il soit prêt

curl -s "$OS/api/v1/organisations/$ORG/exports/$EXPORT" -H "Authorization: Bearer $TOKEN"

Redemandez toutes les minutes environ jusqu'à ce que status soit ready. Le demandeur reçoit aussi une notification. Un export failed en donne la raison dans error, par exemple too_large (demandez à Artific) ou requester_lost_access ; demandez-en un nouveau. GET .../exports liste les exports de l'organisation, le plus récent d'abord.

Télécharger une partie

curl -s -o export-os.zip "$OS/api/v1/organisations/$ORG/exports/$EXPORT/parts/os" \
  -H "Authorization: Bearer $TOKEN" -D headers.txt
  • Les parties sont os et, si elle a été demandée, core.
  • Digest: sha-256=<hex> est le SHA-256 de la partie entière : comparez-le à celui de votre fichier.
  • Il vous faut use sur export ; sans lui OS répond 403.
Réponse Sens
200 La partie entière.
206 La partie à partir de l'octet indiqué.
409 Pas encore prêt, ou expiré.
416 L'octet indiqué est au-delà de la fin ; Content-Range donne la longueur.

Reprendre un téléchargement interrompu

size=$(wc -c < export-os.zip)
curl -s "$OS/api/v1/organisations/$ORG/exports/$EXPORT/parts/os" \
  -H "Authorization: Bearer $TOKEN" -H "Range: bytes=$size-" >> export-os.zip

Un téléchargement peut durer jusqu'à six heures, et s'arrête quand une minute passe sans un octet. Reprenez-le autant de fois qu'il le faut jusqu'à l'expiration de l'export.

Votre propre export

curl -s -X POST "$OS/api/v1/me/exports" -H "Authorization: Bearer $TOKEN"
curl -s "$OS/api/v1/me/exports/$EXPORT" -H "Authorization: Bearer $TOKEN"
{"id": "pxp_...", "status": "ready", "size_bytes": 18230, "sha256": "...",
 "parts": [{"organisation_id": "org_...", "include_core": true, "ready": true}],
 "expires_at": "2026-10-20T09:21:40Z", "...": "..."}
Partie Téléchargement
votre compte GET /api/v1/me/exports/$EXPORT/parts/account
les enregistrements d'OS sur vous dans une organisation GET /api/v1/me/exports/$EXPORT/parts/os/$ORG
votre travail dans les fonctions d'IA là-bas GET /api/v1/me/exports/$EXPORT/parts/core/$ORG, où include_core vaut true

Pendant que vous êtes effacé, OS répond 409, et vous ne demandez pas de nouvel export.