Files
mintlify__docs/fr/index-openapi.json
mintlify[bot] 0ea1a427cc docs: translate Mintlify Index updates (#6892)
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
2026-08-06 06:57:31 +00:00

716 lines
23 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": "API Mintlify Index",
"description": "Recherchez et récupérez de la documentation technique et du contexte web pour vos applications et agents.",
"version": "1.0.0"
},
"servers": [
{
"url": "https://leaves.mintlify.com/api/universal-search"
}
],
"security": [
{
"bearerAuth": []
}
],
"paths": {
"/v1/context": {
"post": {
"operationId": "buildIndexContext",
"summary": "Construire le contexte d’implémentation",
"description": "Recherche dans Mintlify Index et renvoie du contenu accompagné de ses sources, assemblé dans une limite de jetons. Utilisez ce point de terminaison lorsqu’une application ou un agent a besoin d’un contexte prêt à l’emploi en une seule requête.",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContextRequest"
},
"example": {
"query": "Comment dois-je configurer la mise en cache dans Next.js 16 ?",
"product": "Next.js",
"format": "txt",
"tokenBudget": 3000
}
}
}
},
"responses": {
"200": {
"description": "Contexte assemblé avec succès.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContextResponse"
},
"example": {
"requestId": "7f2ab8d1-3bea-4a29-bc51-c05a8d3a3e3c",
"query": "Comment dois-je configurer la mise en cache dans Next.js 16 ?",
"response": "### Mise en cache et revalidation\n\nSource: https://nextjs.org/docs/app/getting-started/caching-and-revalidating\n\nUtilisez les API de mise en cache actuelles décrites dans ce guide.\n\n--------------------------------",
"resultsCount": 3,
"outputTokens": 1842
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"429": {
"$ref": "#/components/responses/RateLimited"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}
},
"/v1/search": {
"post": {
"operationId": "searchIndex",
"summary": "Rechercher des connaissances techniques",
"description": "Renvoie des résultats classés issus de la documentation gérée par les éditeurs ou du web. Utilisez les identifiants de résultats Mintlify ou l’URL de n’importe quel résultat avec le point de terminaison contents lorsque vous avez besoin de davantage de contenu.",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SearchRequest"
},
"example": {
"query": "Mise en cache et revalidation dans Next.js 16",
"numResults": 5,
"text": {
"maxCharacters": 4000
},
"includeDomains": [
"nextjs.org"
]
}
}
}
},
"responses": {
"200": {
"description": "Recherche terminée avec succès.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SearchResponse"
},
"example": {
"requestId": "3d8ed0aa-c21c-4a18-b995-207aa6315ea8",
"results": [
{
"id": "nextjs:/docs/app/getting-started/caching-and-revalidating",
"url": "https://nextjs.org/docs/app/getting-started/caching-and-revalidating",
"title": "Mise en cache et revalidation",
"text": "La mise en cache est une technique qui consiste à stocker le résultat de la récupération de données et d’autres calculs.",
"truncated": false,
"totalCharacters": 92,
"score": 0.91,
"source": "mintlify",
"siteName": "nextjs",
"breadcrumbs": [
"Routeur App",
"Premiers pas"
],
"publishedDate": null
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"429": {
"$ref": "#/components/responses/RateLimited"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}
},
"/v1/contents": {
"post": {
"operationId": "getIndexContents",
"summary": "Obtenir le contenu des résultats",
"description": "Récupère le contenu correspondant aux identifiants de résultats Mintlify ou aux URL de résultats renvoyés par le point de terminaison search. Une requête peut inclure jusqu’à 20 éléments répartis entre les deux champs.",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentsRequest"
},
"example": {
"ids": [
"nextjs:/docs/app/getting-started/caching-and-revalidating"
],
"query": "revalider les données mises en cache",
"maxCharacters": 12000
}
}
}
},
"responses": {
"400": {
"description": "Le corps de la requête n’est pas valide.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
},
"example": {
"error": "Une requête peut référencer au maximum 20 éléments entre urls et ids"
}
}
}
},
"200": {
"description": "Récupération du contenu terminée. Vérifiez chaque statut pour déterminer si l’élément correspondant a réussi.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentsResponse"
},
"example": {
"requestId": "6bf694e4-76cb-4d31-a222-c94b2d9b198a",
"results": [
{
"id": "nextjs:/docs/app/getting-started/caching-and-revalidating",
"url": "https://nextjs.org/docs/app/getting-started/caching-and-revalidating",
"title": "Mise en cache et revalidation",
"text": "# Mise en cache et revalidation\n\nUtilisez les API de revalidation pour actualiser les données mises en cache.",
"truncated": false,
"totalCharacters": 78,
"score": 0,
"source": "mintlify",
"siteName": "nextjs",
"breadcrumbs": [
"Routeur App",
"Premiers pas"
],
"publishedDate": null
}
],
"statuses": [
{
"id": "nextjs:/docs/app/getting-started/caching-and-revalidating",
"status": "success"
}
]
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"429": {
"$ref": "#/components/responses/RateLimited"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}
}
},
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "Clé d’API Mintlify Index",
"description": "Clé d’API Mintlify Index avec le préfixe `mint_us_`."
}
},
"responses": {
"BadRequest": {
"description": "Le corps de la requête n’est pas valide.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
},
"example": {
"error": "Corps de requête invalide"
}
}
}
},
"Unauthorized": {
"description": "La clé d’API est absente ou invalide, ou l’organisation n’a pas accès à l’API REST Index.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
},
"example": {
"error": "Non autorisé"
}
}
}
},
"Forbidden": {
"description": "L’adresse IP de la requête n’est pas autorisée par la clé d’API.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
},
"example": {
"error": "L’adresse IP n’est pas autorisée pour cette clé d’API"
}
}
}
},
"RateLimited": {
"description": "L’organisation a dépassé une limite de débit.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
},
"example": {
"error": "Limite de débit dépassée. Veuillez réessayer plus tard"
}
}
}
},
"InternalError": {
"description": "Index n’a pas pu terminer la requête.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
},
"schemas": {
"ContextRequest": {
"type": "object",
"additionalProperties": false,
"required": [
"query",
"format"
],
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Question d’implémentation à étudier."
},
"product": {
"type": "string",
"minLength": 1,
"description": "Nom du produit ou de l’entreprise à utiliser comme indication de récupération supplémentaire."
},
"format": {
"type": "string",
"enum": [
"txt",
"json"
],
"description": "Format de la chaîne `response`. `txt` renvoie des sections Markdown. `json` renvoie un objet JSON sérialisé contenant les éléments de résultat."
},
"includeDomains": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1
},
"description": "Domaines à inclure dans la récupération."
},
"excludeDomains": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1
},
"description": "Domaines à exclure de la récupération."
},
"tokenBudget": {
"type": "integer",
"minimum": 1,
"maximum": 6000,
"default": 3000,
"description": "Nombre maximal de jetons en sortie."
}
}
},
"ContextResponse": {
"type": "object",
"additionalProperties": false,
"required": [
"requestId",
"query",
"response",
"resultsCount",
"outputTokens"
],
"properties": {
"requestId": {
"type": "string",
"description": "Identifiant unique de la requête."
},
"query": {
"type": "string",
"description": "Requête d’origine."
},
"response": {
"type": "string",
"description": "Contenu source assemblé. La valeur est au format Markdown pour les requêtes `txt` et au format JSON sérialisé pour les requêtes `json`. La chaîne peut être vide lorsqu’aucun contenu ne tient dans la limite de jetons."
},
"resultsCount": {
"type": "integer",
"minimum": 0,
"description": "Nombre d’extraits de sources inclus dans la réponse."
},
"outputTokens": {
"type": "integer",
"minimum": 0,
"description": "Nombre de jetons dans la réponse assemblée."
}
}
},
"SearchRequest": {
"type": "object",
"additionalProperties": false,
"required": [
"query",
"numResults"
],
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Requête de recherche."
},
"numResults": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Nombre maximal de résultats à renvoyer."
},
"text": {
"default": false,
"description": "Contrôle le contenu des résultats. Définissez `true` pour inclure le contenu correspondant, `false` pour l’omettre, ou fournissez `maxCharacters` pour inclure du contenu tronqué. En l’absence de valeur, le paramètre vaut `false`.",
"oneOf": [
{
"type": "boolean"
},
{
"type": "object",
"additionalProperties": false,
"required": [
"maxCharacters"
],
"properties": {
"maxCharacters": {
"type": "integer",
"minimum": 1,
"description": "Nombre maximal de caractères de contenu à inclure par résultat."
}
}
}
]
},
"includeDomains": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1
},
"description": "Domaines à inclure dans les résultats de recherche."
},
"excludeDomains": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1
},
"description": "Domaines à exclure des résultats de recherche."
}
}
},
"SearchResponse": {
"type": "object",
"additionalProperties": false,
"required": [
"requestId",
"results"
],
"properties": {
"requestId": {
"type": "string",
"description": "Identifiant unique de la requête."
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SearchResult"
},
"description": "Résultats de recherche classés."
}
}
},
"SearchResult": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"url",
"title",
"text",
"score",
"source",
"siteName",
"breadcrumbs",
"publishedDate"
],
"properties": {
"id": {
"type": "string",
"description": "Identifiant du résultat. Transmettez les identifiants des résultats Mintlify dans le champ `ids` de la requête contents. Pour les résultats web, transmettez l’URL du résultat dans `urls`."
},
"url": {
"type": "string",
"format": "uri",
"description": "URL canonique de la source."
},
"title": {
"type": "string",
"description": "Titre de la source."
},
"text": {
"type": "string",
"description": "Contenu correspondant lorsqu’il est demandé. Sinon, une chaîne vide."
},
"truncated": {
"type": "boolean",
"description": "Indique si le contenu renvoyé est plus court que le contenu disponible."
},
"totalCharacters": {
"type": "integer",
"minimum": 0,
"description": "Nombre de caractères disponibles avant troncature. Présent lorsqu’il est disponible."
},
"score": {
"type": "number",
"description": "Score de pertinence relatif. Les réponses contents utilisent `0`, car elles récupèrent des éléments sélectionnés au lieu de classer les résultats."
},
"source": {
"type": "string",
"enum": [
"mintlify",
"web"
],
"description": "Source de récupération."
},
"siteName": {
"type": "string",
"description": "Site de documentation ou nom d’hôte web."
},
"breadcrumbs": {
"type": "array",
"items": {
"type": "string"
},
"description": "Hiérarchie documentaire du résultat."
},
"publishedDate": {
"type": "string",
"nullable": true,
"description": "Date de publication lorsque la source en fournit une, sinon `null`. Les résultats `search` la normalisent en horodatage ISO 8601 complet. Les résultats `contents` récupérés via `urls` transmettent la chaîne de date originale de la source sans normalisation ; il peut s’agir d’un horodatage complet ou d’une date seule."
}
}
},
"ContentsRequest": {
"type": "object",
"additionalProperties": false,
"description": "Fournissez au moins un identifiant de résultat Mintlify ou une URL de résultat. Vous pouvez combiner les deux champs, dans la limite de 20 éléments au total.",
"anyOf": [
{
"required": [
"urls"
]
},
{
"required": [
"ids"
]
}
],
"properties": {
"urls": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "string",
"format": "uri"
},
"description": "URL de résultats à récupérer. Utilisez ce champ pour les résultats web."
},
"ids": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "string",
"minLength": 1
},
"description": "Identifiants de résultats Mintlify à récupérer."
},
"maxCharacters": {
"type": "integer",
"minimum": 1,
"description": "Nombre maximal de caractères de contenu à renvoyer par résultat."
},
"query": {
"type": "string",
"minLength": 1,
"description": "Requête utilisée pour sélectionner les sections les plus pertinentes lorsque le contenu dépasse `maxCharacters`."
}
}
},
"ContentsResponse": {
"type": "object",
"additionalProperties": false,
"required": [
"requestId",
"results",
"statuses"
],
"properties": {
"requestId": {
"type": "string",
"description": "Identifiant unique de la requête."
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SearchResult"
},
"description": "Résultats récupérés avec succès."
},
"statuses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ContentStatus"
},
"description": "Statut de récupération de chaque élément demandé."
}
}
},
"ContentStatus": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"id",
"status"
],
"properties": {
"id": {
"type": "string",
"description": "Identifiant ou URL demandé."
},
"status": {
"type": "string",
"enum": [
"success"
],
"description": "Statut de récupération."
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"id",
"status",
"error"
],
"properties": {
"id": {
"type": "string",
"description": "Identifiant ou URL demandé."
},
"status": {
"type": "string",
"enum": [
"error"
],
"description": "Statut de récupération."
},
"error": {
"type": "object",
"additionalProperties": false,
"required": [
"tag",
"httpStatusCode"
],
"properties": {
"tag": {
"type": "string",
"description": "Catégorie d’erreur lisible par machine."
},
"httpStatusCode": {
"type": "integer",
"nullable": true,
"description": "Code de statut HTTP amont lorsqu’il est disponible."
}
}
}
}
}
]
},
"Error": {
"type": "object",
"additionalProperties": false,
"required": [
"error"
],
"properties": {
"error": {
"type": "string",
"description": "Message d’erreur."
}
}
}
}
}
}