The Billing API covers the full invoicing workflow for La Oficina Nítida: customer management (with Colombian fiscal data), a product/service catalogue, and invoice lifecycle management. All data is strictly scoped to the authenticated tenant. TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Glemynart/SaaS/llms.txt
Use this file to discover all available pages before exploring further.
numero field on an invoice is provided by the client in the request body.
Enumerations
Customer status — CustomerStatus
| Value | Description |
|---|---|
ACTIVE | Active customer |
INACTIVE | Inactive customer |
Invoice status — InvoiceStatus
| Value | Description |
|---|---|
DRAFT | Draft — editable, not yet transmitted |
ISSUED | Issued — transmitted and accepted |
CANCELLED | Cancelled — terminal state, no further modification |
Dashboard
Get billing dashboard
Response
Count of customers with status
ACTIVE.Count of invoices with status
ISSUED.Count of invoices with status
DRAFT.Sum of
total across all ISSUED invoices (Colombian pesos).Equivalent to
ingresosEstimados — total value of all issued invoices.Customers
List customers
razonSocial.
Query parameters
Case-insensitive partial match against
razonSocial or exact prefix match against nit.Create a customer
nit must be unique within the tenant.
Required roles: ADMIN, OPERADOR
Request body
Legal business name or full name of the customer.
Colombian NIT (without check digit) or national ID number. Must be unique per tenant.
Contact email address. Used for automatic invoice delivery.
Contact phone number.
Postal address.
Response
Returns the createdCustomer object including the server-assigned id, status: "ACTIVE", and createdAt.
Get a customer
Path parameters
UUID of the customer.
Update a customer
ADMIN, OPERADOR
Path parameters
UUID of the customer to update.
Request body
Updated legal name.
Updated NIT. Must remain unique within the tenant.
Updated email address.
Updated phone number.
Updated postal address.
Customer lifecycle status. Accepted values:
ACTIVE, INACTIVE.Delete a customer
ADMIN
Path parameters
UUID of the customer to delete.
Products & services
List products
nombre.
Query parameters
Case-insensitive partial match against
nombre.Create a product
ADMIN
Request body
Display name of the product or service.
Optional extended description.
Base unit price in Colombian pesos (COP). Must be ≥ 0.
Tax rate percentage to apply on this product (e.g.
19 for 19 % IVA). Must be ≥ 0.Response
Returns the created product includingid, activo: true, and createdAt.
Get a product
Path parameters
UUID of the product.
Update a product
ADMIN
Path parameters
UUID of the product to update.
Request body
Updated product name.
Updated description.
Updated unit price. Must be ≥ 0.
Updated tax rate percentage. Must be ≥ 0.
Set to
false to deactivate a product from the catalogue.Invoices
List invoices
createdAt descending. Each result includes the customer’s razonSocial and nit, and a count of line items.
Query parameters
Filter by invoice status. Accepted values:
DRAFT, ISSUED, CANCELLED.Create an invoice
subtotal, impuestos, and total server-side. The customerId must belong to the same tenant.
Required roles: ADMIN, OPERADOR
Request body
UUID of an existing customer within the tenant.
Invoice number string (e.g.
"FV-0042"). See the warning below regarding numbering.One or more line items. Must not be empty.
Response
Returns the created invoice object including computedsubtotal, impuestos, total, embedded items, and the customer’s razonSocial and nit.
The
numero field is a client-supplied string (e.g. "FV-0042"). Ensure your client generates unique, non-conflicting invoice numbers — the server does not auto-assign or validate uniqueness of this field.Get an invoice
Path parameters
UUID of the invoice.
Update invoice status
CANCELLED invoice cannot be modified further and will return 400 Bad Request.
Required role: ADMIN
Path parameters
UUID of the invoice.
Request body
Target status. Accepted values:
DRAFT, ISSUED, CANCELLED.