Product) is used to group and categorize your charges (debts, subscriptions, and payment links). Its use is completely optional: you can charge without associating any product.
You use it when you want to report your charges by product or service line, for example “Plan Premium”, “Gym monthly fee”, or “Internet 100MB”.
Natural key: name
The name is the product’s natural key and is unique per organization. Creating a product with a name that already exists does not generate a duplicate or an error: it returns the existing product.
That is why
POST /products is idempotent by design: repeating the same name always returns the same product. You do not need to check beforehand whether it already exists.Create a product
The
productId is the identifier in the system, exposed as a string without a prefix.Inline creation (productName)
You do not need to create the product in advance. You can send it inline when creating a debt, subscription, or payment link with the productName field. If the name does not exist, it is created; if it already exists, it is reused without duplicating it.
createdInline field is true if the product was created in that same request, and false if it already existed and was reused.
Activate and deactivate
boolean
default:"true"
Status of the product. An inactive product cannot be associated with new charges.
DELETE /products/{id} performs a soft delete: it sets active: false without deleting the product, so the history is preserved. Associating an inactive product with a new charge returns 422 BUSINESS_RULE_VIOLATION.
Endpoints
Try it in the API Reference
Explore each endpoint with its interactive playground.

