Ferndesk

Artículos

Listar artículos

Devuelve los artículos del centro de ayuda de tu organización, del más reciente al más antiguo, paginados mediante cursor.

  • status tiene el valor predeterminado published. draft y all requieren el scope content:write; los artículos enviados a la papelera nunca se devuelven.
  • collection_id filtra por una única colección.
  • updated_since (ISO 8601) devuelve solo los artículos modificados en ese momento o después, ordenados del más antiguo al más recientemente actualizado, para la sincronización incremental. El ordenamiento por conjunto de claves está incorporado en next_cursor, por lo que en las páginas posteriores solo se pasa start_cursor; updated_since se ignora cuando hay un start_cursor (el cursor ya fija la ventana y su modo).
  • format=markdown devuelve contentMarkdown en lugar de contentHtml.

Scope requerido: content:read

GET /articles

Listar artículos

curl --request GET \
  --url 'https://api.ferndesk.com/v1/articles' \
  --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 artículos paginada mediante cursor

Authorizations

  • Authorization string obligatorio header

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

    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, retirar 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 definición de scopes tienen scopes nulos = acceso completo (modo heredado).

Query Parameters

  • collection_id string

    Devuelve únicamente los artículos de esta colección. Ejemplo: col_01JXYA6ABN52

  • 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 de elementos que se devolverán por página (1-100). Ejemplo: 20

  • start_cursor string

    Cursor de paginación opaco. Pasa el next_cursor de una respuesta anterior para obtener la página siguiente. Ejemplo: eyJ2IjoxLCJrIjpbIjIwMjYtMDEtMDEiLCJhcnRfMSJdfQ

  • status string enum

    Filtra por estado de publicación. El valor predeterminado es published. draft y all requieren el scope content:write y nunca incluyen artículos enviados a la papelera. Ejemplo: published

  • updated_since string (date-time)

    Devuelve únicamente los artículos actualizados en esa marca de tiempo ISO 8601 o después. Úsalo para la sincronización incremental. Ejemplo: 2026-01-15T18:25:43.511Z

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. Está presente cuando format=html (predeterminado).

    • contentMarkdown string

      Contenido del artículo representado como Markdown. Está presente cuando format=markdown.

    • contentJson any | null

      Documento ProseMirror/Tiptap sin procesar almacenado. Está 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 de agrupación de colección opcional 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.