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

# List articles

> List live articles, draft articles, or both.

Use this route to read the current articles in the workspace.

## Headers

<ParamField header="Authorization" type="string" required>
  Bearer token containing your Fini workspace API key. Format: `Bearer fini_...` The key needs `read` scope.
</ParamField>

## Query parameters

<ParamField query="type" type="string">
  Optional filter. Allowed values: `live` and `draft`. If omitted, the route returns both live and draft articles.
</ParamField>

<ParamField query="from" type="string">
  Optional lower bound on `updatedAt`. In practice this is usually an ISO 8601 timestamp.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://api-prod.usefini.com/v2/hc-articles/public?type=live&from=2026-06-01T00:00:00.000Z' \
    --header 'Authorization: Bearer fini_your_api_key'
  ```
</RequestExample>

## Response

Returns an array of article objects sorted by `updatedAt` descending. Each item uses the shared object defined in [Manage knowledge](/en/api-reference/manage-knowledge), including fields such as `id`, `title`, `mainKnowledge`, `parentFolderId`, timestamps, and optional draft metadata.

<Note>
  If you omit `type`, the array can include both live articles and draft articles.
</Note>

## Errors

<AccordionGroup>
  <Accordion title="400 Bad Request" icon="circle-exclamation">
    The query parameters are malformed or `type` is not one of the allowed values.
  </Accordion>

  <Accordion title="401 Unauthorized" icon="lock">
    The API key is missing, malformed, revoked, or invalid.
  </Accordion>

  <Accordion title="403 Forbidden" icon="shield-halved">
    The API key does not include the `read` scope.
  </Accordion>
</AccordionGroup>
