---
title: "REST API v1 Reference"
permalink: "/docs/api-v1"
description: "RevenueCat REST API v1 reference."
original_source: "openapi-spec/api-v1.yaml"
---

> **AI agents:** This is the Markdown version of a RevenueCat documentation page. For the complete documentation index, see [llms.txt](https://www.revenuecat.com/docs/llms.txt).


# RevenueCat API v1 (1.0)

Download OpenAPI specification:[Download](https://www.revenuecat.com/docs/redocusaurus/openapi-v1.yaml)

> **New to RevenueCat?**
> 
> Welcome! If you're adding subscriptions or other in-app purchases to your app, the RevenueCat SDK will handle most of the heavy-lifting without the need to interact with this API directly. See our [Quickstart](/docs/getting-started/quickstart) for more information on getting started with RevenueCat.

## About RevenueCat’s REST API

RevenueCat provides a REST API for developers to perform customer and transaction related actions from their own server.

Most of this API is geared toward client usage via RevenueCat’s SDK, but there are various endpoints that can be used for refunding purchases, granting promotional entitlements, and other sensitive actions that can only be done via a Secret API key from your server.

## Should I use this REST API or the RevenueCat SDK?

If you’re adding subscriptions or other in-app purchases to your app for the first time or if you don’t have a backend that stores your Customers' receipts, you’re probably looking to implement the [RevenueCat SDK](/docs/getting-started/installation).

If you want to start migrating your existing users to RevenueCat and you have your Customers' receipts stored on your own server, or you want to check subscription status of your users from your own server, the REST API is a great solution.

## Base URL

The base URL for the RevenueCat REST API is `https://api.revenuecat.com/v1`.

## Authentication

Authentication for the RevenueCat REST API is achieved by setting the `Authorization` header with a valid API key. You'll find two types of API keys in your RevenueCat dashboard: _public_ and _secret_.

Certain endpoints require secret keys, which should be kept out of any publicly accessible areas such as GitHub, client-side code, and so forth. See our [Authentication guide](/docs/welcome/authentication/) for more information.

```text
Authorization: Bearer YOUR_REVENUECAT_API_KEY
```

## Making requests

## Request Payload

The body of the `POST` requests should be encoded in JSON and have the 'Content-Type' header set to 'application/json'.

```text
Content-Type: application/json
```

```json
{
  "app_user_id": "user-1456",
  "fetch_token": "MQABC...EFH1234="
}
```

## URL parameters

For URL params, such as the `app_user_id`, make sure you URL encode them before using them.

## <a id="tag/Endpoint-Reference"></a>Endpoint Reference

Each resource below has its own page.

-   [Customer Info Model](/docs/api-v1/customer-info-model) — full schema reference
-   [Customers](/docs/api-v1/customers) — 4 endpoints
-   [Entitlements](/docs/api-v1/entitlements) — 2 endpoints
-   [Offerings](/docs/api-v1/offerings) — 3 endpoints
-   [Offerings Model](/docs/api-v1/offerings-model) — full schema reference
-   [Transactions](/docs/api-v1/transactions) — 6 endpoints
