---
title: "Reorder articles"
method: POST
path: "/kb-articles/reorder"
tags: ["Articles"]
---

# Reorder articles

`POST /kb-articles/reorder`

## Request

- Base URL: `https://api.weav.com/v1`
- URL: `https://api.weav.com/v1/kb-articles/reorder`
- Auth: HTTP bearer

Assign display positions 0..n-1 for every article in one category group. Pass `category_id: null` for the uncategorized group.

## Request body

- object
  - `category_id` string, uuid, nullable, required
  - `ids` string[], required

## Response `200`

Articles reordered

- object
  - `data` KbArticle[]
    - `id` string, uuid
    - `category_id` string, uuid, nullable
    - `position` integer, nullable
    - `status` 'draft' | 'published'
    - `published_at` string, date-time, nullable
    - `source` 'manual' | 'auto_generated' | 'github' | 'mcp'
    - `translations` KbArticleTranslation[]
      - `locale` string
      - `title` string
      - `slug` string
      - `content` string: Markdown body
      - `excerpt` string, nullable: Also used as the meta description
      - `seo_title` string, nullable: Search and social title; the page heading remains title
      - `noindex` boolean: Hide this translation from search engines
      - `canonical_url` string, uri, nullable
      - `og_image_url` string, uri, nullable
      - `created_at` string, date-time, nullable
      - `updated_at` string, date-time, nullable
    - `created_at` string, date-time, nullable
    - `updated_at` string, date-time, nullable

## Other responses

- `401`: Unauthorized
- `422`: Validation error

---

[API](https://skmtc.dev/weav/apis/weav-api.md) · [All operations](https://skmtc.dev/weav/apis/weav-api/llms.txt) · [OpenAPI document](https://skmtc.dev/weav/apis/weav-api/revisions/15970f126c0e?raw)
