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

# List Articles

> Retrieve all knowledge base articles for your business.

Returns all knowledge base articles belonging to your organization, ordered by most recently created first.

**Method**: `GET`  **URL**: `/api/v1/kb/articles`

### Headers

| Header        | Value          |
| ------------- | -------------- |
| Authorization | Bearer {token} |

### Response

<ResponseField name="id" type="integer" required>
  Unique integer ID of the article.
</ResponseField>

<ResponseField name="business_id" type="integer" required>
  ID of the business that owns this article.
</ResponseField>

<ResponseField name="title" type="string" required>
  Title of the knowledge base article.
</ResponseField>

<ResponseField name="content" type="string" required>
  Full text content of the article.
</ResponseField>

<ResponseField name="tags" type="string[]" required>
  Array of tag strings associated with the article.
</ResponseField>

<ResponseField name="created_at" type="string" required>
  ISO 8601 timestamp of when the article was created.
</ResponseField>

### Example

<CodeGroup>
  ```bash curl theme={null}
  curl --request GET \
    --url https://api.pingback.live/api/v1/kb/articles \
    --header 'Authorization: Bearer {token}'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.pingback.live/api/v1/kb/articles', {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer {token}'
    }
  });

  const articles = await response.json();
  ```
</CodeGroup>

### Response example

```json theme={null}
[
  {
    "id": 42,
    "business_id": 7,
    "title": "How to reset your password",
    "content": "To reset your password, click the 'Forgot Password' link on the login page...",
    "tags": ["account", "password", "security"],
    "created_at": "2024-01-18T10:00:00Z"
  },
  {
    "id": 41,
    "business_id": 7,
    "title": "Billing and subscription FAQ",
    "content": "We accept all major credit cards. Your subscription renews monthly...",
    "tags": ["billing", "subscription"],
    "created_at": "2024-01-15T09:30:00Z"
  }
]
```

***

## Delete an article

**Method**: `DELETE`  **URL**: `/api/v1/kb/articles/{article_id}`

Permanently removes a knowledge base article from your organization. The article is also deleted from the semantic search index, so it will no longer be referenced by Theo AI in conversations.

<Warning>
  Deletion is permanent and cannot be undone. The article will be removed from the AI's knowledge base immediately.
</Warning>

### Path parameters

<ParamField path="article_id" type="integer" required>
  The integer ID of the article to delete.
</ParamField>

### Example

<CodeGroup>
  ```bash curl theme={null}
  curl --request DELETE \
    --url https://api.pingback.live/api/v1/kb/articles/42 \
    --header 'Authorization: Bearer {token}'
  ```

  ```javascript JavaScript theme={null}
  await fetch('https://api.pingback.live/api/v1/kb/articles/42', {
    method: 'DELETE',
    headers: { 'Authorization': 'Bearer {token}' }
  });
  ```
</CodeGroup>

### Response example

```json theme={null}
{ "message": "Article deleted" }
```

### Errors

| Status | Meaning                                 |
| ------ | --------------------------------------- |
| 401    | Unauthorized — missing or invalid token |
| 404    | Article not found                       |
