Ouvrir un dépôt de fichier
post/api/v1/uploads
Scope requis : models:writeids:write
Renvoie un point d'entrée TUS (reprise possible) et les en-têtes à joindre à chaque requête TUS (Authorization, Tus-Resumable, Upload-Metadata). Le jeton de dépôt est valable 2 h (expires_at) : au-delà, ouvrir un nouveau dépôt. Le fichier ne transite pas par l'API. Une fois le fichier envoyé, appeler complete. Taille maximale selon le plan : 413 au-delà. Avec purpose: model, la clé doit porter models:write ; avec purpose: ids, ids:write. Extensions : .ifc pour une maquette, .ids ou .xlsx pour un jeu d'exigences.
Paramètres
Idempotency-Key (header)stringClé d'idempotence, gardée 24 h par organisation.
Corps de la requêteUploadCreate
file_namestringrequissize_bytesintegerrequisTaille du fichier en octets. Au-delà de la limite du plan (3 Gio au plus), réponse
413.purposestringrequismodelpour une maquette IFC,idspour un jeu d'exigences.Valeurs : model · ids
Réponses
- 201Dépôt ouvert.Upload
- 409Idempotency-Key déjà utilisée avec un autre corps, ou état incompatible.Problem
- 413Fichier plus gros que la limite du plan.Problem
Erreurs communes :400401403429500503(détail dans la section Erreurs)
curl -sS -X POST "$SEVEUP_API/api/v1/uploads" \
-H "Authorization: Bearer $SEVEUP_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"file_name": "LNPCA-S1-OA-PONT-0042_C03.ifc",
"size_bytes": 184467200,
"purpose": "model"
}'{
"id": "7a1c2e3f-4b5d-4e6f-8a9b-0c1d2e3f4a5b",
"status": "PENDING",
"file_name": "LNPCA-S1-OA-PONT-0042_C03.ifc",
"size_bytes": 184467200,
"purpose": "model",
"upload_url": "https://ooddxuvlammhnltcfqpm.supabase.co/storage/v1/upload/resumable",
"upload_headers": {
"Authorization": "Bearer eyJhbGciOi…",
"Tus-Resumable": "1.0.0",
"Upload-Metadata": "bucketName YXR0YWNobWVudHM=,objectName …"
},
"expires_at": "2026-10-21T10:00:00Z"
}