Saltar al contenido principal
POST
/
assistant
/
{domain}
/
message
Mensaje del assistant
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>",
  "messages": [
    {
      "id": "foobar",
      "role": "user",
      "content": "how do i get started",
      "parts": [
        {
          "type": "text",
          "text": "How do I get started"
        }
      ]
    }
  ],
  "threadId": null,
  "retrievalPageSize": 5,
  "filter": null
}
'
{}

Integración con useChat

El hook useChat del AI SDK de Vercel es la forma recomendada de integrar la API del assistant en tu aplicación.
La API del assistant de Mintlify es compatible con AI SDK v4. Si usas AI SDK v5 o posterior, debes configurar un transporte personalizado.
1

Instalar el AI SDK v4

npm i ai@^4.1.15
2

Usar el 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' ? 'Usuario: ' : 'Assistant: '}
          {message.content}
        </div>
      ))}
      <form onSubmit={handleSubmit}>
        <input value={input} onChange={handleInputChange} />
        <button type="submit">Enviar</button>
      </form>
    </div>
  );
}
Configuración obligatoria para Mintlify:
  • streamProtocol: 'data' - Obligatorio para respuestas en streaming.
  • sendExtraMessageFields: true - Obligatorio para enviar metadata de los mensajes.
  • body.fp - Identificador de huella digital (usa ‘anonymous’ o un identificador de usuario).
  • body.retrievalPageSize - Número de resultados de búsqueda a usar (recomendado: 5).
Consulta useChat en la documentación del AI SDK para obtener más información.

Límites de uso

La API del assistant tiene los siguientes límites:
  • 10,000 usos por key al mes
  • 10,000 solicitudes por organización de Mintlify por hora
  • 10,000 solicitudes por IP al día

Authorizations

Authorization
string
header
required

El encabezado Authorization requiere un token Bearer. Consulta la documentación de la clave de API del assistant para obtener más detalles sobre cómo obtener tu clave de API.

Path Parameters

domain
string
required

El identificador de dominio de tu URL domain.mintlify.app. Puedes encontrarlo al final de la URL de tu dashboard. Por ejemplo, en dashboard.mintlify.com/organization/domain, el identificador de dominio es domain.

Body

application/json
fp
string
required

Identificador de huella digital para el seguimiento de sesiones de conversación. Usa anonymous para usuarios anónimos o proporciona un identificador de usuario único.

messages
object[]
required

Array de mensajes de la conversación. En el frontend, es probable que quieras usar la función handleSubmit del hook useChat del paquete @ai-sdk para agregar los mensajes del usuario y gestionar las respuestas en streaming, en lugar de definir manualmente los objetos de este array, ya que tienen tantos parámetros.

threadId
string

Un identificador opcional que se utiliza para mantener la continuidad de la conversación a lo largo de varios mensajes. Cuando se proporciona, permite que el sistema asocie los mensajes posteriores con el mismo hilo de conversación. El threadId se devuelve en la respuesta como event.threadId cuando event.type === 'finish'.

retrievalPageSize
number
default:5

Número de resultados de búsqueda en la documentación que se utilizarán para generar la respuesta. Valores más altos proporcionan más contexto, pero pueden aumentar el tiempo de respuesta. Recomendado: 5.

filter
object

Criterios opcionales de filtrado para la búsqueda

Response

200 - application/json

Mensaje generado con éxito

Objeto de respuesta que transmite partes de un flujo de datos con formato con el estado, los encabezados y el contenido especificados. Esto coincide con lo que espera AI SDK, según se documenta en ai-sdk.dev/docs/ai-sdk-ui/streaming-data. En lugar de escribir tu propio analizador (parser), se recomienda usar el hook useChat de ai-sdk, tal como se documenta aquí.