---
title: "Publish Post"
method: PATCH
path: "/posts/{id}/publish"
tags: ["Posts"]
---

# Publish Post

`PATCH /posts/{id}/publish`

Publish a post immediately or schedule it for later.

**Supported Actions**:
- `publish` - Publish immediately
- `unpublish` - Unpublish
- `schedule` - Schedule publication (future time only)

## Path parameters

- `id` integer, required

## Request body

- PublishActionRequest
  - `jsonapi` object, required — JSON:API version metadata included in every JSON:API response.
    - `version` string, required — Implemented JSON:API version.
  - `data` object, required — Publish action payload.
    - `type` 'publish_action', required — Resource type identifier for the publish action payload.
    - `attributes` object, required — Publish action fields.
      - `action` 'publish' | 'unpublish' | 'schedule', required — Publication action type - `publish`: Publish immediately - `unpublish`: Unpublish - `schedule`: Schedule publication
      - `scheduled_at` string, date-time — Scheduled publication time (ISO 8601 format) Required only when action is 'schedule' Must be a future time

## Response `200`

Publish status changed successfully

## Other responses

- `400` — Bad request
- `401` — Authentication failed
- `403` — Insufficient permissions
- `404` — Resource not found
- `405` — Method not allowed
- `500` — 서버 내부 오류

---

[API](https://skmtc.dev/inblog/apis/inblog-api.md) · [All operations](https://skmtc.dev/inblog/apis/inblog-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/inblog/inblog-api/revisions/445daf773d30/schema)
