Migration Guide: v1.x to v2.x

March 10, 2026 ยท View on GitHub

Import Changes

All SDK imports move from mistralai to mistralai.client:

v1v2
from mistralai import Mistralfrom mistralai.client import Mistral
from mistralai.models import ...from mistralai.client.models import ...
from mistralai.types import ...from mistralai.client.types import ...
from mistralai.utils import ...from mistralai.client.utils import ...

mistralai.extra is unchanged (RunContext, MCPClientSTDIO, MCPClientSSE, response_format_from_pydantic_model, etc. stay at mistralai.extra).

Azure & GCP

Azure and GCP are now namespace sub-packages under mistralai, no longer separate top-level packages.

v1v2
from mistralai_azure import MistralAzurefrom mistralai.azure.client import MistralAzure
from mistralai_azure.models import ...from mistralai.azure.client.models import ...
from mistralai_gcp import MistralGoogleCloudfrom mistralai.gcp.client import MistralGCP
from mistralai_gcp.models import ...from mistralai.gcp.client.models import ...
GCP class renamed MistralGoogleCloud -> MistralGCP.

Type Renames

42 request/response types renamed to follow {Verb}{Entity}Request / {Verb}{Entity}Response / {Entity} conventions. Core types (Mistral, UserMessage, AssistantMessage, File, FunctionTool, ResponseFormat, etc.) keep the same name โ€” just different import path.

Only one user-facing type rename: Tools -> ConversationRequestTool.

Full rename table (42 schemas)
v1v2
AgentCreationRequestCreateAgentRequest
AgentUpdateRequestUpdateAgentRequest
ArchiveFTModelOutArchiveModelResponse
BatchJobInCreateBatchJobRequest
BatchJobOutBatchJob
BatchJobsOutListBatchJobsResponse
CheckpointOutCheckpoint
ClassifierDetailedJobOutClassifierFineTuningJobDetails
ClassifierFTModelOutClassifierFineTunedModel
ClassifierJobOutClassifierFineTuningJob
ClassifierTargetInClassifierTarget
ClassifierTargetOutClassifierTargetResult
ClassifierTrainingParametersInClassifierTrainingParameters
CompletionDetailedJobOutCompletionFineTuningJobDetails
CompletionFTModelOutCompletionFineTunedModel
CompletionJobOutCompletionFineTuningJob
CompletionTrainingParametersInCompletionTrainingParameters
ConversationAppendRequestBaseAppendConversationRequest
ConversationRestartRequestBaseRestartConversationRequest
DeleteFileOutDeleteFileResponse
DocumentOutDocument
DocumentUpdateInUpdateDocumentRequest
EventOutEvent
FTModelCapabilitiesOutFineTunedModelCapabilities
FileSignedURLGetSignedUrlResponse
GithubRepositoryOutGithubRepository
JobInCreateFineTuningJobRequest
JobMetadataOutJobMetadata
JobsOutListFineTuningJobsResponse
LegacyJobMetadataOutLegacyJobMetadata
LibraryInCreateLibraryRequest
LibraryInUpdateUpdateLibraryRequest
LibraryOutLibrary
ListDocumentOutListDocumentsResponse
ListFilesOutListFilesResponse
ListLibraryOutListLibrariesResponse
MetricOutMetric
RetrieveFileOutRetrieveFileResponse
UnarchiveFTModelOutUnarchiveModelResponse
UpdateFTModelInUpdateModelRequest
UploadFileOutUploadFileResponse
WandbIntegrationOutWandbIntegrationResult

Other Changes

  • FunctionTool.type changed from Optional[FunctionToolType] to Literal["function"] (functionally equivalent if you omit type)
  • Enums now accept unknown values for forward compatibility with API changes
  • Forward-compatible unions: discriminated unions get an Unknown variant

What Did NOT Change

  • All method names (chat.complete, chat.stream, embeddings.create, fim.complete, files.upload, models.list, fine_tuning.jobs.create, etc.)
  • Zero endpoints added/removed, zero path changes
  • Python minimum >=3.10
  • Installation: pip install mistralai

Legacy: Migrating from v0.x to v1.x

Note: The v1.x examples below use v1-style imports (e.g., from mistralai import Mistral). If you're on v2.x, combine these API changes with the v1 to v2 import changes above.

MistralClient/MistralAsyncClient consolidated into Mistral. ChatMessage replaced with UserMessage, AssistantMessage, etc. Streaming chunks now at chunk.data.choices[0].delta.content.

v0.xv1.x
MistralClientMistral
client.chatclient.chat.complete
client.chat_streamclient.chat.stream
client.completionsclient.fim.complete
client.completions_streamclient.fim.stream
client.embeddingsclient.embeddings.create
client.list_modelsclient.models.list
client.delete_modelclient.models.delete
client.files.createclient.files.upload
client.jobs.createclient.fine_tuning.jobs.create
client.jobs.listclient.fine_tuning.jobs.list
client.jobs.retrieveclient.fine_tuning.jobs.get
client.jobs.cancelclient.fine_tuning.jobs.cancel