# Update Article

PUT /api/v2/projects/{projectId}/knowledge/articles/{id}

Updates an article. Despite the PUT, only the fields present in the body are written. Two side effects are worth knowing: changing the title regenerates the URL slug, which breaks existing links to the article; and switching `type` to `internal` clears its collection, removing it from help-center navigation. Moving between `draft` and `published` is what controls public visibility. To include a new screenshot, upload it with Upload Article Image and embed the returned https://storage.saasco.com URL in `body`.

## Request

- projectId: string, path, required — ID of the project that owns the article.
- id: string, path, required — ID of the article to update.
- authorId: string
- body: string — Article HTML. Embed a screenshot as <img src="https://storage.saasco.com/...">. Upload a new image with Upload Article Image and use the returned URL. Omit to leave unchanged.
- collectionId: string
- description: string
- order: integer
- state: draft | published
- title: string — Article title. Omit to leave unchanged.
- type: public | internal
- url: string

## Response

- 200: Successful response
  - authorId: string, required
  - body: string, required
  - conversions: integer, required
  - createdAt: string, required
  - happyReactions: integer, required
  - id: string, required
  - neutralReactions: integer, required
  - order: integer, required
  - projectId: string, required
  - sadReactions: integer, required
  - slug: string, required
  - state: draft | published, required, default draft
  - title: string, required
  - type: public | internal, required, default public
  - updatedAt: string, required
  - views: integer, required
  - collectionId: string
  - description: string
  - url: string
- 400: Invalid input data
- 401: Authorization not provided
- 403: Insufficient access
- 404: Not found
- 500: Internal server error
