Passer au contenu principal
POST
/
assistant
/
{domain}
/
message
Assistant message
curl --request POST \
  --url https://api-dsc.mintlify.com/v1/assistant/{domain}/message \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "fp": "<string>",
  "threadId": null,
  "messages": [
    {
      "id": "foobar",
      "role": "user",
      "content": "how do i get started",
      "parts": [
        {
          "type": "text",
          "text": "How do I get started"
        }
      ]
    }
  ],
  "retrievalPageSize": 5,
  "filter": null
}
'
{}

Intégration avec useChat

La méthode recommandée pour intégrer l’API de l’Assistant à votre application consiste à utiliser le hook useChat du SDK AI de Vercel.
L’API de l’Assistant Mintlify est compatible avec AI SDK v4. Si vous utilisez AI SDK v5 ou une version ultérieure, vous devez configurer un transport personnalisé.
1

Installer AI SDK v4

npm i ai@^4.1.15
2

Utiliser le hook

import { useChat } from 'ai/react';

function MyComponent({ domain }) {
  const { messages, input, handleInputChange, handleSubmit, isLoading } = useChat({
    api: `https://api-dsc.mintlify.com/v1/assistant/${domain}/message`,
    headers: {
      'Authorization': `Bearer ${process.env.MINTLIFY_TOKEN}`,
    },
    body: {
      fp: 'anonymous',
      retrievalPageSize: 5,
    },
    streamProtocol: 'data',
    sendExtraMessageFields: true,
  });

  return (
    <div>
      {messages.map((message) => (
        <div key={message.id}>
          {message.role === 'user' ? 'Utilisateur : ' : 'Assistant : '}
          {message.content}
        </div>
      ))}
      <form onSubmit={handleSubmit}>
        <input value={input} onChange={handleInputChange} />
        <button type="submit">Envoyer</button>
      </form>
    </div>
  );
}
Configuration requise pour Mintlify :
  • streamProtocol: 'data' - Requis pour les réponses en streaming.
  • sendExtraMessageFields: true - Requis pour envoyer les métadonnées des messages.
  • body.fp - Identifiant d’empreinte (utilisez ‘anonymous’ ou un identifiant utilisateur).
  • body.retrievalPageSize - Nombre de résultats de recherche à utiliser (recommandé : 5).
Consultez useChat dans la documentation du SDK AI pour en savoir plus.

Limites de débit

L’API de l’Assistant applique les limites suivantes :
  • 10 000 utilisations par key et par mois
  • 10 000 requêtes par organisation Mintlify et par heure
  • 10 000 requêtes par adresse IP et par jour

Authorizations

Authorization
string
header
required

The Authorization header expects a Bearer token. See the Assistant API Key documentation for details on how to get your API key.

Path Parameters

domain
string
required

The domain identifier from your domain.mintlify.app URL. Can be found at the end of your dashboard URL. For example, dashboard.mintlify.com/organization/domain has a domain identifier of domain.

Body

application/json
fp
string
required

Fingerprint identifier for tracking conversation sessions. Use 'anonymous' for anonymous users or provide a unique user identifier.

messages
object[]
required

Array of messages in the conversation. On the frontend, you will likely want to use the handleSubmit function from the @ai-sdk package's useChat hook to append user messages and handle streaming responses, rather than manually defining the objects in this array as they have so many parameters.

threadId
string

An optional identifier used to maintain conversation continuity across multiple messages. When provided, it allows the system to associate follow-up messages with the same conversation thread. The threadId is returned in the response as event.threadId when event.type === 'finish'.

retrievalPageSize
number
default:5

Number of documentation search results to use for generating the response. Higher values provide more context but may increase response time. Recommended: 5.

filter
object

Optional filter criteria for the search

Response

200 - application/json

Message generated successfully

Response object that streams formatted data stream parts with the specified status, headers, and content. This matches what is expected from the AI SDK as documented at ai-sdk.dev/docs/ai-sdk-ui/streaming-data. Instead of writing your own parser, it is recommended to use the useChat hook from ai-sdk as documented here.