Files

April 3, 2026 ยท View on GitHub

Overview

Files API

Available Operations

upload

Upload a file that can be used across various endpoints.

The size of individual files can be a maximum of 512 MB. The Fine-tuning API only supports .jsonl files.

Please contact us if you need to increase these storage limits.

Example Usage

from mistralai.client import Mistral
import os


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

    res = mistral.files.upload(file={
        "file_name": "example.file",
        "content": open("example.file", "rb"),
    }, visibility="workspace")

    # Handle response
    print(res)

Parameters

ParameterTypeRequiredDescription
filemodels.File:heavy_check_mark:The File object (not file name) to be uploaded.
To upload a file and specify a custom file name you should format your request as such:
bash<br/> file=@path/to/your/file.jsonl;filename=custom_name.jsonl<br/>
Otherwise, you can just keep the original file name:
bash<br/> file=@path/to/your/file.jsonl<br/>
expiryOptionalNullable[int]:heavy_minus_sign:N/A
visibilityOptional[models.FilesAPIRoutesUploadFileFileVisibility]:heavy_minus_sign:N/A
purposeOptional[models.FilePurpose]:heavy_minus_sign:N/A
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

models.CreateFileResponse

Errors

Error TypeStatus CodeContent Type
errors.SDKError4XX, 5XX*/*

list

Returns a list of files that belong to the user's organization.

Example Usage

from mistralai.client import Mistral
import os


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

    res = mistral.files.list(page=0, page_size=100, include_total=True)

    # Handle response
    print(res)

Parameters

ParameterTypeRequiredDescription
pageOptional[int]:heavy_minus_sign:N/A
page_sizeOptional[int]:heavy_minus_sign:N/A
include_totalOptional[bool]:heavy_minus_sign:N/A
sample_typeList[models.SampleType]:heavy_minus_sign:N/A
sourceList[models.Source]:heavy_minus_sign:N/A
searchOptionalNullable[str]:heavy_minus_sign:N/A
purposeOptionalNullable[models.FilePurpose]:heavy_minus_sign:N/A
mimetypesList[str]:heavy_minus_sign:N/A
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

models.ListFilesResponse

Errors

Error TypeStatus CodeContent Type
errors.SDKError4XX, 5XX*/*

retrieve

Returns information about a specific file.

Example Usage

from mistralai.client import Mistral
import os


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

    res = mistral.files.retrieve(file_id="f2a27685-ca4e-4dc2-9f2b-88c422c3e0f6")

    # Handle response
    print(res)

Parameters

ParameterTypeRequiredDescription
file_idstr:heavy_check_mark:N/A
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

models.GetFileResponse

Errors

Error TypeStatus CodeContent Type
errors.SDKError4XX, 5XX*/*

delete

Delete a file.

Example Usage

from mistralai.client import Mistral
import os


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

    res = mistral.files.delete(file_id="3b6d45eb-e30b-416f-8019-f47e2e93d930")

    # Handle response
    print(res)

Parameters

ParameterTypeRequiredDescription
file_idstr:heavy_check_mark:N/A
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

models.DeleteFileResponse

Errors

Error TypeStatus CodeContent Type
errors.SDKError4XX, 5XX*/*

download

Download a file

Example Usage

from mistralai.client import Mistral
import os


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

    res = mistral.files.download(file_id="f8919994-a4a1-46b2-8b5b-06335a4300ce")

    # Handle response
    print(res)

Parameters

ParameterTypeRequiredDescription
file_idstr:heavy_check_mark:N/A
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

httpx.Response

Errors

Error TypeStatus CodeContent Type
errors.SDKError4XX, 5XX*/*

get_signed_url

Get Signed Url

Example Usage

from mistralai.client import Mistral
import os


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

    res = mistral.files.get_signed_url(file_id="06a020ab-355c-49a6-b19d-304b7c01699f", expiry=24)

    # Handle response
    print(res)

Parameters

ParameterTypeRequiredDescription
file_idstr:heavy_check_mark:N/A
expiryOptional[int]:heavy_minus_sign:Number of hours before the URL becomes invalid. Defaults to 24h. Must be between 1h and 168h.
retriesOptional[utils.RetryConfig]:heavy_minus_sign:Configuration to override the default retry behavior of the client.

Response

models.GetSignedURLResponse

Errors

Error TypeStatus CodeContent Type
errors.SDKError4XX, 5XX*/*