Files
mintlify__docs/fr/discovery-openapi.json
locadex-agent[bot] d043cf3254 docs(locadex): add translations (#3056)
Co-authored-by: locadex-agent[bot] <217277504+locadex-agent[bot]@users.noreply.github.com>
2026-02-02 15:11:29 -08:00

801 lines
35 KiB
JSON
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"openapi": "3.0.1",
"info": {
"title": "Mintlify Assistant API",
"description": "Une API pour intégrer les fonctionnalités de découverte de Mintlify à votre produit.",
"version": "1.0.0"
},
"servers": [
{
"url": "https://api.mintlify.com/discovery"
}
],
"security": [
{
"bearerAuth": []
}
],
"paths": {
"/v1/assistant/{domain}/message": {
"post": {
"summary": "Message de lAssistant v1",
"description": "Génère un message de réponse de lAssistant pour le domain spécifié. Compatible avec lAI SDK v4.",
"parameters": [
{
"name": "domain",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "Lidentifiant de domain à partir de votre URL `domain.mintlify.app`. Il se trouve à la fin de lURL de votre Dashboard. Par exemple, `dashboard.mintlify.com/organization/domain` a un identifiant de domain de `domain`."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"fp",
"messages"
],
"properties": {
"fp": {
"type": "string",
"description": "Identifiant de fingerprint pour le suivi des sessions de conversation. Utilisez « anonymous » pour les utilisateurs anonymes ou fournissez un identifiant utilisateur unique."
},
"threadId": {
"default": null,
"type": "string",
"description": "Identifiant facultatif utilisé pour maintenir la continuité dune conversation sur plusieurs messages. Lorsquil est fourni, il permet au système de rattacher les messages suivants au même fil de discussion. Le threadId est renvoyé dans la réponse sous la forme event.threadId lorsque event.type === 'finish'."
},
"messages": {
"type": "array",
"default": [
{
"id": "foobar",
"role": "user",
"content": "how do i get started",
"parts": [
{
"type": "text",
"text": "How do I get started"
}
]
}
],
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identifiant unique du message."
},
"role": {
"type": "string",
"enum": [
"system",
"assistant",
"data",
"user"
],
"description": "Rôle de lémetteur du message."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Horodatage de la création du message."
},
"content": {
"type": "string",
"description": "Contenu du message."
},
"annotations": {
"type": "array",
"items": {},
"description": "Tableau optionnel dannotations pour ce message."
},
"parts": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
}
},
"required": [
"type",
"text"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"reasoning"
]
},
"reasoning": {
"type": "string"
},
"details": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
},
"signature": {
"type": "string"
}
},
"required": [
"type",
"text"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"redacted"
]
},
"data": {
"type": "string"
}
},
"required": [
"type",
"data"
]
}
]
}
}
},
"required": [
"type",
"reasoning",
"details"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"step-start"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"source"
]
},
"source": {
"type": "object",
"properties": {
"sourceType": {
"type": "string",
"enum": [
"url"
]
},
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"sourceType",
"id",
"url"
]
}
},
"required": [
"type",
"source"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"tool-invocation"
]
},
"toolInvocation": {
"oneOf": [
{
"type": "object",
"properties": {
"state": {
"type": "string",
"enum": [
"partial-call"
]
},
"step": {
"type": "number"
},
"toolCallId": {
"type": "string"
},
"toolName": {
"type": "string"
},
"args": {}
},
"required": [
"state",
"toolCallId",
"toolName",
"args"
]
},
{
"type": "object",
"properties": {
"state": {
"type": "string",
"enum": [
"call"
]
},
"step": {
"type": "number"
},
"toolCallId": {
"type": "string"
},
"toolName": {
"type": "string"
},
"args": {}
},
"required": [
"state",
"toolCallId",
"toolName",
"args"
]
},
{
"type": "object",
"properties": {
"state": {
"type": "string",
"enum": [
"result"
]
},
"step": {
"type": "number"
},
"toolCallId": {
"type": "string"
},
"toolName": {
"type": "string"
},
"args": {},
"result": {}
},
"required": [
"state",
"toolCallId",
"toolName",
"args",
"result"
]
}
]
}
},
"required": [
"type",
"toolInvocation"
]
}
]
},
"description": "Tableau de segments de message avec différents types, dont le texte, le raisonnement, les sources et les appels doutils."
},
"experimental_attachments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"contentType": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"url"
]
},
"description": "Tableau facultatif de pièces jointes expérimentales associées au message."
}
},
"required": [
"id",
"role",
"content",
"parts"
]
},
"description": "Tableau de messages représentant la conversation. Côté frontend, vous utiliserez probablement la fonction handleSubmit du hook useChat du package @ai-sdk pour ajouter les messages utilisateur et gérer les réponses en streaming, plutôt que de définir manuellement les objets de ce tableau, car ils comportent de très nombreux paramètres."
},
"retrievalPageSize": {
"type": "number",
"default": 5,
"description": "Nombre de résultats de recherche dans la documentation à utiliser pour générer la réponse. Des valeurs plus élevées fournissent davantage de contexte mais peuvent augmenter le temps de réponse. Valeur recommandée : 5."
},
"filter": {
"type": "object",
"default": null,
"properties": {
"version": {
"type": "string",
"description": "Filtre de version facultatif."
},
"language": {
"type": "string",
"description": "Filtre de langue facultatif."
}
},
"description": "Critères de filtrage facultatifs pour la recherche."
}
}
}
}
}
},
"responses": {
"200": {
"description": "Message généré avec succès.",
"content": {
"application/json": {
"schema": {
"type": "object",
"description": "Objet de réponse dont les parties du flux de données sont formatées avec le status, les en-têtes et le champ content spécifiés. Pour plus dinformations, consultez la documentation de lAI SDK sur [ai-sdk.dev/docs/ai-sdk-ui/streaming-data](https://ai-sdk.dev/docs/ai-sdk-ui/streaming-data). Utilisez le [hook useChat de ai-sdk](https://ai-sdk.dev/docs/reference/ai-sdk-ui/use-chat#usechat) pour gérer le flux de réponse."
}
}
}
}
}
}
},
"/v2/assistant/{domain}/message": {
"post": {
"summary": "Message de lAssistant v2",
"description": "Génère un message de réponse de lAssistant pour le domaine spécifié. Compatible avec le SDK dIA v5+.",
"parameters": [
{
"name": "domain",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "Lidentifiant de domaine provenant de votre URL `domain.mintlify.app`. Il se trouve à la fin de lURL de votre Dashboard. Par exemple, `dashboard.mintlify.com/organization/domain` a un identifiant de domaine égal à `domain`."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"fp",
"messages"
],
"properties": {
"fp": {
"type": "string",
"description": "Identifiant dempreinte pour le suivi des sessions de conversation. Utilisez `anonymous` pour les utilisateurs non authentifiés ou fournissez un identifiant utilisateur unique."
},
"threadId": {
"default": null,
"type": "string",
"description": "Identifiant optionnel utilisé pour maintenir la continuité de la conversation sur plusieurs messages. Lorsquil est fourni, il permet au système de rattacher les messages suivants au même fil de conversation. Le `threadId` est renvoyé dans la réponse sous la forme `event.threadId` lorsque `event.type === 'finish'`."
},
"messages": {
"type": "array",
"default": [
{
"id": "foobar",
"role": "user",
"parts": [
{
"type": "text",
"text": "How do I get started"
}
]
}
],
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identifiant unique du message."
},
"role": {
"type": "string",
"enum": [
"system",
"assistant",
"user"
],
"description": "Rôle de lexpéditeur du message."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Horodatage indiquant la création du message."
},
"parts": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"description": "Segment de contenu textuel.",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
}
},
"required": [
"type",
"text"
]
},
{
"type": "object",
"description": "Segment de contenu de raisonnement, avec des metadata de fournisseur facultatives.",
"properties": {
"type": {
"type": "string",
"enum": [
"reasoning"
]
},
"text": {
"type": "string"
},
"providerMetadata": {
"type": "object",
"description": "Metadata spécifiques au fournisseur, facultatives."
}
},
"required": [
"type",
"text"
]
},
{
"type": "object",
"description": "Segment faisant référence à une URL source.",
"properties": {
"type": {
"type": "string",
"enum": [
"source-url"
]
},
"sourceId": {
"type": "string"
},
"url": {
"type": "string"
},
"title": {
"type": "string"
},
"providerMetadata": {
"type": "object",
"description": "Metadata spécifiques au fournisseur, facultatives."
}
},
"required": [
"type",
"sourceId",
"url"
]
},
{
"type": "object",
"description": "Segment représentant un fichier joint.",
"properties": {
"type": {
"type": "string",
"enum": [
"file"
]
},
"mediaType": {
"type": "string"
},
"url": {
"type": "string"
},
"filename": {
"type": "string"
}
},
"required": [
"type",
"mediaType",
"url"
]
},
{
"type": "object",
"description": "Marque le début dune nouvelle étape.",
"properties": {
"type": {
"type": "string",
"enum": [
"step-start"
]
}
},
"required": [
"type"
]
}
]
},
"description": "Tableau de segments du message. Chaque segment a un type et des champs spécifiques à ce type."
},
"metadata": {
"type": "object",
"description": "Metadata facultatives associées au message."
}
},
"required": [
"id",
"role",
"parts"
]
},
"description": "Tableau des messages de la conversation. Utilisez la fonction `handleSubmit` du hook `useChat` du package `@ai-sdk/react` pour gérer les messages et les réponses en streaming."
},
"retrievalPageSize": {
"type": "number",
"default": 5,
"description": "Nombre de résultats de recherche dans la documentation à utiliser pour générer la réponse. Des valeurs plus élevées fournissent davantage de contexte, mais peuvent augmenter le temps de réponse. Valeur recommandée\u0000a0: 5."
},
"filter": {
"type": "object",
"default": null,
"properties": {
"version": {
"type": "string",
"description": "Filtre facultatif par version."
},
"language": {
"type": "string",
"description": "Filtre facultatif par langue."
},
"groups": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tableau facultatif didentifiants de groupes pour filtrer les résultats."
}
},
"description": "Critères de filtrage facultatifs pour la recherche."
},
"context": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"code",
"textSelection"
],
"description": "Type de contexte fourni."
},
"value": {
"type": "string",
"description": "Extrait de code ou contenu textuel sélectionné."
},
"path": {
"type": "string",
"description": "Chemin facultatif vers le fichier ou la page source."
},
"elementId": {
"type": "string",
"description": "Identifiant facultatif de lélément dinterface contenant le contexte."
}
},
"required": [
"type",
"value"
]
},
"description": "Tableau facultatif dinformations contextuelles à fournir à lAssistant."
}
}
}
}
}
},
"responses": {
"200": {
"description": "Message généré avec succès",
"content": {
"application/json": {
"schema": {
"type": "object",
"description": "Réponse en streaming compatible avec AI SDK v5. Utilisez le [hook useChat de @ai-sdk/react](https://ai-sdk.dev/docs/reference/ai-sdk-ui/use-chat#usechat) pour gérer le streaming de la réponse."
}
}
}
}
}
}
},
"/v1/search/{domain}": {
"post": {
"x-mint": {
"mcp": {
"enabled": true
}
},
"summary": "Rechercher dans la documentation",
"description": "Effectuez des recherches sémantiques et par mots-clés dans votre documentation, avec un filtrage et une pagination configurables.",
"parameters": [
{
"name": "domain",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "Lidentifiant de domaine extrait de votre URL `domain.mintlify.app`. Il se trouve à la fin de lURL de votre Dashboard. Par exemple, dans `dashboard.mintlify.com/organization/domain`, lidentifiant de domaine est `domain`."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "La requête de recherche à exécuter sur le contenu de votre documentation."
},
"pageSize": {
"type": "number",
"default": 10,
"description": "Nombre de résultats de recherche à retourner. La valeur par défaut est 10 si aucune valeur nest spécifiée."
},
"filter": {
"type": "object",
"description": "Paramètres de filtrage optionnels permettant de restreindre les résultats de recherche.",
"properties": {
"version": {
"type": "string",
"description": "Filtrer les résultats par version de la documentation."
},
"language": {
"type": "string",
"description": "Filtrer les résultats par langue du contenu."
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Résultats de recherche",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "Le contenu correspondant issu de votre documentation."
},
"path": {
"type": "string",
"description": "Le chemin daccès ou lURL du document source."
},
"metadata": {
"type": "object",
"description": "Metadata supplémentaires relatives au résultat de recherche."
}
}
}
}
}
}
}
}
}
}
},
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Len-tête Authorization attend un jeton Bearer. Utilisez une clé dAPI Assistant (préfixée par `mint_dsc_`). Il sagit dune clé publique, que vous pouvez utiliser en toute sécurité dans du code côté client. Générez-en une sur la page [API keys](https://dashboard.mintlify.com/settings/organization/api-keys) de votre Dashboard."
}
}
}
}