Skip to main content
The Products API lets you list your product catalogue, import or create new products, fetch the details of a specific product, and retrieve the Pagar.me public key needed for client-side card tokenization. All endpoints are relative to the base URL https://pay.nova.money/api/v1.

List products

This endpoint requires an API key passed in the request headers.
Retrieve all products in your account. You can search by name and optionally include soft-deleted products.

Query parameters

q
string
Free-text search string. Filters products by name.
deleted
boolean
When true, includes soft-deleted products in the response. Defaults to false.

Response — array of ProductSummary

id
integer
Unique numeric ID of the product.
name
string
Product display name.
type
string
Product type (e.g., digital, physical, service).
company_id
integer
ID of the company that owns this product.
value
number
Base price of the product.
deleted
boolean
Whether the product has been soft-deleted.
subscription
boolean
Whether the product is sold as a recurring subscription.

Example response


Create a product

This endpoint requires an API key passed in the request headers.
Import or create a new product in your Nova.Pay account. Use this to programmatically sync your product catalogue.

Request body

name
string
required
Product display name.
value
number
required
Base price of the product in the account currency.
short_description
string
Brief description shown on checkout pages.
tax_description
string
Tax-related description for invoice generation.
unit_name
string
Label for the unit of sale (e.g., license, seat, box).
weight
number
Product weight in grams. Required for physical products that use shipping calculation.
ncm
string
Nomenclatura Comum do Mercosul (NCM) code for fiscal classification of physical goods.
company_id
integer
ID of the company to assign this product to. Defaults to the authenticated account’s primary company.
financial_account_id
integer
ID of the financial account to associate with this product for revenue tracking.
tax_configuration_id
integer
ID of the tax configuration to apply to this product for invoice generation.
external_id
string
Your internal identifier for this product. Useful for syncing with external systems.

Response — ProductCreateResponse

id
integer
Unique numeric ID of the newly created product.
name
string
Product display name.
description
string
Full product description.
value
number
Base price of the product.
tax_description
string
Tax-related description stored on the product.
ncm
string
NCM fiscal classification code.
unit
object
Unit configuration for this product (includes name and related settings).
company
object
The company that owns this product (includes id and name).
tax_configuration
object
Tax configuration applied to this product, if set.
financial_account
object
Financial account associated with this product, if set.

Retrieve a product

Fetch the public details of a single product by its ID. This endpoint is public and does not require an API key, making it suitable for use directly from your frontend.

Path parameters

id
integer
required
The numeric ID of the product to retrieve.

Response — ProductShow

id
integer
Unique numeric ID of the product.
name
string
Product display name.
description
string
Full product description.
subscription
boolean
Whether the product is sold as a recurring subscription.
value
number
Base price of the product.
weight
number
Product weight in grams. Only present when a weight has been set.
image
string
URL of the product image. Only present when an image has been attached.

Get Pagar.me public key

Retrieve the Pagar.me public key associated with this product. Use this key to initialize the Pagar.me.js client on your checkout page for secure client-side card tokenization — the raw card data never touches your server.

Path parameters

id
integer
required
The numeric ID of the product whose Pagar.me configuration you want to retrieve.

Response

public_key
string
The Pagar.me publishable key (prefixed pk_) for client-side tokenization.

Example response

Pass this public_key to PagarMe.client(publicKey) in your browser code to tokenize card details before submitting the payment form. Never send raw card numbers to your own server.