---
title: "Sync Portal Payment"
method: POST
path: "/api/v1/portal/{token}/invoices/{invoice_id}/sync"
tags: ["portal", "portal"]
---

# Sync Portal Payment

`POST /api/v1/portal/{token}/invoices/{invoice_id}/sync`

## Request

- Base URL: `https://api.peil.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.peil.app/api/v1/portal/{token}/invoices/{invoice_id}/sync`
- Auth: none declared

Reconcile one invoice's Mollie payment on demand — called by the portal
when the client returns from checkout, so the status flips without waiting on
the async webhook (and works locally where no webhook is delivered).

## Path parameters

- `token` string, required
- `invoice_id` integer, required

## Query parameters

- `slug` string, nullable

## Response `200`

Successful Response

- SyncResponse
  - `status` string, required
  - `paid` boolean, required

## Other responses

- `422`: Validation Error

---

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