---
title: "Restore Purchases"
method: POST
path: "/iap/restore-purchases"
tags: ["Restore"]
---

# Restore Purchases

`POST /iap/restore-purchases`

Restores purchases for a user by linking entitlements from a previous identity (matched by email) to the current user ID. Useful when a user reinstalls the app or signs in on a new device.

## Request body

- object
  - `email` string, required — The user's email address to match against previous purchases.
  - `user_id` string, required — The user's current external ID to restore purchases to.

## Response `200`

Purchases restored

- object
  - `status` string
  - `restored_count` integer — Number of entitlements restored.

## Other responses

- `400` — Invalid request -- missing or malformed parameters.
- `401` — Invalid or missing API key.

## Changes

- **2026-03-22** `8c7fa6fb5be3` — 1 info
  - endpoint added
- **2025-12-11** `919eb7a392aa` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/zerosettle/apis/zerosettle-iap-api/changes/iap/restore-purchases/post.md)

---

[API](https://skmtc.dev/zerosettle/apis/zerosettle-iap-api.md) · [All operations](https://skmtc.dev/zerosettle/apis/zerosettle-iap-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zerosettle/zerosettle-iap-api/revisions/1a7aa12f3d5e/schema)
