Ferndesk

Artículos

Buscar artículos

Búsqueda de texto completo en los artículos publicados del centro de ayuda, ordenados por relevancia.

La búsqueda está ordenada por relevancia, no está paginada mediante keyset: devuelve como máximo 100 resultados ordenados por relevancia. has_more indica que se alcanzó el límite; next_cursor siempre es null.

format=markdown devuelve contentMarkdown en lugar de contentHtml.

Scope requerido: content:read

GET /articles/search

Buscar artículos

curl --request GET \
  --url 'https://api.ferndesk.com/v1/articles/search' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "results": [
    {
      "id": "<string>",
      "title": "<string>",
      "slug": "<string>",
      "contentHtml": "<string>",
      "contentMarkdown": "<string>",
      "contentJson": "<string>",
      "url": "<url>",
      "sectionId": "<string>",
      "collectionId": "<string>",
      "status": "<string>",
      "publishedAt": "<string>",
      "createdAt": "<string>"
    }
  ],
  "has_more": true,
  "next_cursor": "<string>"
}

Respuesta de búsqueda de artículos ordenada por relevancia

Authorizations

  • Authorization string obligatorio header

    Todas las solicitudes requieren un Bearer token en el encabezado Authorization. Las API keys tienen el prefijo fdsk_ y deben mantenerse en secreto. Puedes generar y administrar claves desde la página de Developer settings.

    Las claves pueden restringirse a cualquier subconjunto de estos scopes (cada endpoint indica el scope que requiere mediante x-required-scopes):

    • content:read: Leer y buscar artículos, colecciones, secciones y traducciones del centro de ayuda
    • content:write: Crear y editar borradores de artículos, usuarios y tareas; mover artículos y colecciones
    • content:publish: Publicar, anular la publicación, restaurar y enviar contenido a la papelera (hacer efectivos los cambios)
    • analytics:read: Leer informes, análisis y comentarios sobre artículos del centro de ayuda
    • conversations:read: Leer conversaciones y transcripciones del asistente de IA
    • webhooks:manage: Crear y administrar suscripciones a webhooks salientes

    Conceder content:write o content:publish implica content:read. Las claves creadas antes de la aplicación de scopes tienen scopes null = acceso total (modo heredado).

Query Parameters

  • format string enum

    Formato de representación del contenido. html (predeterminado) devuelve contentHtml; markdown devuelve contentMarkdown; json devuelve contentJson: el documento ProseMirror/Tiptap sin procesar almacenado. El JSON utiliza el esquema ProseMirror de Ferndesk (nodos personalizados como callout, steps y cards) y es la representación sin pérdida del cuerpo del artículo. Ejemplo: markdown

  • page_size integer

    Número máximo de resultados ordenados por relevancia que se devolverán (1-100). Ejemplo: 20

  • query string obligatorio

    Consulta de búsqueda de texto libre. Ejemplo: authentication

Response

application/json
  • results[] object array

    Elementos de esta página. Carga útil del artículo devuelta por los endpoints de artículos.

    + Show Child Attributes
    • id string

      ID del artículo de Ferndesk (art_...).

    • title string

      Título principal del artículo.

    • slug string | null

      Slug de URL del artículo.

    • contentHtml string

      Contenido del artículo representado como HTML. Presente cuando format=html (predeterminado).

    • contentMarkdown string

      Contenido del artículo representado como Markdown. Presente cuando format=markdown.

    • contentJson any | null

      Documento ProseMirror/Tiptap sin procesar almacenado. Presente cuando format=json. Utiliza el esquema ProseMirror de Ferndesk (nodos personalizados como callout, steps y cards) y es la representación sin pérdida.

    • url string (uri) | null

      URL pública canónica de este artículo.

    • sectionId string | null

      ID de la sección que contiene el artículo.

    • collectionId string | null

      ID opcional de agrupación de la colección del artículo.

    • status string | null

      Estado de publicación del artículo.

    • publishedAt string | null

      Marca de tiempo en la que se publicó el artículo.

    • createdAt string

      Marca de tiempo ISO 8601 en UTC.

    • updatedAt string

      Marca de tiempo ISO 8601 en UTC.

  • has_more boolean

    Indica si hay más elementos disponibles después de esta página.

  • next_cursor string | null

    Cursor que se debe pasar como start_cursor para la página siguiente, o null en la última página.