---
title: "Apply a finished hosted Checkout without waiting for the webhook"
method: POST
path: "/billing/checkout-session/{sessionId}/sync"
tags: ["Billing"]
---

# Apply a finished hosted Checkout without waiting for the webhook

`POST /billing/checkout-session/{sessionId}/sync`

## Request

- Base URL: `https://whatareyoudo.ing/api/v1`
- URL: `https://whatareyoudo.ing/api/v1/billing/checkout-session/{sessionId}/sync`
- Auth: HTTP bearer

Called the moment the browser lands back on the loopback, so a paying customer is not shown a Free plan while checkout.session.completed is still in flight. This and the webhook write the same rows and both upsert, so whichever arrives first wins.

## Path parameters

- `sessionId` string, required

## Response `200`

OK

- object
  - `data` object, required
    - `applied` boolean, required
    - `plan` string, required
  - `meta` object, required
    - `requestId` string, required

---

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