- Documentation
- API References
- Integrations
- Templates
- Blog
- FAQ
- GitHub
- Getting started
Add-ons
Analytics
Billable metrics
Coupons
Credit notes
Customer usage
Customers
Events
Fees
Invoices
Organizations
Plans
Resources
Subscriptions
Taxes
Wallets
Webhook endpoints
Webhooks
API Reference
The plan object
This object represents a plan. This plan can then be assigned to a customer.
{
"plan": {
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"name": "Startup",
"invoice_display_name": "Startup plan",
"created_at": "2023-06-27T19:43:42Z",
"code": "startup",
"interval": "monthly",
"description": "",
"amount_cents": 10000,
"amount_currency": "USD",
"trial_period": 5,
"pay_in_advance": true,
"bill_charges_monthly": null,
"active_subscriptions_count": 0,
"draft_invoices_count": 0,
"minimum_commitment": {
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"plan_code": "premium",
"amount_cents": 100000,
"invoice_display_name": "Minimum Commitment (C1)",
"interval": "monthly",
"created_at": "2022-04-29T08:59:51Z",
"updated_at": "2022-04-29T08:59:51Z",
"taxes": [
{
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"name": "TVA",
"code": "french_standard_vat",
"description": "French standard VAT",
"rate": 20,
"applied_to_organization": true,
"add_ons_count": 0,
"charges_count": 0,
"customers_count": 0,
"plans_count": 0,
"created_at": "2023-07-06T14:35:58Z"
}
]
},
"charges": [
{
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a91",
"lago_billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a91",
"billable_metric_code": "requests",
"created_at": "2023-06-27T19:43:42Z",
"charge_model": "package",
"invoiceable": true,
"invoice_display_name": "Setup",
"pay_in_advance": false,
"prorated": false,
"min_amount_cents": 3000,
"properties": {
"amount": "30",
"free_units": 100,
"package_size": 1000
},
"filters": []
},
{
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a92",
"lago_billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a92",
"billable_metric_code": "cpu",
"created_at": "2023-06-27T19:43:42Z",
"charge_model": "graduated",
"invoiceable": true,
"invoice_display_name": "Setup",
"pay_in_advance": false,
"prorated": false,
"min_amount_cents": 0,
"properties": {
"graduated_ranges": [
{
"from_value": 0,
"to_value": 10,
"flat_amount": "10",
"per_unit_amount": "0.5"
},
{
"from_value": 11,
"to_value": null,
"flat_amount": "0",
"per_unit_amount": "0.4"
}
]
},
"filters": []
},
{
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a93",
"lago_billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a93",
"billable_metric_code": "seats",
"created_at": "2023-06-27T19:43:42Z",
"charge_model": "standard",
"invoiceable": true,
"invoice_display_name": "Setup",
"pay_in_advance": true,
"prorated": false,
"min_amount_cents": 0,
"properties": {},
"filters": [
{
"invoice_display_name": "Europe",
"properties": {
"amount": "10"
},
"values": {
"region": [
"Europe"
]
}
},
{
"invoice_display_name": "USA",
"properties": {
"amount": "5"
},
"values": {
"region": [
"USA"
]
}
},
{
"invoice_display_name": "Africa",
"properties": {
"amount": "8"
},
"values": {
"region": [
"Africa"
]
}
}
]
},
{
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a94",
"lago_billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a94",
"billable_metric_code": "storage",
"created_at": "2023-06-27T19:43:42Z",
"charge_model": "volume",
"invoiceable": true,
"invoice_display_name": "Setup",
"pay_in_advance": false,
"prorated": false,
"min_amount_cents": 0,
"properties": {
"volume_ranges": [
{
"from_value": 0,
"to_value": 100,
"flat_amount": "0",
"per_unit_amount": "0"
},
{
"from_value": 101,
"to_value": null,
"flat_amount": "0",
"per_unit_amount": "0.5"
}
]
},
"filters": []
},
{
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a95",
"lago_billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a95",
"billable_metric_code": "payments",
"created_at": "2023-06-27T19:43:42Z",
"charge_model": "percentage",
"invoiceable": false,
"invoice_display_name": "Setup",
"pay_in_advance": true,
"prorated": false,
"min_amount_cents": 0,
"properties": {
"rate": "1",
"fixed_amount": "0.5",
"free_units_per_events": 5,
"free_units_per_total_aggregation": "500"
},
"filters": []
}
],
"taxes": [
{
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"name": "TVA",
"code": "french_standard_vat",
"description": "French standard VAT",
"rate": 20,
"applied_to_organization": true,
"add_ons_count": 0,
"charges_count": 0,
"customers_count": 0,
"plans_count": 0,
"created_at": "2023-07-06T14:35:58Z"
}
]
}
}
Attributes
Unique identifier of the plan created by Lago.
The date and time when the plan was created. It is expressed in UTC format according to the ISO 8601 datetime standard. This field provides the timestamp for the exact moment when the plan was initially created.
The name of the plan.
The code of the plan. It serves as a unique identifier associated with a particular plan. The code is typically used for internal or system-level identification purposes, like assigning a subscription, for instance.
The interval used for recurring billing. It represents the frequency at
which subscription billing occurs. The interval can be one of the
following values: weekly
, monthly
, quarterly
or yearly
.
The description on the plan.
The base cost of the plan, excluding any applicable taxes, that is billed on a recurring basis. This value is defined at 0 if your plan is a pay-as-you-go plan.
The currency of the plan. It indicates the monetary unit in which the plan’s cost, including taxes and usage-based charges, is expressed.
The duration in days during which the base cost of the plan is offered for free.
This field determines the billing timing for the plan. When set to true
,
the base cost of the plan is due at the beginning of each billing period.
Conversely, when set to false
, the base cost of the plan is due at the
end of each billing period.
This field, when set to true
, enables to invoice usage-based charges on
monthly basis, even if the cadence of the plan is yearly
. This allows
customers to pay charges overage on a monthly basis. This can be set to
true only if the plan’s interval is yearly
.
List of unique code used to identify the taxes.
Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
The count of active subscriptions that are currently associated with the plan. This field provides valuable information regarding the impact of deleting the plan. By checking the value of this field, you can determine the number of subscriptions that will be affected if the plan is deleted.
The number of draft invoices that include a subscription attached to the plan. This field provides valuable information about the impact of deleting the plan. By checking the value of this field, you can determine the number of draft invoices that will be affected if the plan is deleted.
The number of draft invoices that include a subscription attached to the plan. This field provides valuable information about the impact of deleting the plan. By checking the value of this field, you can determine the number of draft invoices that will be affected if the plan is deleted.
Unique identifier of charge, created by Lago.
The unique code representing the plan to be attached to the customer.
The amount of the minimum commitment in cents.
Specifies the name that will be displayed on an invoice. If no value is set for this field, the default name will be used as the display name.
The interval used for recurring billing. It represents the frequency
at which minimum commitment billing occurs. Available options:
weekly
, monthly
, quarterly
, yearly
.
The date and time when the minimum commitment was created. It is expressed in UTC format according to the ISO 8601 datetime standard. This field provides the timestamp for the exact moment when the minimum commitment was initially created..
The date and time when the minimum commitment was updated. It is expressed in UTC format according to the ISO 8601 datetime standard. This field provides the timestamp for the exact moment when the minimum commitment was initially created.
All taxes applied to the minimum commitment.
Unique identifier of the minimum commitment, created by Lago.
Unique identifier of the billable metric created by Lago.
Unique code identifying a billable metric.
The date and time when the charge was created. It is expressed in UTC format according to the ISO 8601 datetime standard.
Specifies the pricing model used for the calculation of the final fee.
It can be standard
, graduated
, package
, percentage
, or
volume
.
This field determines the billing timing for this specific usage-based
charge. When set to true
, the charge is due and invoiced
immediately. Conversely, when set to false
, the charge is due and
invoiced at the end of each billing period.
This field specifies whether the charge should be included in a proper
invoice. If set to false
, no invoice will be issued for this charge.
You can only set it to false
when pay_in_advance
is true
.
The minimum spending amount required for the charge, measured in cents and excluding any applicable taxes. It indicates the minimum amount that needs to be charged for each billing period.
Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual charge will be used as the default display name.
Specifies whether a charge is prorated based on the remaining number
of days in the billing period or billed fully. If not defined, this
argument is set to false
by default. - If set to true
, the charge
is prorated based on the remaining days in the current billing period.
- If set to
false
, the charge is billed in full. Note that only acharge_model
sets tostandard
,graduated
andvolume
can be prorated.
List of unique code used to identify the taxes.
Case of groups and dimensions
Specifies the name that will be displayed on an invoice. If no value is set for this field, the values of the filter will be used as the default display name.
List of possible filter values. The key and values must match one of the billable metric filters.
Case of graduated pricing model
Specifies the lower value of a tier for a graduated
charge
model. It must be either 0 or the previous range’s to_value + 1
to maintain the proper sequence of values.
Specifies the highest value of a tier for a graduated
charge
model. - This value must be higher than the from_value
of
the same tier. - This value must be null
for the last tier.
The unit price, excluding tax, for a specific tier of a
graduated
charge model. It is expressed as a decimal value.
The flat amount for a whole tier, excluding tax, for a
graduated
charge model. It is expressed as a decimal value.
Case of package pricing model
The amount, excluding tax, for a complete set of units in a
package
charge model. It is expressed as a decimal value.
The quantity of units included in each pack or set for a package
charge model. It indicates the number of units that are bundled
together as a single package or set within the pricing structure.
The quantity of units that are provided free of charge for each
billing period in a package
charge model. This field specifies
the number of units that customers can use without incurring any
additional cost during each billing cycle.
Case of percentage pricing model
The percentage rate that is applied to the amount of each
transaction for a percentage
charge model. It is expressed as a
decimal value.
The fixed fee that is applied to each transaction for a
percentage
charge model. It is expressed as a decimal value.
The count of transactions that are not impacted by the
percentage
rate and fixed fee in a percentage charge model. This
field indicates the number of transactions that are exempt from
the calculation of charges based on the specified percentage rate
and fixed fee.
The transaction amount that is not impacted by the percentage
rate and fixed fee in a percentage charge model. This field
indicates the portion of the transaction amount that is exempt
from the calculation of charges based on the specified percentage
rate and fixed fee.
Specifies the minimum allowable spending for a single transaction.
Working as a transaction floor. Cannot be greater than the
per_transaction_max_amount
value.
Specifies the maximum allowable spending for a single transaction.
Working as a transaction cap. Cannot be lower than the
per_transaction_min_amount
value.
Case of volume pricing model
Specifies the lower value of a tier for a volume
charge
model. It must be either 0 or the previous range’s to_value +
1 to maintain the proper sequence of values.
Specifies the highest value of a tier for a volume
charge
model. - This value must be higher than the from_value
of
the same tier. - This value must be null
for the last tier.
The unit price, excluding tax, for a specific tier of a
volume
charge model. It is expressed as a decimal value.
The flat amount for a whole tier, excluding tax, for a
volume
charge model. It is expressed as a decimal value.
Case of graduated percentage pricing model
Specifies the lower value of a tier for a graduated percentage
charge model. It must be either 0 or the previous
range’s to_value + 1 to maintain the proper sequence of
values.
Specifies the highest value of a tier for a graduated percentage
charge model. - This value must be higher than the
from_value
of the same tier. - This value must be null
for
the last tier.
The percentage rate that is applied to the amount of each
transaction for a graduated percentage
charge model. It is
expressed as a decimal value, and only set for a specific
tier.
The flat amount for a whole tier, excluding tax, for a
graduated percentage
charge model. It is expressed as a
decimal value.
Case of standard pricing model
The unit price, excluding tax, for a standard
charge model. It
is expressed as a decimal value.
The list of event properties that are used to group the events on
the invoice for a standard
charge model.
Was this page helpful?
{
"plan": {
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"name": "Startup",
"invoice_display_name": "Startup plan",
"created_at": "2023-06-27T19:43:42Z",
"code": "startup",
"interval": "monthly",
"description": "",
"amount_cents": 10000,
"amount_currency": "USD",
"trial_period": 5,
"pay_in_advance": true,
"bill_charges_monthly": null,
"active_subscriptions_count": 0,
"draft_invoices_count": 0,
"minimum_commitment": {
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"plan_code": "premium",
"amount_cents": 100000,
"invoice_display_name": "Minimum Commitment (C1)",
"interval": "monthly",
"created_at": "2022-04-29T08:59:51Z",
"updated_at": "2022-04-29T08:59:51Z",
"taxes": [
{
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"name": "TVA",
"code": "french_standard_vat",
"description": "French standard VAT",
"rate": 20,
"applied_to_organization": true,
"add_ons_count": 0,
"charges_count": 0,
"customers_count": 0,
"plans_count": 0,
"created_at": "2023-07-06T14:35:58Z"
}
]
},
"charges": [
{
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a91",
"lago_billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a91",
"billable_metric_code": "requests",
"created_at": "2023-06-27T19:43:42Z",
"charge_model": "package",
"invoiceable": true,
"invoice_display_name": "Setup",
"pay_in_advance": false,
"prorated": false,
"min_amount_cents": 3000,
"properties": {
"amount": "30",
"free_units": 100,
"package_size": 1000
},
"filters": []
},
{
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a92",
"lago_billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a92",
"billable_metric_code": "cpu",
"created_at": "2023-06-27T19:43:42Z",
"charge_model": "graduated",
"invoiceable": true,
"invoice_display_name": "Setup",
"pay_in_advance": false,
"prorated": false,
"min_amount_cents": 0,
"properties": {
"graduated_ranges": [
{
"from_value": 0,
"to_value": 10,
"flat_amount": "10",
"per_unit_amount": "0.5"
},
{
"from_value": 11,
"to_value": null,
"flat_amount": "0",
"per_unit_amount": "0.4"
}
]
},
"filters": []
},
{
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a93",
"lago_billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a93",
"billable_metric_code": "seats",
"created_at": "2023-06-27T19:43:42Z",
"charge_model": "standard",
"invoiceable": true,
"invoice_display_name": "Setup",
"pay_in_advance": true,
"prorated": false,
"min_amount_cents": 0,
"properties": {},
"filters": [
{
"invoice_display_name": "Europe",
"properties": {
"amount": "10"
},
"values": {
"region": [
"Europe"
]
}
},
{
"invoice_display_name": "USA",
"properties": {
"amount": "5"
},
"values": {
"region": [
"USA"
]
}
},
{
"invoice_display_name": "Africa",
"properties": {
"amount": "8"
},
"values": {
"region": [
"Africa"
]
}
}
]
},
{
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a94",
"lago_billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a94",
"billable_metric_code": "storage",
"created_at": "2023-06-27T19:43:42Z",
"charge_model": "volume",
"invoiceable": true,
"invoice_display_name": "Setup",
"pay_in_advance": false,
"prorated": false,
"min_amount_cents": 0,
"properties": {
"volume_ranges": [
{
"from_value": 0,
"to_value": 100,
"flat_amount": "0",
"per_unit_amount": "0"
},
{
"from_value": 101,
"to_value": null,
"flat_amount": "0",
"per_unit_amount": "0.5"
}
]
},
"filters": []
},
{
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a95",
"lago_billable_metric_id": "1a901a90-1a90-1a90-1a90-1a901a901a95",
"billable_metric_code": "payments",
"created_at": "2023-06-27T19:43:42Z",
"charge_model": "percentage",
"invoiceable": false,
"invoice_display_name": "Setup",
"pay_in_advance": true,
"prorated": false,
"min_amount_cents": 0,
"properties": {
"rate": "1",
"fixed_amount": "0.5",
"free_units_per_events": 5,
"free_units_per_total_aggregation": "500"
},
"filters": []
}
],
"taxes": [
{
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"name": "TVA",
"code": "french_standard_vat",
"description": "French standard VAT",
"rate": 20,
"applied_to_organization": true,
"add_ons_count": 0,
"charges_count": 0,
"customers_count": 0,
"plans_count": 0,
"created_at": "2023-07-06T14:35:58Z"
}
]
}
}