# Knowledge base

> Every collection, article, article-template, and homepage-curation query and mutation.

Product: Clad API
Source: https://docs.useclad.ai/api/reference-knowledge-base

---

Manage help-center collections, articles, article templates, and homepage curation.

### Queries

#### `article`

```graphql
article(id: ID!): Article
```

| Argument | Type | Description |
| --- | --- | --- |
| `id` | `ID!` | Required. |

#### `articles`

```graphql
articles(after: String, collectionId: ID, first: Int, search: String, status: ArticleStatus): ArticleConnection
```

| Argument | Type | Description |
| --- | --- | --- |
| `after` | `String` |  |
| `collectionId` | `ID` |  |
| `first` | `Int` |  |
| `search` | `String` |  |
| `status` | `ArticleStatus` |  |

#### `articleTemplates`

```graphql
articleTemplates: [ArticleTemplate!]
```

All article templates in the organization (newest first).

#### `collection`

```graphql
collection(id: ID!): Collection
```

| Argument | Type | Description |
| --- | --- | --- |
| `id` | `ID!` | Required. |

#### `collections`

```graphql
collections(after: String, first: Int, search: String): CollectionConnection
```

| Argument | Type | Description |
| --- | --- | --- |
| `after` | `String` |  |
| `first` | `Int` |  |
| `search` | `String` |  |

#### `featuredArticleCandidates`

```graphql
featuredArticleCandidates(first: Int, search: String): [FeaturedArticleCandidate!]
```

Search up to 50 metadata-only, publicly eligible articles that can be newly pinned to the help-center homepage.

| Argument | Type | Description |
| --- | --- | --- |
| `first` | `Int` | Maximum rows to return (default 25, max 50). |
| `search` | `String` | Optional case-insensitive title search (max 128 characters). |

#### `featuredArticles`

```graphql
featuredArticles: [FeaturedArticle!]
```

The complete explicitly pinned help-center homepage set in manual order, including retained pins that are temporarily unavailable.

### Mutations

#### `createArticle`

```graphql
createArticle(input: CreateArticleInput!): ArticleResult
```

| Argument | Type | Description |
| --- | --- | --- |
| `input` | `CreateArticleInput!` | Required. |

#### `createArticleTemplate`

```graphql
createArticleTemplate(input: CreateArticleTemplateInput!): ArticleTemplateResult
```

Create an article template.

| Argument | Type | Description |
| --- | --- | --- |
| `input` | `CreateArticleTemplateInput!` | Required. |

#### `createCollection`

```graphql
createCollection(input: CreateCollectionInput!): CollectionResult
```

| Argument | Type | Description |
| --- | --- | --- |
| `input` | `CreateCollectionInput!` | Required. |

#### `deleteArticle`

```graphql
deleteArticle(id: ID!): DeleteArticleResult
```

| Argument | Type | Description |
| --- | --- | --- |
| `id` | `ID!` | Required. |

#### `deleteArticleTemplate`

```graphql
deleteArticleTemplate(id: ID!): DeleteArticleTemplateResult
```

Delete an article template.

| Argument | Type | Description |
| --- | --- | --- |
| `id` | `ID!` | Required. |

#### `deleteCollection`

```graphql
deleteCollection(id: ID!): DeleteCollectionResult
```

Delete a collection AND every article in it (with search-index cleanup).

| Argument | Type | Description |
| --- | --- | --- |
| `id` | `ID!` | Required. |

#### `replaceFeaturedArticles`

```graphql
replaceFeaturedArticles(input: ReplaceFeaturedArticlesInput!): ReplaceFeaturedArticlesResult
```

Atomically replace the complete ordered help-center homepage pin set. Requires article write plus public-publication permission.

| Argument | Type | Description |
| --- | --- | --- |
| `input` | `ReplaceFeaturedArticlesInput!` | Required. |

#### `updateArticle`

```graphql
updateArticle(input: UpdateArticleInput!): ArticleResult
```

| Argument | Type | Description |
| --- | --- | --- |
| `input` | `UpdateArticleInput!` | Required. |

#### `updateArticleTemplate`

```graphql
updateArticleTemplate(input: UpdateArticleTemplateInput!): ArticleTemplateResult
```

Rename or re-body an article template.

| Argument | Type | Description |
| --- | --- | --- |
| `input` | `UpdateArticleTemplateInput!` | Required. |

#### `updateCollection`

```graphql
updateCollection(input: UpdateCollectionInput!): CollectionResult
```

Rename or restyle a collection. Name collisions return CONFLICT.

| Argument | Type | Description |
| --- | --- | --- |
| `input` | `UpdateCollectionInput!` | Required. |
