Skip to main content

CREEM API Reference

Complete API reference with all endpoints, request/response schemas, and field descriptions.

Base Configuration

Authentication

All requests require the x-api-key header:
API keys are found in the dashboard under Settings > API Keys. Test and production use different keys.

Checkouts API

Create Checkout Session

Creates a new checkout session and returns a URL to redirect the customer.
Request Body: Custom Fields Schema:
Response: CheckoutEntity

Retrieve Checkout

Query Parameters: Response: Full CheckoutEntity with expanded product, customer, order, subscription, and feature objects if checkout is completed.

Products API

Create Product

Request Body: Response: ProductEntity

Retrieve Product

List Products

Query Parameters: Response: ProductListEntity

Customers API

Retrieve Customer

Retrieve by ID or email (provide one, not both). Response: CustomerEntity

List Customers

Request Body:
Response:

Subscriptions API

Retrieve Subscription

Response: SubscriptionEntity
Subscription Statuses:
  • active - Currently active and paid
  • trialing - In trial period
  • paused - Temporarily paused
  • canceled - Canceled (terminal)
  • unpaid - Payment failed
  • scheduled_cancel - Will cancel at period end

Update Subscription

Request Body:
Update Behaviors:
  • proration-charge-immediately - Charge prorated amount now, new billing cycle starts
  • proration-charge - Credit added to next invoice, same billing cycle
  • proration-none - No proration, change at next cycle

Upgrade Subscription

Request Body:

Cancel Subscription

Request Body:
Options:
  • mode: immediate (cancel now) or scheduled (at period end)
  • onExecute: cancel or pause (only for scheduled mode)

Pause Subscription

No request body required.

Resume Subscription

No request body required.

Licenses API

Activate License

Request Body:
Response: LicenseEntity
License Statuses:
  • active - Valid and usable
  • inactive - No activations yet
  • expired - Past expiration date
  • disabled - Manually disabled

Validate License

Request Body:

Deactivate License

Request Body:

Discounts API

Create Discount

Request Body:
Fields: Response: DiscountEntity

Retrieve Discount

Delete Discount


Transactions API

Get Transaction

Response: TransactionEntity
Transaction Types:
  • payment - One-time payment
  • invoice - Subscription payment
Transaction Statuses:
  • paid - Successfully paid
  • refunded - Fully refunded
  • partially_refunded - Partially refunded
  • chargeback - Disputed

List Transactions

Query Parameters:

Common Entities

OrderEntity

PaginationEntity

EnvironmentMode

Values: test, prod, sandbox

HTTP Response Codes


Rate Limits

Contact support for specific rate limits. Implement exponential backoff for 429 responses.

Idempotency

Use request_id for checkout sessions to prevent duplicate payments if retrying failed requests.