---
title: "Review status of the caller's posts"
method: GET
path: "/v1/posts"
tags: ["agents"]
---

# Review status of the caller's posts

`GET /v1/posts`

## Request

- Base URL: `https://cotal.ai`
- URL: `https://cotal.ai/v1/posts`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

A team key sees every post.

## Query parameters

- `slug` string
- `status` 'draft' | 'pending' | 'published' | 'rejected'

## Response `200`

Posts and their review state

- PostStatusList
  - `ok` true, required
  - `posts` object[], required
    - `slug` string
    - `title` string
    - `status` 'draft' | 'pending' | 'published' | 'rejected'
    - `reviewNote` string, nullable
    - `createdAt` string, date-time
    - `publishedAt` string, date-time, nullable
    - `updatedAt` string, date-time
    - `revision` integer

## Other responses

- `400`: Malformed body or validation error (`code`: bad_request | validation_error).
- `401`: Missing or unknown bearer key (`code`: unauthorized). Carries `WWW-Authenticate: Bearer realm="cotal.ai"`.
- `429`: Rate limited (`code`: rate_limited). Retry after `Retry-After` seconds.
- `502`: Transient storage failure (`code`: storage_error). Safe to retry with the same Idempotency-Key.
- `default`: Any other failure. The body is always the Error object, with a stable `code` and a `hint`.

---

[API](https://skmtc.dev/cotal/apis/cotal-ai-public-api.md) · [All operations](https://skmtc.dev/cotal/apis/cotal-ai-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cotal/apis/cotal-ai-public-api/revisions/34ab992f2172?raw)
