---
title: "Approvals: posts waiting for a person, and the ones decided"
method: GET
path: "/api/approvals"
---

# Approvals: posts waiting for a person, and the ones decided

`GET /api/approvals`

## Request

- Base URL: `https://postwire.io`
- URL: `https://postwire.io/api/approvals`
- Auth: HTTP bearer

Newest first, each with every network's preview (account, text, title, media, length against the network's limit and, for Instagram and LinkedIn, about where the feed folds it), why it waits, who was notified, the decision and the post's state. counts = how many per status. can_decide = whether this caller may decide (only a signed-in dashboard session).

## Query parameters

- `status` 'pending' | 'approved' | 'rejected' | 'canceled'
- `brand_id` string, uuid
- `limit` integer
- `before` string, date-time

## Response `200`

{ approvals: [{ id, status, schedule_id, brand_id, mode: now|scheduled, run_at, platforms, targets, reasons: [{ code, text }], source: { kind, label }, notified, decision, decided_by, decided_via: link|dashboard|requester, decided_at, reminders, next_reminder_at, preview: [{ platform, name, account, text, title, chars, max, over, fold, media }], post: { status, run_at, results, last_error } }], counts: { pending, approved, … }, can_decide }

## Other responses

- `503`: governance_unavailable

---

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