- Documentation
- API References
- Integrations
- 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
Retrieve a subscription
Bearer authentication header of the form Bearer <token>
, where <token>
is your auth token.
External ID of the existing subscription
LAGO_URL="https://api.getlago.com"
API_KEY="__YOUR_API_KEY__"
curl --location --request GET "$LAGO_URL/api/v1/subscriptions/:external_id" \
--header "Authorization: Bearer $API_KEY"
{
"subscription": {
"billing_time": "anniversary",
"canceled_at": "2022-09-14T16:35:31Z",
"created_at": "2022-08-08T00:00:00Z",
"downgrade_plan_date": "null",
"ending_at": "2022-10-08T00:00:00Z",
"external_customer_id": "5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba",
"external_id": "5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba",
"lago_customer_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"name": "Repository A",
"next_plan_code": "null",
"plan_code": "premium",
"previous_plan_code": "null",
"started_at": "2022-08-08T00:00:00Z",
"status": "active",
"subscription_at": "2022-08-08T00:00:00Z",
"terminated_at": "2022-09-14T16:35:31Z",
"plan": {
"active_subscriptions_count": 123,
"amount_cents": 10000,
"amount_currency": "USD",
"code": "startup",
"created_at": "2023-06-27T19:43:42Z",
"draft_invoices_count": 123,
"interval": "monthly",
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"name": "Startup"
}
}
}
Authorizations
Bearer authentication header of the form Bearer <token>
, where <token>
is your auth token.
Path Parameters
External ID of the existing subscription
Response
The billing time for the subscription, which can be set as either anniversary
or calendar
. If not explicitly provided, it will default to calendar
. The billing time determines the timing of recurring billing cycles for the subscription. By specifying anniversary
, the billing cycle will be based on the specific date the subscription started (billed fully), while calendar
sets the billing cycle at the first day of the week/month/year (billed with proration).
calendar
, anniversary
The cancellation date of the subscription. This field is not null when the subscription is canceled
. This date should be provided in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
The creation date of the subscription, represented in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC). This date provides a timestamp indicating when the subscription was initially created.
The date when the plan will be downgraded, represented in ISO 8601 date format.
The effective end date of the subscription. If this field is set to null, the subscription will automatically renew. This date should be provided in ISO 8601 datetime format, and use Coordinated Universal Time (UTC).
The customer external unique identifier (provided by your own application).
The subscription external unique identifier (provided by your own application).
Unique identifier assigned to the customer within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the customer's record within the Lago system
Unique identifier assigned to the subscription within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the subscription’s record within the Lago system
The display name of the subscription on an invoice. This field allows for customization of the subscription's name for billing purposes, especially useful when a single customer has multiple subscriptions using the same plan.
The code identifying the next plan in the case of a downgrade.
The unique code representing the plan to be attached to the customer. This code must correspond to the code
property of one of the active plans.
The code identifying the previous plan associated with this subscription.
The effective start date of the subscription. This field can be null if the subscription is pending
or canceled
. This date should be provided in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
The status of the subscription, which can have the following values:
pending
: a previous subscription has been downgraded, and the current one is awaiting automatic activation at the end of the billing period.active
: the subscription is currently active and applied to the customer.terminated
: the subscription is no longer active.canceled
: the subscription has been stopped before its activation. This can occur when two consecutive downgrades have been applied to a customer or when a subscription with a pending status is terminated.
active
, pending
, terminated
, canceled
The anniversary date and time of the initial subscription. This date serves as the basis for billing subscriptions with anniversary
billing time. The anniversary_date
should be provided in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC).
The termination date of the subscription. This field is not null when the subscription is terminated
. This date should be provided in ISO 8601 datetime format and expressed in Coordinated Universal Time (UTC)
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 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.
AED
, AFN
, ALL
, AMD
, ANG
, AOA
, ARS
, AUD
, AWG
, AZN
, BAM
, BBD
, BDT
, BGN
, BIF
, BMD
, BND
, BOB
, BRL
, BSD
, BWP
, BYN
, BZD
, CAD
, CDF
, CHF
, CLF
, CLP
, CNY
, COP
, CRC
, CVE
, CZK
, DJF
, DKK
, DOP
, DZD
, EGP
, ETB
, EUR
, FJD
, FKP
, GBP
, GEL
, GIP
, GMD
, GNF
, GTQ
, GYD
, HKD
, HNL
, HRK
, HTG
, HUF
, IDR
, ILS
, INR
, ISK
, JMD
, JPY
, KES
, KGS
, KHR
, KMF
, KRW
, KYD
, KZT
, LAK
, LBP
, LKR
, LRD
, LSL
, MAD
, MDL
, MGA
, MKD
, MMK
, MNT
, MOP
, MRO
, MUR
, MVR
, MWK
, MXN
, MYR
, MZN
, NAD
, NGN
, NIO
, NOK
, NPR
, NZD
, PAB
, PEN
, PGK
, PHP
, PKR
, PLN
, PYG
, QAR
, RON
, RSD
, RUB
, RWF
, SAR
, SBD
, SCR
, SEK
, SGD
, SHP
, SLL
, SOS
, SRD
, STD
, SZL
, THB
, TJS
, TOP
, TRY
, TTD
, TWD
, TZS
, UAH
, UGX
, USD
, UYU
, UZS
, VND
, VUV
, WST
, XAF
, XCD
, XOF
, XPF
, YER
, ZAR
, ZMW
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
.
Additional usage-based charges for this plan.
Unique code identifying a billable metric.
Specifies the pricing model used for the calculation of the final fee. It can be standard
, graduated
, graduated_percentage
, package
, percentage
or volume
.
standard
, graduated
, graduated_percentage
, package
, percentage
, volume
The date and time when the charge was created. It is expressed in UTC format according to the ISO 8601 datetime standard.
All charge information, sorted by groups.
Unique identifier of a billable metric group, created by Lago.
Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the actual group will be used as the default display name.
List of all thresholds utilized for calculating a charge, scoped by groups used as dimensions for a single charge.
- The unit price, excluding tax, for a
standard
charge model. It is expressed as a decimal value. - The amount, excluding tax, for a complete set of units in a
package
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 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.
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.
Graduated percentage ranges, sorted from bottom to top tiers, used for a graduated_percentage
charge model.
The flat amount for a whole tier, excluding tax, for a graduated_percentage
charge model. It is expressed as a decimal value.
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.
The percentage rate that is applied to the amount of each transaction in the tier for a graduated_percentage
charge model. It is expressed as a decimal value.
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.
Graduated ranges, sorted from bottom to top tiers, used for a graduated
charge model.
The flat amount for a whole tier, excluding tax, for a graduated
charge model. It is expressed as a decimal value.
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.
The unit price, excluding tax, for a specific tier of a graduated
charge model. It is expressed as a decimal value.
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 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.
Specifies the maximum allowable spending for a single transaction. Working as a transaction cap.
Specifies the minimum allowable spending for a single transaction. Working as a transaction floor.
The percentage rate that is applied to the amount of each transaction for a percentage
charge model. It is expressed as a decimal value.
Volume ranges, sorted from bottom to top tiers, used for a volume
charge model.
The unit price, excluding tax, for a specific tier of a volume
charge model. It is expressed as a decimal value.
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.
The flat amount for a whole tier, excluding tax, for a volume
charge model. It is expressed as a decimal value.
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.
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.
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
.
Unique identifier of the billable metric created by Lago.
Unique identifier of charge, created by Lago.
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.
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.
List of all thresholds utilized for calculating the charge.
- The unit price, excluding tax, for a
standard
charge model. It is expressed as a decimal value. - The amount, excluding tax, for a complete set of units in a
package
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 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.
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.
Graduated percentage ranges, sorted from bottom to top tiers, used for a graduated_percentage
charge model.
The flat amount for a whole tier, excluding tax, for a graduated_percentage
charge model. It is expressed as a decimal value.
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.
The percentage rate that is applied to the amount of each transaction in the tier for a graduated_percentage
charge model. It is expressed as a decimal value.
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.
Graduated ranges, sorted from bottom to top tiers, used for a graduated
charge model.
The flat amount for a whole tier, excluding tax, for a graduated
charge model. It is expressed as a decimal value.
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.
The unit price, excluding tax, for a specific tier of a graduated
charge model. It is expressed as a decimal value.
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 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.
Specifies the maximum allowable spending for a single transaction. Working as a transaction cap.
Specifies the minimum allowable spending for a single transaction. Working as a transaction floor.
The percentage rate that is applied to the amount of each transaction for a percentage
charge model. It is expressed as a decimal value.
Volume ranges, sorted from bottom to top tiers, used for a volume
charge model.
The unit price, excluding tax, for a specific tier of a volume
charge model. It is expressed as a decimal value.
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.
The flat amount for a whole tier, excluding tax, for a volume
charge model. It is expressed as a decimal value.
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.
Specifies whether a charge is prorated based on the remaining number of days in the billing period or billed fully.
- 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. - If not defined in the request, default value is
false
.
All taxes applied to the charge.
Number of add-ons this tax is applied to.
Set to true
if the tax is used as one of the organization's default
Number of charges this tax is applied to.
Unique code used to identify the tax associated with the API request.
Creation date of the tax.
Number of customers this tax is applied to (directly or via the organization's default).
Internal description of the taxe
Unique identifier of the tax, created by Lago.
Name of the tax.
Number of plans this tax is applied to.
The percentage rate of the tax
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 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 description on the plan.
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 interval used for recurring billing. It represents the frequency at which subscription billing occurs. The interval can be one of the following values: yearly
, quarterly
, monthly
or weekly
.
weekly
, monthly
, quarterly
, yearly
Specifies the name that will be displayed on an invoice. If no value is set for this field, the name of the plan will be used as the default display name.
Unique identifier of the plan created by Lago.
The name of the plan.
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.
All taxes applied to the plan.
Number of add-ons this tax is applied to.
Set to true
if the tax is used as one of the organization's default
Number of charges this tax is applied to.
Unique code used to identify the tax associated with the API request.
Creation date of the tax.
Number of customers this tax is applied to (directly or via the organization's default).
Internal description of the taxe
Unique identifier of the tax, created by Lago.
Name of the tax.
Number of plans this tax is applied to.
The percentage rate of the tax
The duration in days during which the base cost of the plan is offered for free.
Was this page helpful?
LAGO_URL="https://api.getlago.com"
API_KEY="__YOUR_API_KEY__"
curl --location --request GET "$LAGO_URL/api/v1/subscriptions/:external_id" \
--header "Authorization: Bearer $API_KEY"
{
"subscription": {
"billing_time": "anniversary",
"canceled_at": "2022-09-14T16:35:31Z",
"created_at": "2022-08-08T00:00:00Z",
"downgrade_plan_date": "null",
"ending_at": "2022-10-08T00:00:00Z",
"external_customer_id": "5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba",
"external_id": "5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba",
"lago_customer_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"name": "Repository A",
"next_plan_code": "null",
"plan_code": "premium",
"previous_plan_code": "null",
"started_at": "2022-08-08T00:00:00Z",
"status": "active",
"subscription_at": "2022-08-08T00:00:00Z",
"terminated_at": "2022-09-14T16:35:31Z",
"plan": {
"active_subscriptions_count": 123,
"amount_cents": 10000,
"amount_currency": "USD",
"code": "startup",
"created_at": "2023-06-27T19:43:42Z",
"draft_invoices_count": 123,
"interval": "monthly",
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"name": "Startup"
}
}
}