Ouvrir un dépôt de fichier
post/api/v1/uploads
Required scope : 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.
Parameters
Idempotency-Key (header)stringClé d'idempotence, gardée 24 h par organisation.
Request bodyUploadCreate
file_namestringrequiredsize_bytesintegerrequiredTaille du fichier en octets. Au-delà de la limite du plan (3 Gio au plus), réponse
413.purposestringrequiredmodelpour une maquette IFC,idspour un jeu d'exigences.Values : model · ids
Responses
- 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
Common errors :400401403429500503(details in the Errors section)
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"
}