---
title: "Prévisualise ou applique jusqu’à 10 archivages, mises à la corbeille, restaurations ou révocations"
method: POST
path: "/api/v1/lifecycle"
tags: ["Cycle de vie"]
---

# Prévisualise ou applique jusqu’à 10 archivages, mises à la corbeille, restaurations ou révocations

`POST /api/v1/lifecycle`

## Request

- Base URL: `https://kaneme.com`
- URL: `https://kaneme.com/api/v1/lifecycle`
- Auth: HTTP bearer

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `items` object[], required: Tableau de 1 à 10 actions de cycle de vie.
    - `resourceType` 'document' | 'project' | 'voice' | 'project_context' | 'voice_asset' | 'document_certificate' | 'voice_certificate', required
    - `resourceId` string, uuid, required
    - `action` 'trash' | 'restore' | 'archive' | 'unarchive' | 'revoke' | 'expire' | 'unexpire', required
    - `expiresAt` string, nullable
  - `dryRun` boolean: true = vérifie et prévisualise sans modifier.

## Response `200`

Succès.

- LifecycleResult
  - `dryRun` boolean, required
  - `results` object[], required
    - `resourceType` 'document' | 'project' | 'voice' | 'project_context' | 'voice_asset' | 'document_certificate' | 'voice_certificate', required
    - `resourceId` string, required
    - `action` 'trash' | 'restore' | 'archive' | 'unarchive' | 'revoke' | 'expire' | 'unexpire', required
    - `expiresAt` string, nullable
    - `status` 'previewed' | 'applied' | 'unchanged' | 'not_found' | 'refused', required
    - `reversible` boolean, required
    - `restorableDays` number, nullable, required
    - `message` string, required

## Other responses

- `400`: Requête invalide (champ manquant, borne dépassée, curseur illisible).
- `401`: Clé absente, invalide ou révoquée.
- `402`: Crédits insuffisants, OU surface non ouverte à ce compte. code = "subscription_required" : L’API et le MCP se paient en crédits, et ce compte n’en a plus. Recharge ton solde pour réactiver ta clé. code = "credits_exhausted" : lire `window` pour savoir quoi faire (recharger, attendre la période, demander à un admin de relever le budget, relever le plafond de la clé).
- `404`: Ressource introuvable.
- `409`: Conflit d’état ou de clé d’idempotence.
- `422`: Le moteur s’abstient ou le corpus est insuffisant.
- `429`: Cadence dépassée (code « rate_limited »). La réponse porte X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Window et Retry-After — attends la fenêtre indiquée : un retry immédiat la prolonge. Les plafonds appliqués sont dans x-kaneme-rate-limits. Quand le refus vient d’un plafond PAR OPÉRATION (générer, créer un document ou un projet, déposer une source), ces nombres sont ceux de CETTE opération, pas ceux de la surface.
- `500`: Erreur interne.
- `503`: Service ou compteur temporairement indisponible.

---

[API](https://skmtc.dev/kaneme/apis/kaneme-api.md) · [All operations](https://skmtc.dev/kaneme/apis/kaneme-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kaneme/apis/kaneme-api/revisions/752895651cd0?raw)
