---
title: "Update a publication"
method: PATCH
path: "/publications/{id}"
tags: ["Publication"]
---

# Update a publication

`PATCH /publications/{id}`

## Request

- Base URL: `https://telescope.ac/api`
- URL: `https://telescope.ac/api/publications/{id}`
- Auth: none declared

Updates a publication.

**API credit cost:** 3

## Path parameters

- `id` string, uuid, required: ID of the publication to update.

## Headers

- `Authorization` string

## Request body

- PatchPublicationInputBody
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `alt` string: Rename URL slug.
  - `metadata` PublicationMetadata
    - `is_pinned` boolean, nullable
    - `seo` PublicationMetadataSEO
      - `description` string, nullable
      - `include_canonical` boolean, nullable
      - `keywords` string, nullable
      - `noindex_nofollow` boolean, nullable
  - `published_draft_id` string, uuid, nullable: Set to a draft ID to publish it.
  - `space_category_id` string, uuid, nullable: Change category (null to remove).
  - `space_id` string, uuid, nullable: Move publication to a different space.
  - `topic_ids` string[]: Replace topic IDs.

## Response `200`

OK

- PatchPublicationOutputBody
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `draft` Draft
    - `cover_image_url` string, nullable, required
    - `created_at` string, date-time, nullable, required
    - `deleted_at` string, date-time
    - `description` string, nullable, required
    - `format` 'html' | 'md', required
    - `id` string, uuid, required
    - `publication_id` string, uuid, required
    - `text` string, required
    - `title` string, required
    - `updated_at` string, date-time, nullable, required
    - `user_id` string, uuid, required
  - `publication` Publication, required
    - `alt` string, required
    - `created_at` string, date-time
    - `deleted_at` string, date-time
    - `flagged_at` string, date-time
    - `id` string, uuid
    - `language` string, required
    - `metadata` Jsonb, required
    - `published_at` string, nullable, required
    - `published_draft_id` string, uuid
    - `space_category_id` string, uuid
    - `space_id` string, uuid
    - `spam_reasons` string
    - `spam_score` integer
    - `topic_ids` Jsonb
    - `update_published_at` string
    - `updated_at` string, date-time
    - `user_id` string, uuid, required

## Other responses

- `default`: Error

---

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