---
title: "Update a blog author"
method: PATCH
path: "/blog/authors/{id}"
tags: ["Blog authors"]
---

# Update a blog author

`PATCH /blog/authors/{id}`

## Request

- Base URL: `https://api.cavuno.com/v1`
- URL: `https://api.cavuno.com/v1/blog/authors/{id}`
- Auth: HTTP bearer

Updates the specified blog author by setting the values of the parameters passed. Any parameters not provided will be left unchanged. The request is idempotent when an `Idempotency-Key` header is supplied.

## Path parameters

- `id` string, required: The author's opaque object `id`: the `id` field returned by the author endpoints (e.g. `a4u7t9k2d6q0r3s8v1w5x9y2z6b0c4m7`). This is NOT the `slug` or name; passing a slug like `jane-doe` returns 404. To look up an author by name or slug, use `GET /v1/blog/authors` and read the returned `id`.

## Request body

- UpdateAuthorBody
  - `slug` string: URL-friendly slug for the author. Auto-generated from `name` when omitted.
  - `bio` string: Short biography for the author. Sanitized HTML.
  - `email` string, email, nullable: The author's email address. Pass `null` to clear the stored value; omitted means unchanged.
  - `location` string: Free-text location label for the author (e.g. `Sydney, Australia`).
  - `status` 'active' | 'inactive': Author visibility status. One of `active` or `inactive`.
  - `avatarMediaId` string, nullable: Cavuno media ID of an uploaded avatar image. Pass `null` to clear it.
  - `websiteUrl` string, nullable: The author's personal website URL. Normalized to a canonical URL when stored. Pass `null` or `""` to clear the stored value; omitted means unchanged.
  - `facebookUrl` string, nullable: The author's Facebook profile URL. Pass `null` or `""` to clear the stored value; omitted means unchanged.
  - `twitterUrl` string, nullable: The author's X (Twitter) profile URL. Stored as the canonical `https://x.com/<handle>` URL. Pass `null` or `""` to clear the stored value; omitted means unchanged.
  - `linkedinUrl` string, nullable: The author's LinkedIn profile URL. Pass `null` or `""` to clear the stored value; omitted means unchanged.
  - `githubUrl` string, nullable: The author's GitHub profile URL. Pass `null` or `""` to clear the stored value; omitted means unchanged.
  - `metaTitle` string: SEO meta title for the author page.
  - `metaDescription` string: SEO meta description for the author page.
  - `name` string: The author's display name.

## Response `200`

Successful response.

- BlogAuthor
  - `id` string, required: Unique identifier for the object. Use this value as the `{id}` path parameter for the author endpoints (e.g. `GET /v1/blog/authors/{id}`).
  - `object` 'blog_author', required: String representing the object's type. Objects of the same type share the same value.
  - `name` string, required: Display name of the author.
  - `slug` string, required: URL-friendly slug for the author.
  - `bio` string, nullable, required: Short biography, or `null` if not set.
  - `email` string, nullable, required: The author's email address, or `null` if not set.
  - `location` string, nullable, required: The author's free-text location label, or `null` if not set.
  - `status` string, nullable, required: Author visibility status, or `null` if not set.
  - `avatarUrl` string, nullable, required: URL of the author avatar, or `null` if no avatar is set.
  - `websiteUrl` string, nullable, required: The author's website URL, or `null` if not set.
  - `facebookUrl` string, nullable, required: The author's Facebook URL, or `null` if not set.
  - `twitterUrl` string, nullable, required: The author's X (Twitter) URL, or `null` if not set.
  - `linkedinUrl` string, nullable, required: The author's LinkedIn URL, or `null` if not set.
  - `githubUrl` string, nullable, required: The author's GitHub URL, or `null` if not set.
  - `metaTitle` string, nullable, required: SEO meta title, or `null` if not set.
  - `metaDescription` string, nullable, required: SEO meta description, or `null` if not set.
  - `createdAt` string, required: Time at which the author was created. ISO 8601 datetime.
  - `updatedAt` string, nullable, required: Time at which the author was last updated, or `null` if it has never been updated. ISO 8601 datetime.

## Other responses

- `400`: The request was malformed.
- `404`: Author not found.
- `409`: Another author already uses the same slug.

## Changes

- **2026-10-19** `c34152c38176`: 3 info
  - added the optional property `error/upgrade` to the response with the `400` status
  - added the optional property `error/upgrade` to the response with the `404` status
  - added the optional property `error/upgrade` to the response with the `409` status

[Operation history](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/changes/blog/authors/:id/patch.md)

---

[API](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api.md) · [All operations](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/revisions/d5974dabff14?raw)
