Aller au contenu

Développeurs

Documents

Documents de la bibliothèque visibles depuis un projet, leurs versions et leurs fichiers, en lecture.

Lister les documents visibles depuis un projet

get/api/v1/projects/{project_id}/documents

Scope requis : projects:read

Les documents de la bibliothèque que l'App montre depuis ce projet, des plus récents aux plus anciens : ceux de l'organisation (level: organization), ceux de l'espace du projet ou d'un espace parent (space), et ceux du projet lui-même (project). Chaque document décrit le fichier de sa version la plus récente ; l'historique des versions se lit avec GET /api/v1/documents/{document_id} et le fichier avec GET /api/v1/documents/{document_id}/download.

Paramètres

  • project_id (path)string (uuid)requis

    Identifiant du projet (id rendu par GET /api/v1/projects).

  • limit (query)integer

    Taille de page.

  • cursor (query)string

    Curseur opaque rendu par la page précédente (next_cursor).

Réponses

  • 200Une page de documents.Page & object

Erreurs communes :400401403404429500503(détail dans la section Erreurs)

curl -sS "$SEVEUP_API/api/v1/projects/$PROJECT_ID/documents" \
  -H "Authorization: Bearer $SEVEUP_KEY"
Exemple (200)
{
  "data": [
    {
      "id": "6a7b8c9d-0e1f-4a2b-8c3d-4e5f6a7b8c9d",
      "name": "Plan RDC",
      "description": "Plan du rez-de-chaussée, indice B.",
      "type": "OTHER",
      "level": "space",
      "space_id": "0b8a2c47-5a0e-4a7e-8f0d-0c6d2b7e9c31",
      "project_id": null,
      "version": 2,
      "version_count": 2,
      "file_name": "plan-rdc-B.pdf",
      "content_type": "application/pdf",
      "size_bytes": 482113,
      "created_by": "julie.martin@exemple.fr",
      "created_at": "2026-10-20T08:00:00Z",
      "modified_by": "julie.martin@exemple.fr",
      "modified_at": "2026-10-22T10:15:00Z"
    }
  ],
  "next_cursor": null,
  "has_more": false
}

Lire un document et ses versions

get/api/v1/documents/{document_id}

Scope requis : projects:read

Le document avec toutes ses versions, de la plus récente à la plus ancienne : numéro, nom du fichier, type de contenu, taille, auteur et date de dépôt. Seuls les documents de l'organisation de la clé sont lus.

Paramètres

  • document_id (path)string (uuid)requis

    Identifiant du document (id rendu par GET /api/v1/projects/{project_id}/documents).

Réponses

  • 200Le document.Document

Erreurs communes :400401403404429500503(détail dans la section Erreurs)

curl -sS "$SEVEUP_API/api/v1/documents/$DOCUMENT_ID" \
  -H "Authorization: Bearer $SEVEUP_KEY"
Exemple (200)
{
  "id": "6a7b8c9d-0e1f-4a2b-8c3d-4e5f6a7b8c9d",
  "name": "Plan RDC",
  "description": "Plan du rez-de-chaussée, indice B.",
  "type": "OTHER",
  "level": "space",
  "space_id": "0b8a2c47-5a0e-4a7e-8f0d-0c6d2b7e9c31",
  "project_id": null,
  "version": 2,
  "version_count": 2,
  "file_name": "plan-rdc-B.pdf",
  "content_type": "application/pdf",
  "size_bytes": 482113,
  "created_by": "julie.martin@exemple.fr",
  "created_at": "2026-10-20T08:00:00Z",
  "modified_by": "julie.martin@exemple.fr",
  "modified_at": "2026-10-22T10:15:00Z",
  "versions": [
    {
      "id": "7b8c9d0e-1f2a-4b3c-8d4e-5f6a7b8c9d0e",
      "version": 2,
      "file_name": "plan-rdc-B.pdf",
      "content_type": "application/pdf",
      "size_bytes": 482113,
      "created_by": "julie.martin@exemple.fr",
      "created_at": "2026-10-22T10:15:00Z"
    },
    {
      "id": "8c9d0e1f-2a3b-4c4d-8e5f-6a7b8c9d0e1f",
      "version": 1,
      "file_name": "plan-rdc-A.pdf",
      "content_type": "application/pdf",
      "size_bytes": 471020,
      "created_by": "julie.martin@exemple.fr",
      "created_at": "2026-10-20T08:00:00Z"
    }
  ]
}

Obtenir un lien de téléchargement d'un document

get/api/v1/documents/{document_id}/download

Scope requis : projects:read

Un lien signé vers le fichier d'une version, la plus récente par défaut, valable une heure. Le lien s'ouvre sans clé d'API ; ne le transmettez qu'aux personnes qui peuvent lire ce document. Un fichier de l'ancien stockage, qui ne peut pas être servi par un lien, répond 409 : il se télécharge depuis l'App.

Paramètres

  • document_id (path)string (uuid)requis

    Identifiant du document (id rendu par GET /api/v1/projects/{project_id}/documents).

  • version (query)integer

    Numéro de version (version d'une entrée de versions) ; la plus récente par défaut.

Réponses

  • 200Le lien et la description du fichier.DocumentDownload
  • 409Idempotency-Key déjà utilisée avec un autre corps, ou état incompatible.Problem

Erreurs communes :400401403404429500503(détail dans la section Erreurs)

curl -sS "$SEVEUP_API/api/v1/documents/$DOCUMENT_ID/download" \
  -H "Authorization: Bearer $SEVEUP_KEY"
Exemple (200)
{
  "document_id": "6a7b8c9d-0e1f-4a2b-8c3d-4e5f6a7b8c9d",
  "version": 2,
  "file_name": "plan-rdc-B.pdf",
  "content_type": "application/pdf",
  "size_bytes": 482113,
  "download_url": "https://storage.example.com/object/sign/attachments/plan-rdc-B.pdf?token=...&download=plan-rdc-B.pdf",
  "download_expires_at": "2026-10-22T11:15:00Z"
}