Prosperanova
LoginBlogDocsDevelopersPricingSign up
icon-sun
icon-close
English
Español
Deutsch
Português
Italiano
Français
Русский
Nederlands
ไทย
ελληνικά
中文
Bahasa Indonesia
Türkçe
Polski
한국어
Magyar
Română
Hrvatski jezik
Tiếng Việt
Српски
العربية
Dansk
Svenska
Català
Українська
日本語
Čeština
Prosperanova
Features▼
customer support softwarelive chat for website
BlogDocsDevelopersPricingLoginSign up
icon-sun
icon-close
English
Español
Deutsch
Português
Italiano
Français
Русский
Nederlands
ไทย
ελληνικά
中文
Bahasa Indonesia
Türkçe
Polski
한국어
Magyar
Română
Hrvatski jezik
Tiếng Việt
Српски
العربية
Dansk
Svenska
Català
Українська
日本語
Čeština

Prosperanova API reference

Every endpoint of the Prosperanova REST API, generated from the API itself.

Coupons
List couponsCreate a couponRetrieve a couponUpdate a coupon
Customers
List customersCreate a customerRetrieve a customerUpdate a customer
Invoices
List invoicesRetrieve an invoice
Payment intents
List payment intentsRetrieve a payment intent
Prices
List pricesCreate a priceRetrieve a priceUpdate a price
Products
List productsCreate a productRetrieve a productUpdate a product
Subscriptions
List subscriptionsCreate a subscriptionRetrieve a subscriptionCancel a subscription
Webhook subscriptions
List webhook subscriptionsCreate a webhook subscription

All endpoints are relative to https://api.prosperanova.com. Create an API key in your Prosperanova dashboard, then authenticate every request with it.

apiKey — HTTP Basic auth carrying only the API key secret: Authorization: Basic base64(<key secret>).

accessToken — Operator session token issued by the Prosperanova dashboard: Authorization: Token <access token>.

Download the OpenAPI specification for use with your own tooling.

Coupons

GET/api/coupons

List coupons

Lists the coupons of your organization. Requires the coupons:read scope.

coupons:readapiKeyaccessToken
Parameters
NameInTypeDescription
projectIdquerystring
currencyquerystring
fieldsquerystringComma-separated projection of fields to return
Responses
StatusMeaning
200Array of coupons
401Missing or invalid credentials
403API key is missing the coupons:read scope
429API key rate limit exceeded
POST/api/coupons

Create a coupon

Creates a coupon and fans out a signed coupon.created webhook. Requires the coupons:write scope.

coupons:writeapiKeyaccessToken
Responses
StatusMeaning
200The created coupon
403API key is missing the coupons:write scope
GET/api/coupons/{couponId}

Retrieve a coupon

Retrieves a single coupon by id. Requires the coupons:read scope. Answers 404 if the coupon belongs to another organization.

coupons:readapiKeyaccessToken
Parameters
NameInTypeDescription
couponIdrequiredpathstring
Responses
StatusMeaning
200The coupon
404No such coupon in your organization
PUT/api/coupons/{couponId}

Update a coupon

Updates a coupon and fans out a signed coupon.updated webhook. Requires the coupons:write scope.

coupons:writeapiKeyaccessToken
Parameters
NameInTypeDescription
couponIdrequiredpathstring
Responses
StatusMeaning
200The updated coupon
403API key is missing the coupons:write scope

Customers

GET/api/customers

List customers

Lists the customers of your organization. Requires the customers:read scope.

customers:readapiKeyaccessToken
Parameters
NameInTypeDescription
projectIdquerystring
limitqueryinteger
skipqueryinteger
sortFieldquerystring
sortDirectionquerystring (ASC | DESC)
fieldsquerystringComma-separated projection of fields to return
Responses
StatusMeaning
200Array of customers
401Missing or invalid credentials
403API key is missing the customers:read scope
429API key rate limit exceeded
POST/api/customers

Create a customer

Creates a customer and fans out a signed customer.created webhook. Requires the customers:write scope.

customers:writeapiKeyaccessToken
Request body
FieldTypeDescription
projectIdrequiredstring
emailstring
namestring
phonestring
Responses
StatusMeaning
200The created customer
403API key is missing the customers:write scope
GET/api/customers/{customerId}

Retrieve a customer

Retrieves a single customer by id. Requires the customers:read scope. Answers 404 if the customer belongs to another organization, so ids cannot be probed.

customers:readapiKeyaccessToken
Parameters
NameInTypeDescription
customerIdrequiredpathstring
Responses
StatusMeaning
200The customer
401Missing or invalid credentials
403API key is missing the customers:read scope
404No such customer in your organization
429API key rate limit exceeded
PUT/api/customers/{customerId}

Update a customer

Updates a customer and fans out a signed customer.updated webhook. Requires the customers:write scope.

customers:writeapiKeyaccessToken
Parameters
NameInTypeDescription
customerIdrequiredpathstring
Responses
StatusMeaning
200The updated customer
403API key is missing the customers:write scope

Invoices

GET/api/invoices

List invoices

Lists the invoices of your organization. Requires the invoices:read scope. Invoices are read-only on the public API — they are produced by the billing engine.

invoices:readapiKeyaccessToken
Parameters
NameInTypeDescription
projectIdquerystring
fieldsquerystringComma-separated projection of fields to return
Responses
StatusMeaning
200Array of invoices
403API key is missing the invoices:read scope
429API key rate limit exceeded
GET/api/invoices/{invoiceId}

Retrieve an invoice

Retrieves a single invoice by id. Requires the invoices:read scope. Answers 404 if the invoice belongs to another organization.

invoices:readapiKeyaccessToken
Parameters
NameInTypeDescription
invoiceIdrequiredpathstring
Responses
StatusMeaning
200The invoice
404No such invoice in your organization

Payment intents

GET/api/paymentintents

List payment intents

Lists the payment intents of your organization. Requires the paymentintents:read scope. Payment intents are read-only on the public API — they are produced by the billing engine.

paymentintents:readapiKeyaccessToken
Parameters
NameInTypeDescription
projectIdquerystring
fieldsquerystringComma-separated projection of fields to return
Responses
StatusMeaning
200Array of payment intents
403API key is missing the paymentintents:read scope
429API key rate limit exceeded
GET/api/paymentintents/{paymentintentId}

Retrieve a payment intent

Retrieves a single payment intent by id. Requires the paymentintents:read scope. Answers 404 if it belongs to another organization.

paymentintents:readapiKeyaccessToken
Parameters
NameInTypeDescription
paymentintentIdrequiredpathstring
Responses
StatusMeaning
200The payment intent
404No such payment intent in your organization

Prices

GET/api/prices

List prices

Lists the prices of your organization, optionally filtered by country/currency for localized checkout. Requires the prices:read scope.

prices:readapiKeyaccessToken
Parameters
NameInTypeDescription
projectIdquerystring
currencyquerystring
countryquerystring
fieldsquerystringComma-separated projection of fields to return
Responses
StatusMeaning
200Array of prices
401Missing or invalid credentials
403API key is missing the prices:read scope
429API key rate limit exceeded
POST/api/prices

Create a price

Creates a price and fans out a signed price.created webhook. Requires the prices:write scope.

prices:writeapiKeyaccessToken
Responses
StatusMeaning
200The created price
403API key is missing the prices:write scope
GET/api/prices/{priceId}

Retrieve a price

Retrieves a single price by id. Requires the prices:read scope. Answers 404 if the price belongs to another organization.

prices:readapiKeyaccessToken
Parameters
NameInTypeDescription
priceIdrequiredpathstring
Responses
StatusMeaning
200The price
404No such price in your organization
PUT/api/prices/{priceId}

Update a price

Updates a price and fans out a signed price.updated webhook. Requires the prices:write scope.

prices:writeapiKeyaccessToken
Parameters
NameInTypeDescription
priceIdrequiredpathstring
Responses
StatusMeaning
200The updated price
403API key is missing the prices:write scope

Products

GET/api/products

List products

Lists the products of your organization. Requires the products:read scope.

products:readapiKeyaccessToken
Parameters
NameInTypeDescription
projectIdquerystring
limitqueryinteger
skipqueryinteger
fieldsquerystringComma-separated projection of fields to return
Responses
StatusMeaning
200Array of products
401Missing or invalid credentials
403API key is missing the products:read scope
429API key rate limit exceeded
POST/api/products

Create a product

Creates a product and fans out a signed product.created webhook. Requires the products:write scope.

products:writeapiKeyaccessToken
Responses
StatusMeaning
200The created product
403API key is missing the products:write scope
GET/api/products/{productId}

Retrieve a product

Retrieves a single product by id. Requires the products:read scope. Answers 404 if the product belongs to another organization.

products:readapiKeyaccessToken
Parameters
NameInTypeDescription
productIdrequiredpathstring
Responses
StatusMeaning
200The product
404No such product in your organization
PUT/api/products/{productId}

Update a product

Updates a product and fans out a signed product.updated webhook. Requires the products:write scope.

products:writeapiKeyaccessToken
Parameters
NameInTypeDescription
productIdrequiredpathstring
Responses
StatusMeaning
200The updated product
403API key is missing the products:write scope

Subscriptions

GET/api/subscriptions

List subscriptions

Lists the subscriptions of your organization. Requires the subscriptions:read scope.

subscriptions:readapiKeyaccessToken
Parameters
NameInTypeDescription
projectIdquerystring
limitqueryinteger
skipqueryinteger
fieldsquerystringComma-separated projection of fields to return
Responses
StatusMeaning
200Array of subscriptions
401Missing or invalid credentials
403API key is missing the subscriptions:read scope
429API key rate limit exceeded
POST/api/subscriptions

Create a subscription

Creates a subscription (charging the first period) and fans out a signed subscription.created webhook. Requires the subscriptions:write scope.

subscriptions:writeapiKeyaccessToken
Responses
StatusMeaning
200The created subscription
403API key is missing the subscriptions:write scope
GET/api/subscriptions/{subscriptionId}

Retrieve a subscription

Retrieves a single subscription by id. Requires the subscriptions:read scope. Answers 404 if the subscription belongs to another organization.

subscriptions:readapiKeyaccessToken
Parameters
NameInTypeDescription
subscriptionIdrequiredpathstring
Responses
StatusMeaning
200The subscription
404No such subscription in your organization
POST/api/subscriptions/{subscriptionId}/cancel

Cancel a subscription

Cancels a subscription immediately, or at period end when cancelAtPeriodEnd is true. Fans out subscription.deleted on an immediate cancel. Requires the subscriptions:write scope.

subscriptions:writeapiKeyaccessToken
Parameters
NameInTypeDescription
subscriptionIdrequiredpathstring
Responses
StatusMeaning
200The canceled subscription
403API key is missing the subscriptions:write scope
404No such subscription in your organization

Webhook subscriptions

GET/api/webhooksubscriptions

List webhook subscriptions

Webhook subscriptions deliver billing events to your server as signed POST requests (X-Prosperanova-Signature: t=<timestamp>,v1=<hex HMAC-SHA256 of "timestamp.body">). An endpoint failing 20 times in a row is disabled automatically. Subscriptions are managed with an operator access token; the secret is only returned once, on create.

accessToken
Responses
StatusMeaning
200Array of webhook subscriptions (without secrets)
POST/api/webhooksubscriptions

Create a webhook subscription

The response includes the signing secret exactly once — store it; it cannot be retrieved again.

accessToken
Request body
FieldTypeDescription
projectIdrequiredstring
urlrequiredstring
eventsarray (customer.created | customer.updated | subscription.created | subscription.updated | subscription.deleted | product.created | product.updated | price.created | price.updated | coupon.created | coupon.updated | invoice.created | invoice.updated | paymentintent.succeeded)Empty array subscribes to all events
Responses
StatusMeaning
200The created subscription, including its secret

Language

EnglishEspañolDeutschPortuguêsFrançaisItalianoไทยNederlandsελληνικάBahasa IndonesiaPolskiTürkçe

Resources

StatusBlogDocsPricingDevelopersAPI referencePrivacy Policy

Contact us

info@prosperanova.com

Copyright @ Prosperanova 2023 - 2026