---
title: "Verify an Apple StoreKit receipt and upsert the resulting subscription/entitlement"
method: POST
path: "/billing/apple/verify"
tags: ["Billing"]
---

# Verify an Apple StoreKit receipt and upsert the resulting subscription/entitlement

`POST /billing/apple/verify`

## Request

- Base URL: `https://whatareyoudo.ing/api/v1`
- URL: `https://whatareyoudo.ing/api/v1/billing/apple/verify`
- Auth: HTTP bearer

## Request body

- VerifyAppleReceiptRequest
  - `receipt` string, required

## Response `200`

OK -- {paid: false} for an invalid/expired receipt, not an error

- object
  - `data` object, required
    - `plan` 'free' | 'pro', required
    - `paid` boolean, required
  - `meta` object, required
    - `requestId` string, required

## Other responses

- `503`: Apple verification not configured (APPLE_IAP_SHARED_SECRET unset)

---

[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)
