Tree BG 1
Tree
Tree
TreeLeaves
TreeLeaves
Cat IdleGrassGrassRockRock

Endpoints Beta Libraries Documents

(beta) API Libraries - gérer les documents dans une bibliothèque.

Lister les documents d'une bibliothèque donnée.

GET /v1/libraries/{library_id}/documents

Pour une bibliothèque donnée, liste les documents qui y ont été uploadés.

200

Réponse réussie

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.libraries.documents.list({
    libraryId: "5c3ca4cd-62bc-4c71-ad8a-1531ae80d078",
  });

  console.log(result);
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.libraries.documents.list(library_id="5c3ca4cd-62bc-4c71-ad8a-1531ae80d078", page_size=100, page=0, sort_by="created_at", sort_order="desc")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/libraries/{library_id}/documents \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

{
  "data": [
    {
      "created_at": "2025-10-07T20:56:01.974Z",
      "extension": null,
      "hash": null,
      "id": "ipsum eiusmod",
      "library_id": "consequat do",
      "mime_type": null,
      "name": "reprehenderit ut dolore",
      "process_status": "self_managed",
      "processing_status": "occaecat dolor sit",
      "size": null,
      "tokens_processing_total": 87,
      "uploaded_by_id": null,
      "uploaded_by_type": "nostrud"
    }
  ],
  "pagination": {
    "current_page": 14,
    "has_more": false,
    "page_size": 56,
    "total_items": 91,
    "total_pages": 32
  }
}

Importer un nouveau document.

POST /v1/libraries/{library_id}/documents

Pour une bibliothèque donnée, importer un nouveau document dans cette bibliothèque. Il est mis en file d'attente pour traitement, son statut changera une fois qu'il aura été traité. Le traitement doit être terminé pour que le document soit découvrable lors de la recherche dans la bibliothèque

200

Un document avec le même hash a été trouvé dans cette bibliothèque. Renvoie le document existant.

attributes
map<any>|null
created_at
*date-time
extension
*string|null
hash
*string|null
id
*string
last_processed_at
date-time|null
library_id
*string
mime_type
*string|null
name
*string
number_of_pages
integer|null
process_status
*"self_managed"|"missing_content"|"noop"|"done"|"todo"|"in_progress"|"error"|"waiting_for_capacity"
processing_status
*string
size
*integer|null
summary
string|null
tokens_processing_main_content
integer|null
tokens_processing_summary
integer|null
tokens_processing_total
*integer
uploaded_by_id
*string|null
uploaded_by_type
*string
url
string|null

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";
import { openAsBlob } from "node:fs";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.libraries.documents.upload({
    libraryId: "a02150d9-5ee0-4877-b62c-28b1fcdf3b76",
    requestBody: {
      file: await openAsBlob("example.file"),
    },
  });

  console.log(result);
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.libraries.documents.upload(library_id="a02150d9-5ee0-4877-b62c-28b1fcdf3b76", file={
        "file_name": "example.file",
        "content": open("example.file", "rb"),
    })

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/libraries/{library_id}/documents \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{
  "file": {
    "content": "ipsum eiusmod",
    "fileName": "consequat do"
  }
}'

200

{
  "created_at": "2025-10-07T20:56:01.974Z",
  "extension": null,
  "hash": null,
  "id": "ipsum eiusmod",
  "library_id": "consequat do",
  "mime_type": null,
  "name": "reprehenderit ut dolore",
  "process_status": "self_managed",
  "processing_status": "occaecat dolor sit",
  "size": null,
  "tokens_processing_total": 87,
  "uploaded_by_id": null,
  "uploaded_by_type": "nostrud"
}

Récupérer les métadonnées d'un document spécifique.

GET /v1/libraries/{library_id}/documents/{document_id}

Étant donné une bibliothèque et un document dans cette bibliothèque, vous pouvez récupérer les métadonnées de ce document.

200

Réponse réussie

attributes
map<any>|null
created_at
*date-time
extension
*string|null
hash
*string|null
id
*string
last_processed_at
date-time|null
library_id
*string
mime_type
*string|null
name
*string
number_of_pages
integer|null
process_status
*"self_managed"|"missing_content"|"noop"|"done"|"todo"|"in_progress"|"error"|"waiting_for_capacity"
processing_status
*string
size
*integer|null
summary
string|null
tokens_processing_main_content
integer|null
tokens_processing_summary
integer|null
tokens_processing_total
*integer
uploaded_by_id
*string|null
uploaded_by_type
*string
url
string|null

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.libraries.documents.get({
    libraryId: "03d908c8-90a1-44fd-bf3a-8490fb7c9a03",
    documentId: "90973aec-0508-4375-8b00-91d732414745",
  });

  console.log(result);
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.libraries.documents.get(library_id="03d908c8-90a1-44fd-bf3a-8490fb7c9a03", document_id="90973aec-0508-4375-8b00-91d732414745")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/libraries/{library_id}/documents/{document_id} \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

{
  "created_at": "2025-10-07T20:56:01.974Z",
  "extension": null,
  "hash": null,
  "id": "ipsum eiusmod",
  "library_id": "consequat do",
  "mime_type": null,
  "name": "reprehenderit ut dolore",
  "process_status": "self_managed",
  "processing_status": "occaecat dolor sit",
  "size": null,
  "tokens_processing_total": 87,
  "uploaded_by_id": null,
  "uploaded_by_type": "nostrud"
}

Mettre à jour les métadonnées d'un document spécifique.

PUT /v1/libraries/{library_id}/documents/{document_id}

Étant donné une bibliothèque et un document dans cette bibliothèque, mettre à jour le nom de ce document.

200

Réponse réussie

attributes
map<any>|null
created_at
*date-time
extension
*string|null
hash
*string|null
id
*string
last_processed_at
date-time|null
library_id
*string
mime_type
*string|null
name
*string
number_of_pages
integer|null
process_status
*"self_managed"|"missing_content"|"noop"|"done"|"todo"|"in_progress"|"error"|"waiting_for_capacity"
processing_status
*string
size
*integer|null
summary
string|null
tokens_processing_main_content
integer|null
tokens_processing_summary
integer|null
tokens_processing_total
*integer
uploaded_by_id
*string|null
uploaded_by_type
*string
url
string|null

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.libraries.documents.update({
    libraryId: "3ddd8d93-dca5-4a6d-980d-173226c35742",
    documentId: "2a25e44c-b160-40ca-b5c2-b65fb2fcae34",
    documentUpdateIn: {},
  });

  console.log(result);
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.libraries.documents.update(library_id="3ddd8d93-dca5-4a6d-980d-173226c35742", document_id="2a25e44c-b160-40ca-b5c2-b65fb2fcae34")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/libraries/{library_id}/documents/{document_id} \
 -X PUT \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{}'

200

{
  "created_at": "2025-10-07T20:56:01.974Z",
  "extension": null,
  "hash": null,
  "id": "ipsum eiusmod",
  "library_id": "consequat do",
  "mime_type": null,
  "name": "reprehenderit ut dolore",
  "process_status": "self_managed",
  "processing_status": "occaecat dolor sit",
  "size": null,
  "tokens_processing_total": 87,
  "uploaded_by_id": null,
  "uploaded_by_type": "nostrud"
}

Supprimer un document.

DELETE /v1/libraries/{library_id}/documents/{document_id}

Pour une bibliothèque et un document dans cette bibliothèque, supprimez ce document. Le document sera supprimé de la bibliothèque et de l'index de recherche.

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  await mistral.beta.libraries.documents.delete({
    libraryId: "005daae9-d42e-407d-82d7-2261c6a1496c",
    documentId: "edc236b0-baff-49a9-884b-4ca36a258da4",
  });


}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    mistral.beta.libraries.documents.delete(library_id="005daae9-d42e-407d-82d7-2261c6a1496c", document_id="edc236b0-baff-49a9-884b-4ca36a258da4")

    # Use the SDK ...

curl https://api.mistral.ai/v1/libraries/{library_id}/documents/{document_id} \
 -X DELETE \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json'

Récupérer le contenu textuel d'un document spécifique.

GET /v1/libraries/{library_id}/documents/{document_id}/text_content

Pour une bibliothèque et un document dans cette bibliothèque, vous pouvez récupérer le contenu textuel de ce document s'il existe. Pour les documents de type pdf, docx et pptx, le contenu textuel résulte de notre traitement par Mistral OCR.

200

Réponse réussie

text
*string

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.libraries.documents.textContent({
    libraryId: "1d177215-3b6b-45ba-9fa9-baf773223bec",
    documentId: "60214c91-2aba-4692-a4e6-a53365de8caf",
  });

  console.log(result);
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.libraries.documents.text_content(library_id="1d177215-3b6b-45ba-9fa9-baf773223bec", document_id="60214c91-2aba-4692-a4e6-a53365de8caf")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/libraries/{library_id}/documents/{document_id}/text_content \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

{
  "text": "ipsum eiusmod"
}

Récupérer le statut de traitement d'un document spécifique.

GET /v1/libraries/{library_id}/documents/{document_id}/status

Étant donné une bibliothèque et un document dans cette bibliothèque, récupérer le statut de traitement de ce document.

200

Réponse réussie

document_id
*string
process_status
*"self_managed"|"missing_content"|"noop"|"done"|"todo"|"in_progress"|"error"|"waiting_for_capacity"
processing_status
*string

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.libraries.documents.status({
    libraryId: "e6906f70-368f-4155-80da-c1718f01bc43",
    documentId: "2c904915-d831-4e9d-a345-8ce405bcef66",
  });

  console.log(result);
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.libraries.documents.status(library_id="e6906f70-368f-4155-80da-c1718f01bc43", document_id="2c904915-d831-4e9d-a345-8ce405bcef66")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/libraries/{library_id}/documents/{document_id}/status \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

{
  "document_id": "ipsum eiusmod",
  "process_status": "self_managed",
  "processing_status": "consequat do"
}

Récupérer l'URL signée d'un document spécifique.

GET /v1/libraries/{library_id}/documents/{document_id}/signed-url

Étant donné une bibliothèque et un document dans cette bibliothèque, récupérer l'URL signée d'un document spécifique. L'URL expirera après 30 minutes et sera accessible à toute personne disposant du lien.

200

Response Type
string

Réponse réussie

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.libraries.documents.getSignedUrl({
    libraryId: "23cf6904-a602-4ee8-9f5b-8efc557c336d",
    documentId: "48598486-df71-4994-acbb-1133c72efa8c",
  });

  console.log(result);
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.libraries.documents.get_signed_url(library_id="23cf6904-a602-4ee8-9f5b-8efc557c336d", document_id="48598486-df71-4994-acbb-1133c72efa8c")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/libraries/{library_id}/documents/{document_id}/signed-url \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

"ipsum eiusmod"

Récupérer l'URL signée du texte extrait d'un document donné.

GET /v1/libraries/{library_id}/documents/{document_id}/extracted-text-signed-url

Étant donné une bibliothèque et un document dans cette bibliothèque, récupérer l'URL signée du texte extrait. Pour les documents envoyés à l'OCR, cette opération retourne le résultat des requêtes OCR.

200

Response Type
string

Réponse réussie

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.libraries.documents.extractedTextSignedUrl({
    libraryId: "a6f15de3-1e82-4f95-af82-851499042ef8",
    documentId: "9749d4f9-24e5-4ca2-99a3-a406863f805d",
  });

  console.log(result);
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.libraries.documents.extracted_text_signed_url(library_id="a6f15de3-1e82-4f95-af82-851499042ef8", document_id="9749d4f9-24e5-4ca2-99a3-a406863f805d")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/libraries/{library_id}/documents/{document_id}/extracted-text-signed-url \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

"ipsum eiusmod"

Retraiter un document.

POST /v1/libraries/{library_id}/documents/{document_id}/reprocess

Étant donné une bibliothèque et un document dans cette bibliothèque, retraiter ce document, qui sera à nouveau facturé.

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  await mistral.beta.libraries.documents.reprocess({
    libraryId: "51b29371-de8f-4ba4-932b-a0bafb3a7f64",
    documentId: "3052422c-49ca-45ac-a918-cadb35d61fd8",
  });


}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    mistral.beta.libraries.documents.reprocess(library_id="51b29371-de8f-4ba4-932b-a0bafb3a7f64", document_id="3052422c-49ca-45ac-a918-cadb35d61fd8")

    # Use the SDK ...

curl https://api.mistral.ai/v1/libraries/{library_id}/documents/{document_id}/reprocess \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json'