> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fusiondesk.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# FusionDesk Articles API — Manage Knowledge Base Articles

> Retrieve, search, create, update, and delete Knowledge Base articles via the REST API.

The Articles API allows you to programmatically manage your help center resources and Knowledge Base content. These articles are used as direct context by the AI Agent to formulate RAG-based auto-responses.

***

## GET /articles

Retrieve a list of articles.

<ParamField query="limit" type="integer" default="50">
  Number of articles to return per page. Maximum value is `50`.
</ParamField>

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.fusiondesk.in/v1/articles?limit=10" \
    -H "Authorization: Bearer fd_live_xxxxxxxxxxxxxxxxxxxx"
  ```

  ```json Response theme={null}
  [
    {
      "id": "art_12345",
      "name": "How to Reset Your Password",
      "content": "To reset your password, click the 'Forgot Password' link on the login page and enter your registered email address.",
      "organizationId": "org_54321",
      "published": true,
      "created": "2026-07-27T21:00:00.000Z",
      "modified": "2026-07-27T21:00:00.000Z"
    }
  ]
  ```
</CodeGroup>

***

## GET /articles/search

Search for published articles using text queries.

<ParamField query="q" type="string" required>
  The text query to search.
</ParamField>

<ParamField query="limit" type="integer" default="50">
  The maximum number of hits to return.
</ParamField>

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.fusiondesk.in/v1/articles/search?q=password" \
    -H "Authorization: Bearer fd_live_xxxxxxxxxxxxxxxxxxxx"
  ```

  ```json Response theme={null}
  [
    {
      "id": "art_12345",
      "name": "How to Reset Your Password",
      "content": "To reset your password, click the 'Forgot Password' link...",
      "organizationId": "org_54321",
      "published": true
    }
  ]
  ```
</CodeGroup>

***

## GET /articles/\{id}

Retrieve details for a single article.

<ParamField path="id" type="string" required>
  The unique ID of the article.
</ParamField>

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.fusiondesk.in/v1/articles/art_12345" \
    -H "Authorization: Bearer fd_live_xxxxxxxxxxxxxxxxxxxx"
  ```

  ```json Response theme={null}
  {
    "id": "art_12345",
    "name": "How to Reset Your Password",
    "content": "To reset your password, click the 'Forgot Password' link on the login page and enter your registered email address.",
    "organizationId": "org_54321",
    "published": true,
    "created": "2026-07-27T21:00:00.000Z",
    "modified": "2026-07-27T21:00:00.000Z"
  }
  ```
</CodeGroup>

***

## POST /articles

Create a new article.

<ParamField body="name" type="string" required>
  The title of the article.
</ParamField>

<ParamField body="content" type="string" required>
  The markdown content of the article.
</ParamField>

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://api.fusiondesk.in/v1/articles" \
    -H "Authorization: Bearer fd_live_xxxxxxxxxxxxxxxxxxxx" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "How to Reset Your Password",
      "content": "To reset your password, click the Forgot Password link."
    }'
  ```

  ```json Response theme={null}
  {
    "id": "art_12345",
    "name": "How to Reset Your Password",
    "content": "To reset your password, click the Forgot Password link.",
    "created": "2026-07-28T10:00:00.000Z",
    "modified": "2026-07-28T10:00:00.000Z"
  }
  ```
</CodeGroup>

***

## PUT /articles/\{id}

Update an existing article.

<ParamField path="id" type="string" required>
  The unique ID of the article.
</ParamField>

<ParamField body="name" type="string">
  The title of the article.
</ParamField>

<ParamField body="content" type="string">
  The markdown content of the article.
</ParamField>

<CodeGroup>
  ```bash cURL theme={null}
  curl -X PUT "https://api.fusiondesk.in/v1/articles/art_12345" \
    -H "Authorization: Bearer fd_live_xxxxxxxxxxxxxxxxxxxx" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "Updated Password Reset Guide"
    }'
  ```

  ```json Response theme={null}
  {
    "id": "art_12345",
    "name": "Updated Password Reset Guide",
    "content": "To reset your password, click the Forgot Password link.",
    "created": "2026-07-28T10:00:00.000Z",
    "modified": "2026-07-28T10:05:00.000Z"
  }
  ```
</CodeGroup>

***

## DELETE /articles/\{id}

Delete an article record permanently.

<ParamField path="id" type="string" required>
  The unique ID of the article.
</ParamField>

```bash theme={null}
curl -X DELETE "https://api.fusiondesk.in/v1/articles/art_12345" \
  -H "Authorization: Bearer fd_live_xxxxxxxxxxxxxxxxxxxx"
```

A successful deletion returns `204 No Content` with an empty response body.
