Download OpenAPI Spec
Tree BG 1
Tree
Tree
TreeLeaves
TreeLeaves
Cat IdleGrassGrassRockRock

Beta Connectors Endpoints

(beta) Connectors API - manage your connectors

List all connectors.

GET /v1/connectors

List all your custom connectors with keyset pagination and filters.

200

Successful Response

Playground

Test the endpoints live

from mistralai.client import Mistral
import os


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

    res = mistral.beta.connectors.list(page_size=100)

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/connectors \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

{
  "items": [
    {
      "created_at": "2025-12-17T10:25:07.818693Z",
      "description": "My resource description.",
      "id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
      "modified_at": "2025-12-17T10:41:03.469341Z",
      "name": "My resource",
      "owner_type": "1",
      "private_tool_execution": false,
      "visibility": "shared_global"
    }
  ],
  "pagination": {
    "page_size": "1000"
  }
}

Create a new connector.

POST /v1/connectors

Create a new MCP connector. You can customize its visibility, url and auth type.

201

Successful Response

active
boolean|null
connection_config
PublicConnectionConfig|null
connection_credentials
array<AuthenticationConfiguration>|null
connection_preferences
array<ConnectionPreference>|null
created_at
*date-time
description
*string
icon_url
string|null
id
*string
is_authenticated
boolean|null
locale
ConnectorLocale|null
mistral
boolean

Default Value: false

modified_at
*date-time
name
*string
owner_id
string|null
owner_type
*"1"|"2"|"3"|"4"
private_tool_execution
*boolean
protocol
"mcp"|"http"|"turbine"
server
string|null
server_card
MCPServerCard|null
supported_auth_methods
array<PublicAuthenticationMethod>|null
system_prompt
string|null
system_prompt_route
string|null
title
string|null
tools
array<ConnectorTool>|null
visibility
*"shared_global"|"shared_org"|"shared_workspace"|"private"

Playground

Test the endpoints live

import os
from mistralai import Mistral

client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])

connector = client.beta.connectors.create(
    name="company_docs",
    description="Company documentation MCP connector",
    server="https://mcp.example.com",
)

print(connector.id)
curl https://api.mistral.ai/v1/connectors \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{
  "description": "My resource description.",
  "name": "My resource",
  "server": "https://mcp.example.com"
}'

201

{
  "created_at": "2025-12-17T10:25:07.818693Z",
  "description": "My resource description.",
  "id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
  "modified_at": "2025-12-17T10:41:03.469341Z",
  "name": "My resource",
  "owner_type": "1",
  "private_tool_execution": false,
  "visibility": "shared_global"
}

Get the auth URL for a connector.

GET /v1/connectors/{connector_id_or_name}/auth_url

Get the OAuth2 authorization URL for a connector to initiate user authentication.

200

Successful Response

auth_url
*string
ttl
*integer

Playground

Test the endpoints live

curl "https://api.mistral.ai/v1/connectors/company_docs/auth_url?credentials_name=production" \
  -H "Authorization: Bearer $MISTRAL_API_KEY"
import os
from mistralai import Mistral

client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])

auth_url = client.beta.connectors.get_auth_url(
    connector_id_or_name="company_docs",
    credentials_name="production",
)

print(auth_url.auth_url)

200

{
  "auth_url": "https://auth.example.com/oauth/authorize",
  "ttl": 87
}

Activate a connector for an organization.

POST /v1/connectors/{connector_id}/organization/activate

Enable a connector at the organization level so all members can use it.

200

Successful Response

message
*string

Playground

Test the endpoints live

curl https://api.mistral.ai/v1/connectors/019b2bd7-96e7-7219-8c0b-45a73da50088/organization/activate \
  -X POST \
  -H "Authorization: Bearer $MISTRAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "include": ["search"],
    "requires_confirmation": ["delete_document"],
    "skip_confirmation": ["read_document"]
  }'
import os
from mistralai import Mistral

client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])

response = client.beta.connectors.activate_for_organization(
    connector_id="019b2bd7-96e7-7219-8c0b-45a73da50088",
    tool_configuration={
        "include": ["search"],
        "requires_confirmation": ["delete_document"],
        "skip_confirmation": ["read_document"],
    },
)

print(response.message)

200

{
  "message": "Example message."
}

Deactivate a connector for an organization.

POST /v1/connectors/{connector_id}/organization/deactivate

Disable a connector at the organization level.

200

Successful Response

message
*string

Playground

Test the endpoints live

curl https://api.mistral.ai/v1/connectors/{connector_id}/organization/deactivate \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json'

200

{
  "message": "Example message."
}

Activate a connector for a workspace.

POST /v1/connectors/{connector_id}/workspace/activate

Enable a connector at the workspace level so all members of the workspace can use it.

200

Successful Response

message
*string

Playground

Test the endpoints live

curl https://api.mistral.ai/v1/connectors/019b2bd7-96e7-7219-8c0b-45a73da50088/workspace/activate \
  -X POST \
  -H "Authorization: Bearer $MISTRAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "include": ["search"],
    "requires_confirmation": ["delete_document"],
    "skip_confirmation": ["read_document"]
  }'
import os
from mistralai import Mistral

client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])

response = client.beta.connectors.activate_for_workspace(
    connector_id="019b2bd7-96e7-7219-8c0b-45a73da50088",
    tool_configuration={
        "include": ["search"],
        "requires_confirmation": ["delete_document"],
        "skip_confirmation": ["read_document"],
    },
)

print(response.message)

200

{
  "message": "Example message."
}

Deactivate a connector for a workspace.

POST /v1/connectors/{connector_id}/workspace/deactivate

Disable a connector at the workspace level.

200

Successful Response

message
*string

Playground

Test the endpoints live

curl https://api.mistral.ai/v1/connectors/{connector_id}/workspace/deactivate \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json'

200

{
  "message": "Example message."
}

Activate a connector for the current user.

POST /v1/connectors/{connector_id}/user/activate

Enable a connector for the calling user only.

200

Successful Response

message
*string

Playground

Test the endpoints live

curl https://api.mistral.ai/v1/connectors/019b2bd7-96e7-7219-8c0b-45a73da50088/user/activate \
  -X POST \
  -H "Authorization: Bearer $MISTRAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "include": ["search"],
    "requires_confirmation": ["delete_document"],
    "skip_confirmation": ["read_document"]
  }'
import os
from mistralai import Mistral

client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])

response = client.beta.connectors.activate_for_user(
    connector_id="019b2bd7-96e7-7219-8c0b-45a73da50088",
    tool_configuration={
        "include": ["search"],
        "requires_confirmation": ["delete_document"],
        "skip_confirmation": ["read_document"],
    },
)

print(response.message)

200

{
  "message": "Example message."
}

Deactivate a connector for the current user.

POST /v1/connectors/{connector_id}/user/deactivate

Disable a connector for the calling user only.

200

Successful Response

message
*string

Playground

Test the endpoints live

curl https://api.mistral.ai/v1/connectors/{connector_id}/user/deactivate \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json'

200

{
  "message": "Example message."
}

Call Connector Tool

POST /v1/connectors/{connector_id_or_name}/tools/{tool_name}/call

Call a tool on an MCP connector.

200

Successful Response

AdditionalProperties
map<any>

Metadata wrapper for MCP tool call responses.

Nests MCP-specific fields under mcp_meta to avoid collisions with other metadata keys (e.g. tool_call_result) in Harmattan's streaming deltas.

Playground

Test the endpoints live

import os
from mistralai import Mistral

client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])

result = client.beta.connectors.call_tool(
    connector_id_or_name="company_docs",
    tool_name="search",
)

print(result)
curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/tools/{tool_name}/call \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{}'

200

{
  "content": [
    {
      "text": "Example text.",
      "type": "document"
    }
  ]
}

List tools for a connector.

GET /v1/connectors/{connector_id_or_name}/tools

List all tools available for an MCP connector.

200

Response Type
array<ConnectorTool>|null|array<MCPTool>|array<map<any>>

Successful Response

ConnectorTool

{object}

MCPTool

{object}

Playground

Test the endpoints live

curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/tools \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

null

Get authentication methods for a connector.

GET /v1/connectors/{connector_id_or_name}/authentication_methods

Get the authentication schema for a connector. Returns the list of supported authentication methods and their required headers.

200

Successful Response

PublicAuthenticationMethod

{object}

Playground

Test the endpoints live

curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/authentication_methods \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

null

List organization credentials for a connector.

GET /v1/connectors/{connector_id_or_name}/organization/credentials

List all credentials configured at the organization level for a given connector.

200

Successful Response

connector_preset_credentials_for_auth
array<"oauth2"|"bearer"|"none"|"github_app"|"slack_app">

Playground

Test the endpoints live

curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/organization/credentials \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

{
  "credentials": null
}

Create or update organization credentials for a connector.

POST /v1/connectors/{connector_id_or_name}/organization/credentials

Create or update credentials at the organization level for a given connector.

200

Successful Response

message
*string

Playground

Test the endpoints live

curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/organization/credentials \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{
  "name": "My resource"
}'

200

{
  "message": "Example message."
}

List workspace credentials for a connector.

GET /v1/connectors/{connector_id_or_name}/workspace/credentials

List all credentials configured at the workspace level for a given connector.

200

Successful Response

connector_preset_credentials_for_auth
array<"oauth2"|"bearer"|"none"|"github_app"|"slack_app">

Playground

Test the endpoints live

curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/workspace/credentials \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

{
  "credentials": null
}

Create or update workspace credentials for a connector.

POST /v1/connectors/{connector_id_or_name}/workspace/credentials

Create or update credentials at the workspace level for a given connector.

200

Successful Response

message
*string

Playground

Test the endpoints live

curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/workspace/credentials \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{
  "name": "My resource"
}'

200

{
  "message": "Example message."
}

List user credentials for a connector.

GET /v1/connectors/{connector_id_or_name}/user/credentials

List all credentials configured at the user level for a given connector.

200

Successful Response

connector_preset_credentials_for_auth
array<"oauth2"|"bearer"|"none"|"github_app"|"slack_app">

Playground

Test the endpoints live

curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/user/credentials \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

{
  "credentials": null
}

Create or update user credentials for a connector.

POST /v1/connectors/{connector_id_or_name}/user/credentials

Create or update credentials at the user level for a given connector.

200

Successful Response

message
*string

Playground

Test the endpoints live

curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/user/credentials \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{
  "name": "My resource"
}'

200

{
  "message": "Example message."
}

Delete organization credentials for a connector.

DELETE /v1/connectors/{connector_id_or_name}/organization/credentials/{credentials_name}

Delete credentials at the organization level for a given connector.

200

Successful Response

message
*string

Playground

Test the endpoints live

curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/organization/credentials/{credentials_name} \
 -X DELETE \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json'

200

{
  "message": "Example message."
}

Delete workspace credentials for a connector.

DELETE /v1/connectors/{connector_id_or_name}/workspace/credentials/{credentials_name}

Delete credentials at the workspace level for a given connector.

200

Successful Response

message
*string

Playground

Test the endpoints live

curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/workspace/credentials/{credentials_name} \
 -X DELETE \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json'

200

{
  "message": "Example message."
}

Delete user credentials for a connector.

DELETE /v1/connectors/{connector_id_or_name}/user/credentials/{credentials_name}

Delete credentials at the user level for a given connector.

200

Successful Response

message
*string

Playground

Test the endpoints live

curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/user/credentials/{credentials_name} \
 -X DELETE \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json'

200

{
  "message": "Example message."
}

Get a connector.

GET /v1/connectors/{connector_id_or_name}#idOrName

Get a connector by its ID or name.

200

Successful Response

active
boolean|null
connection_config
PublicConnectionConfig|null
connection_credentials
array<AuthenticationConfiguration>|null
connection_preferences
array<ConnectionPreference>|null
created_at
*date-time
description
*string
icon_url
string|null
id
*string
is_authenticated
boolean|null
locale
ConnectorLocale|null
mistral
boolean

Default Value: false

modified_at
*date-time
name
*string
owner_id
string|null
owner_type
*"1"|"2"|"3"|"4"
private_tool_execution
*boolean
protocol
"mcp"|"http"|"turbine"
server
string|null
server_card
MCPServerCard|null
supported_auth_methods
array<PublicAuthenticationMethod>|null
system_prompt
string|null
system_prompt_route
string|null
title
string|null
tools
array<ConnectorTool>|null
visibility
*"shared_global"|"shared_org"|"shared_workspace"|"private"

Playground

Test the endpoints live

import os
from mistralai import Mistral

client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])

connector = client.beta.connectors.get(
    connector_id_or_name="company_docs",
    fetch_customer_data=False,
    fetch_connection_secrets=False,
)

print(connector.name)
curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}#idOrName \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

{
  "created_at": "2025-12-17T10:25:07.818693Z",
  "description": "My resource description.",
  "id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
  "modified_at": "2025-12-17T10:41:03.469341Z",
  "name": "My resource",
  "owner_type": "1",
  "private_tool_execution": false,
  "visibility": "shared_global"
}

Delete a connector.

DELETE /v1/connectors/{connector_id}#id

Delete a connector by its ID.

200

Successful Response

message
*string

Playground

Test the endpoints live

from mistralai.client import Mistral
import os


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

    res = mistral.beta.connectors.delete(connector_id="5c3269fe-6a18-4216-b1fb-b093005874cd")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/connectors/{connector_id}#id \
 -X DELETE \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json'

200

{
  "message": "Example message."
}

Update a connector.

PATCH /v1/connectors/{connector_id}#id

Update a connector by its ID.

200

Successful Response

active
boolean|null
connection_config
PublicConnectionConfig|null
connection_credentials
array<AuthenticationConfiguration>|null
connection_preferences
array<ConnectionPreference>|null
created_at
*date-time
description
*string
icon_url
string|null
id
*string
is_authenticated
boolean|null
locale
ConnectorLocale|null
mistral
boolean

Default Value: false

modified_at
*date-time
name
*string
owner_id
string|null
owner_type
*"1"|"2"|"3"|"4"
private_tool_execution
*boolean
protocol
"mcp"|"http"|"turbine"
server
string|null
server_card
MCPServerCard|null
supported_auth_methods
array<PublicAuthenticationMethod>|null
system_prompt
string|null
system_prompt_route
string|null
title
string|null
tools
array<ConnectorTool>|null
visibility
*"shared_global"|"shared_org"|"shared_workspace"|"private"

Playground

Test the endpoints live

from mistralai.client import Mistral
import os


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

    res = mistral.beta.connectors.update(connector_id="81d30634-113f-4dce-a89e-7786be2d8693")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/connectors/{connector_id}#id \
 -X PATCH \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{}'

200

{
  "created_at": "2025-12-17T10:25:07.818693Z",
  "description": "My resource description.",
  "id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
  "modified_at": "2025-12-17T10:41:03.469341Z",
  "name": "My resource",
  "owner_type": "1",
  "private_tool_execution": false,
  "visibility": "shared_global"
}