Lago
Lago offers a self-hosted and cloud, scalable and modular architecture for metering and usage-based billing, at every stage of your company.
1 APIs
0 Features
BillingMeteringOpen SourceUsage-Based
APIs
Lago API
Lago's API for metering and usage-based billing, providing programmatic access to customers, subscriptions, events, and invoices.
Collections
Pricing Plans
Rate Limits
FinOps
Lago Finops
FINOPSResources
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
👥
GitHubOrganization
GitHubOrganization
🔗
AgentSkills
AgentSkills
🔗
LlmsText
LlmsText
Sources
opencollection: 1.0.0
info:
name: Lago API documentation
version: 1.15.0
request:
auth:
type: bearer
token: '{{bearerToken}}'
items:
- info:
name: Add_ons
type: folder
items:
- info:
name: Lago List all add-ons
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/add_ons
params:
- name: page
value: ''
type: query
description: Page number.
- name: per_page
value: ''
type: query
description: Number of records per page.
docs: This endpoint is used to list all existing add-ons.
- info:
name: Lago Create an add-on
type: http
http:
method: POST
url: https://api.getlago.com/api/v1/add_ons
body:
type: json
data: '{}'
docs: This endpoint is used to create an add-on that can be then attached to a one-off invoice.
- info:
name: Lago Retrieve an add-on
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/add_ons/:code
params:
- name: code
value: ''
type: path
description: Unique code used to identify the add-on.
docs: This endpoint is used to retrieve a specific add-on.
- info:
name: Lago Update an add-on
type: http
http:
method: PUT
url: https://api.getlago.com/api/v1/add_ons/:code
params:
- name: code
value: ''
type: path
description: Unique code used to identify the add-on.
body:
type: json
data: '{}'
docs: This endpoint is used to update an existing add-on.
- info:
name: Lago Delete an add-on
type: http
http:
method: DELETE
url: https://api.getlago.com/api/v1/add_ons/:code
params:
- name: code
value: ''
type: path
description: Unique code used to identify the add-on.
docs: This endpoint is used to delete an existing add-on.
- info:
name: Analytics
type: folder
items:
- info:
name: Lago List gross revenue
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/analytics/gross_revenue
params:
- name: currency
value: ''
type: query
description: Currency of revenue analytics. Format must be ISO 4217.
- name: external_customer_id
value: ''
type: query
description: The customer external unique identifier (provided by your own application). Use it to filter revenue
analytics at the customer level.
- name: months
value: ''
type: query
description: Show data only for given number of months.
docs: Gross revenue is the sum of monthly `finalized` invoice payments and fees paid in advance that are not invoiceable.
This total is calculated after deducting taxes and discounts.
- info:
name: Lago List of finalized invoices
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/analytics/invoice_collection
params:
- name: currency
value: ''
type: query
description: The currency of revenue analytics. Format must be ISO 4217.
- name: months
value: ''
type: query
description: Show data only for given number of months.
docs: Represents a monthly aggregation, detailing both the total count and the cumulative amount of invoices that have
been marked as `finalized`. This report sorts invoices categorically based on their `payment_status`.
- info:
name: Lago List usage revenue
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/analytics/invoiced_usage
params:
- name: currency
value: ''
type: query
description: The currency of invoiced usage analytics. Format must be ISO 4217.
- name: months
value: ''
type: query
description: Show data only for given number of months.
docs: Reports a monthly analysis focused on the revenue generated from all usage-based fees. It exclusively accounts for
revenue that has been formally invoiced. Importantly, this report does not include revenue related to the usage in the
current billing period, limiting its scope to previously invoiced amounts.
- info:
name: Lago List MRR
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/analytics/mrr
params:
- name: currency
value: ''
type: query
description: 'Quantifies the revenue generated from `subscription` fees on a monthly basis. This figure is calculated
post-application of applicable taxes and deduction of any applicable discounts. The method of calculation varies
based on the subscription billing cycle:
- Revenue from `monthly` subscription invoices is included in the MRR for the month in which the invoice is issued.
- Revenue from `quarterly` subscription invoices is distributed evenly over three months. This distribution applies
to fees paid in advance (allocated to the next remaining months depending on calendar or anniversary billing) as
well as to fees paid in arrears (allocated to the preceding months depending on calendar or anniversary billing).
- Revenue from `yearly` subscription invoices is distributed evenly over twelve months. This allocation is applicable
for fees paid in advance (spread over the next remaining months depending on calendar or anniversary billing) and
for fees paid in arrears (spread over the previous months depending on calendar or anniversary billing).
- Revenue from `weekly` subscription invoices, the total revenue from all invoices issued within a month is summed
up. This total is then divided by the number of invoices issued during that month, and the result is multiplied
by 4.33, representing the average number of weeks in a month.'
- name: months
value: ''
type: query
description: Show data only for given number of months.
docs: This endpoint is used to list MRR.
- info:
name: Lago List overdue balance
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/analytics/overdue_balance
params:
- name: currency
value: ''
type: query
description: Currency of revenue analytics. Format must be ISO 4217.
- name: external_customer_id
value: ''
type: query
description: The customer external unique identifier (provided by your own application). Use it to filter revenue
analytics at the customer level.
- name: months
value: ''
type: query
description: Show data only for given number of months.
docs: Overdue balance is the total amount associated with overdue invoices (invoices with pending or failed payments which
are past their due dates).
- info:
name: Coupons
type: folder
items:
- info:
name: Lago List all applied coupons
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/applied_coupons
params:
- name: page
value: ''
type: query
description: Page number.
- name: per_page
value: ''
type: query
description: Number of records per page.
- name: status
value: ''
type: query
description: The status of the coupon. Can be either `active` or `terminated`.
- name: external_customer_id
value: ''
type: query
description: The customer external unique identifier (provided by your own application)
docs: This endpoint is used to list all applied coupons. You can filter by coupon status and by customer.
- info:
name: Lago Apply a coupon to a customer
type: http
http:
method: POST
url: https://api.getlago.com/api/v1/applied_coupons
body:
type: json
data: '{}'
docs: This endpoint is used to apply a specific coupon to a customer, before or during a subscription.
- info:
name: Lago List all coupons
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/coupons
params:
- name: page
value: ''
type: query
description: Page number.
- name: per_page
value: ''
type: query
description: Number of records per page.
docs: This endpoint is used to list all existing coupons.
- info:
name: Lago Create a coupon
type: http
http:
method: POST
url: https://api.getlago.com/api/v1/coupons
body:
type: json
data: '{}'
docs: This endpoint is used to create a coupon that can be then attached to a customer to create a discount.
- info:
name: Lago Retrieve a coupon
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/coupons/:code
params:
- name: code
value: ''
type: path
description: Unique code used to identify the coupon.
docs: This endpoint is used to retrieve a specific coupon.
- info:
name: Lago Update a coupon
type: http
http:
method: PUT
url: https://api.getlago.com/api/v1/coupons/:code
params:
- name: code
value: ''
type: path
description: Unique code used to identify the coupon.
body:
type: json
data: '{}'
docs: This endpoint is used to update a coupon that can be then attached to a customer to create a discount.
- info:
name: Lago Delete a coupon
type: http
http:
method: DELETE
url: https://api.getlago.com/api/v1/coupons/:code
params:
- name: code
value: ''
type: path
description: Unique code used to identify the coupon.
docs: This endpoint is used to delete a coupon.
- info:
name: Lago Delete an applied coupon
type: http
http:
method: DELETE
url: https://api.getlago.com/api/v1/customers/:external_customer_id/applied_coupons/:applied_coupon_id
params:
- name: external_customer_id
value: ''
type: path
description: The customer external unique identifier (provided by your own application)
- name: applied_coupon_id
value: ''
type: path
description: Unique identifier of the applied coupon, created by Lago.
docs: This endpoint is used to delete a specific coupon that has been applied to a customer.
- info:
name: Billable_metrics
type: folder
items:
- info:
name: Lago List all billable metrics
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/billable_metrics
params:
- name: page
value: ''
type: query
description: Page number.
- name: per_page
value: ''
type: query
description: Number of records per page.
docs: This endpoint retrieves all existing billable metrics that represent pricing components of your application.
- info:
name: Lago Create a billable metric
type: http
http:
method: POST
url: https://api.getlago.com/api/v1/billable_metrics
body:
type: json
data: '{}'
docs: This endpoint creates a new billable metric representing a pricing component of your application.
- info:
name: Lago Evaluate an expression for a billable metric
type: http
http:
method: POST
url: https://api.getlago.com/api/v1/billable_metrics/evaluate_expression
body:
type: json
data: '{}'
docs: Evaluate an expression for a billable metric creation by providing the expression and test data
- info:
name: Lago Retrieve a billable metric
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/billable_metrics/:code
params:
- name: code
value: ''
type: path
description: Code of the existing billable metric.
docs: This endpoint retrieves an existing billable metric that represents a pricing component of your application. The
billable metric is identified by its unique code.
- info:
name: Lago Update a billable metric
type: http
http:
method: PUT
url: https://api.getlago.com/api/v1/billable_metrics/:code
params:
- name: code
value: ''
type: path
description: Code of the existing billable metric.
body:
type: json
data: '{}'
docs: This endpoint updates an existing billable metric representing a pricing component of your application.
- info:
name: Lago Delete a billable metric
type: http
http:
method: DELETE
url: https://api.getlago.com/api/v1/billable_metrics/:code
params:
- name: code
value: ''
type: path
description: Code of the existing billable metric.
docs: This endpoint deletes an existing billable metric representing a pricing component of your application.
- info:
name: Credit_notes
type: folder
items:
- info:
name: Lago List all credit notes
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/credit_notes
params:
- name: page
value: ''
type: query
description: Page number.
- name: per_page
value: ''
type: query
description: Number of records per page.
- name: external_customer_id
value: ''
type: query
description: Unique identifier assigned to the customer in your application.
docs: This endpoint list all existing credit notes.
- info:
name: Lago Create a credit note
type: http
http:
method: POST
url: https://api.getlago.com/api/v1/credit_notes
body:
type: json
data: '{}'
docs: This endpoint creates a new credit note.
- info:
name: Lago Retrieve a credit note
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/credit_notes/:lago_id
params:
- name: lago_id
value: ''
type: path
description: The credit note unique identifier, created by Lago.
docs: This endpoint retrieves an existing credit note.
- info:
name: Lago Update a credit note
type: http
http:
method: PUT
url: https://api.getlago.com/api/v1/credit_notes/:lago_id
params:
- name: lago_id
value: ''
type: path
description: The credit note unique identifier, created by Lago.
body:
type: json
data: '{}'
docs: This endpoint updates an existing credit note.
- info:
name: Lago Download a credit note PDF
type: http
http:
method: POST
url: https://api.getlago.com/api/v1/credit_notes/:lago_id/download
params:
- name: lago_id
value: ''
type: path
description: The credit note unique identifier, created by Lago.
docs: This endpoint downloads the PDF of an existing credit note.
- info:
name: Lago Estimate amounts for a new credit note
type: http
http:
method: POST
url: https://api.getlago.com/api/v1/credit_notes/estimate
body:
type: json
data: '{}'
docs: This endpoint allows you to retrieve amounts for a new credit note creation.
- info:
name: Lago Void available credit
type: http
http:
method: PUT
url: https://api.getlago.com/api/v1/credit_notes/:lago_id/void
params:
- name: lago_id
value: ''
type: path
description: The credit note unique identifier, created by Lago.
docs: This endpoint voids the available credit linked to a specific credit note.
- info:
name: Customers
type: folder
items:
- info:
name: Lago List all customers
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/customers
params:
- name: page
value: ''
type: query
description: Page number.
- name: per_page
value: ''
type: query
description: Number of records per page.
docs: This endpoint retrieves all existing customers.
- info:
name: Lago Create a customer
type: http
http:
method: POST
url: https://api.getlago.com/api/v1/customers
body:
type: json
data: '{}'
docs: This endpoint creates a new customer.
- info:
name: Lago Retrieve a customer
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/customers/:external_id
params:
- name: external_id
value: ''
type: path
description: External ID of the existing customer
docs: This endpoint retrieves an existing customer.
- info:
name: Lago Delete a customer
type: http
http:
method: DELETE
url: https://api.getlago.com/api/v1/customers/:external_id
params:
- name: external_id
value: ''
type: path
description: External ID of the existing customer
docs: This endpoint deletes an existing customer.
- info:
name: Lago Get a customer portal URL
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/customers/:external_customer_id/portal_url
params:
- name: external_customer_id
value: ''
type: path
description: External ID of the existing customer
docs: 'Retrieves an embeddable link for displaying a customer portal.
This endpoint allows you to fetch the URL that can be embedded to provide customers access to a dedicated portal'
- info:
name: Lago Retrieve customer current usage
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/customers/:external_customer_id/current_usage
params:
- name: external_customer_id
value: ''
type: path
description: The customer external unique identifier (provided by your own application).
- name: external_subscription_id
value: ''
type: query
description: The unique identifier of the subscription within your application.
docs: This endpoint enables the retrieval of the usage-based billing data for a customer within the current period.
- info:
name: Lago Retrieve customer past usage
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/customers/:external_customer_id/past_usage
params:
- name: page
value: ''
type: query
description: Page number.
- name: per_page
value: ''
type: query
description: Number of records per page.
- name: external_customer_id
value: ''
type: path
description: The customer external unique identifier (provided by your own application).
- name: external_subscription_id
value: ''
type: query
description: The unique identifier of the subscription within your application.
- name: billable_metric_code
value: ''
type: query
description: Billable metric code filter to apply to the charge usage
- name: periods_count
value: ''
type: query
description: Number of past billing period to returns in the result
docs: This endpoint enables the retrieval of the usage-based billing data for a customer within past periods.
- info:
name: Lago Generate a Customer Payment Provider Checkout URL
type: http
http:
method: POST
url: https://api.getlago.com/api/v1/customers/:external_customer_id/checkout_url
params:
- name: external_customer_id
value: ''
type: path
description: The customer external unique identifier (provided by your own application).
docs: This endpoint regenerates the Payment Provider Checkout URL of a Customer.
- info:
name: Events
type: folder
items:
- info:
name: Lago List all events
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/events
params:
- name: page
value: ''
type: query
description: Page number.
- name: per_page
value: ''
type: query
description: Number of records per page.
- name: external_subscription_id
value: ''
type: query
description: External subscription ID
- name: code
value: ''
type: query
description: Filter events by its code.
- name: timestamp_from
value: ''
type: query
description: Filter events by timestamp starting from a specific date.
- name: timestamp_to
value: ''
type: query
description: Filter events by timestamp up to a specific date.
docs: This endpoint is used for retrieving all events.
- info:
name: Lago Send usage events
type: http
http:
method: POST
url: https://api.getlago.com/api/v1/events
body:
type: json
data: '{}'
docs: This endpoint is used for transmitting usage measurement events to either a designated customer or a specific subscription.
- info:
name: Lago Batch multiple events
type: http
http:
method: POST
url: https://api.getlago.com/api/v1/events/batch
body:
type: json
data: '{}'
docs: This endpoint can be used to send a batch of usage records. Each request may include up to 100 events.
- info:
name: Lago Estimate fees for a pay in advance charge
type: http
http:
method: POST
url: https://api.getlago.com/api/v1/events/estimate_fees
body:
type: json
data: '{}'
docs: Estimate the fees that would be created after reception of an event for a billable metric attached to one or multiple
pay in advance charges
- info:
name: Lago Retrieve a specific event
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/events/:transaction_id
params:
- name: transaction_id
value: ''
type: path
description: This field represents the unique identifier sent for this specific event (must be URL encoded).
docs: This endpoint is used for retrieving a specific usage measurement event that has been sent to a customer or a subscription.
- info:
name: Fees
type: folder
items:
- info:
name: Lago List all fees
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/fees
params:
- name: page
value: ''
type: query
description: Page number.
- name: per_page
value: ''
type: query
description: Number of records per page.
- name: external_customer_id
value: ''
type: query
description: Unique identifier assigned to the customer in your application.
- name: external_subscription_id
value: ''
type: query
description: External subscription ID
- name: currency
value: ''
type: query
description: Filter results by fee's currency.
- name: fee_type
value: ''
type: query
description: The fee type. Possible values are `add-on`, `charge`, `credit` or `subscription`.
- name: billable_metric_code
value: ''
type: query
description: Filter results by the `code` of the billable metric attached to the fee. Only applies to `charge` types.
- name: payment_status
value: ''
type: query
description: Indicates the payment status of the fee. It represents the current status of the payment associated with
the fee. The possible values for this field are `pending`, `succeeded`, `failed` and refunded`.
- name: created_at_from
value: ''
type: query
description: Filter results created after creation date and time in UTC.
- name: created_at_to
value: ''
type: query
description: Filter results created before creation date and time in UTC.
- name: succeeded_at_from
value: ''
type: query
description: Filter results with payment success after creation date and time in UTC.
- name: succeeded_at_to
value: ''
type: query
description: Filter results with payment success after creation date and time in UTC.
- name: failed_at_from
value: ''
type: query
description: Filter results with payment failure after creation date and time in UTC.
- name: failed_at_to
value: ''
type: query
description: Filter results with payment failure after creation date and time in UTC.
- name: refunded_at_from
value: ''
type: query
description: Filter results with payment refund after creation date and time in UTC.
- name: refunded_at_to
value: ''
type: query
description: Filter results with payment refund after creation date and time in UTC.
docs: This endpoint is used for retrieving all fees that has been issued.
- info:
name: Lago Retrieve a specific fee
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/fees/:lago_id
params:
- name: lago_id
value: ''
type: path
description: Unique identifier assigned to the fee within the Lago application. This ID is exclusively created by
Lago and serves as a unique identifier for the fee's record within the Lago system.
docs: This endpoint is used for retrieving a specific fee that has been issued.
- info:
name: Lago Update a fee
type: http
http:
method: PUT
url: https://api.getlago.com/api/v1/fees/:lago_id
params:
- name: lago_id
value: ''
type: path
description: Unique identifier assigned to the fee within the Lago application. This ID is exclusively created by
Lago and serves as a unique identifier for the fee's record within the Lago system.
body:
type: json
data: '{}'
docs: This endpoint is used for updating a specific fee that has been issued.
- info:
name: Lago Delete a fee
type: http
http:
method: DELETE
url: https://api.getlago.com/api/v1/fees/:lago_id
params:
- name: lago_id
value: ''
type: path
description: Unique identifier assigned to the fee within the Lago application. This ID is exclusively created by
Lago and serves as a unique identifier for the fee's record within the Lago system.
docs: This endpoint is used for deleting a specific fee that has not yet been invoiced
- info:
name: Invoices
type: folder
items:
- info:
name: Lago List all invoices
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/invoices
params:
- name: page
value: ''
type: query
description: Page number.
- name: per_page
value: ''
type: query
description: Number of records per page.
- name: external_customer_id
value: ''
type: query
description: Unique identifier assigned to the customer in your application.
- name: issuing_date_from
value: ''
type: query
description: Filter invoices starting from a specific date.
- name: issuing_date_to
value: ''
type: query
description: Filter invoices up to a specific date.
- name: status
value: ''
type: query
description: Filter invoices by status. Possible values are `draft` or `finalized`.
- name: payment_status
value: ''
type: query
description: Filter invoices by payment status. Possible values are `pending`, `failed` or `succeeded`.
- name: payment_overdue
value: ''
type: query
description: Filter invoices by payment_overdue. Possible values are `true` or `false`.
- name: search_term
value: ''
type: query
description: Search invoices by id, number, customer name, customer external_id or customer email.
- name: currency
value: ''
type: query
description: Filter invoices by currency in. Possible values ISO 4217 currency codes.
- name: payment_dispute_lost
value: ''
type: query
description: Filter invoices with a payment dispute lost. Possible values are `true` or `false`.
- name: invoice_type
value: ''
type: query
description: Filter invoices by invoice type. Possible values are `subscription`, `add_on`, `credit`, `one_off` or
`advance_charges`
docs: This endpoint is used for retrieving all invoices.
- info:
name: Lago Create a one-off invoice
type: http
http:
method: POST
url: https://api.getlago.com/api/v1/invoices
body:
type: json
data: '{}'
docs: This endpoint is used for issuing a one-off invoice.
- info:
name: Lago Retrieve an invoice
type: http
http:
method: GET
url: https://api.getlago.com/api/v1/invoices/:lago_id
params:
- name: lago_id
value: ''
type: path
description: Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created
by Lago and serves as a unique identifier for the invoice's record within the Lago system.
docs: This endpoint is used for retrieving a specific invoice that has been issued.
- info:
name: Lago Update an invoice
type: http
http:
method: PUT
url: https://api.getlago.com/api/v1/invoices/:lago_id
params:
- name: lago_id
value: ''
type: path
description: Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created
by Lago and serves as a unique identifier for the invoice's record within the Lago system.
body:
type: json
data: '{}'
docs: This endpoint is used for updating an existing invoice.
- info:
name: Lago Download an invoice PDF
type: http
http:
method: POST
url: https://api.getlago.com/api/v1/invoices/:lago_id/download
params:
- name: lago_id
value: ''
type: path
description: Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created
by Lago and serves as a unique identifier for the invoice's record within the Lago system.
docs: This endpoint is used for downloading a specific invoice PDF document.
- info:
name: Lago Finalize a draft invoice
type: http
http:
method: PUT
url: https://api.getlago.com/api/v1/invoices/:lago_id/finalize
params:
- name: lago_id
value: ''
type: path
description: Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created
by Lago and serves as a unique identifier for the invoice's record within the Lago system.
docs: This endpoint is used for finalizing a draft invoice.
- info:
name: Lago Mark an invoice payment dispute as lost
type: http
http:
method: POST
url: https://api.getlago.com/api/v1/invoices/:lago_id/lose_dispute
params:
- name: lago_id
value: ''
type: path
description: Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created
by Lago and serves as a unique identifier for the invoice's record within the Lago system.
docs: This endpoint is used for setting invoice's payment dispute as lost.
- info:
name: Lago Refresh a draft invoice
type: http
http:
method: PUT
url: https://api.getlago.com/api/v1/invoices/:lago_id/refresh
params:
- name: lago_id
value: ''
type: path
description: Unique identifier assigned to the invoice within the Lago application. This ID is exclusively created
by Lago and serves as a unique identifier for the invoice's record within the Lago system.
docs: This endpoint is used for refreshing a draft invoice.
- info:
name: Lago Retry gene
# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lago/refs/heads/main/apis.yml