LAGO_URL="https://api.getlago.com"
API_KEY="__YOUR_API_KEY__"
curl --location --request POST "$LAGO_URL/api/v1/coupons" \
--header "Authorization: Bearer $API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"coupon": {
"name": "Startup Deal",
"code": "startup_deal",
"amount_cents": 5000,
"amount_currency": "USD",
"coupon_type": "fixed_amount",
"reusable": true,
"frequency": "recurring",
"frequency_duration": 6,
"expiration": "time_limit",
"expiration_at": "2022-08-08T23:59:59Z",
"applies_to": {
"plan_codes": ["startup_plan"],
"billable_metric_codes": []
}
}
}'
from lago_python_client.client import Client
from lago_python_client.exceptions import LagoApiError
from lago_python_client.models import Coupon
client = Client(api_key='__YOUR_API_KEY__')
coupon = Coupon(
name='Startup Deal',
code='startup_deal',
amount_cents=5000,
amount_currency='USD',
coupon_type='fixed_amount',
frequency='recurring',
frequency_duration=6,
reusable=True
expiration='time_limit',
expiration_at='2022-08-08T23:59:59Z',
applies_to=LimitationConfiguration(plan_codes=['startup_plan'])
)
try:
client.coupons.create(coupon)
except LagoApiError as e:
repair_broken_state(e) # do something on error or raise your own exception
require 'lago-ruby-client'
client = Lago::Api::Client.new(api_key: '__YOUR_API_KEY__')
coupon = {
name: 'Startup Deal',
code: 'startup_deal',
expiration: 'time_limit',
expiration_at: '2022-08-08T23:59:59Z',
amount_cents: 5000,
amount_currency: 'USD',
coupon_type: 'fixed_amount',
reusable: true,
frequency: 'recurring',
frequency_duration: 6,
applies_to: {
plan_codes: ['startup_plan']
}
}
client.coupons.create(coupon)
const couponObject = {
name: "Startup Deal",
code: "startup_deal",
expiration: "time_limit" as CouponObject["expiration"],
expiration_at: "2022-08-08T23:59:59Z",
amount_cents: 5000,
amount_currency: "USD",
coupon_type: "fixed_amount" as CouponObject["couponType"],
reusable: true,
frequency: "recurring" as CouponObject["frequency"],
frequency_duration: 6,
applies_to: {
plan_codes: ["startup_plan"],
},
};
await client.coupons.createCoupon({ coupon: couponObject });
import "fmt"
import "github.com/getlago/lago-go-client"
func main() {
lagoClient := lago.New().
SetApiKey("__YOUR_API_KEY__")
limitationInput := &lago.LimitationInput{
PlanCodes: []string{"startup_plan"}
}
expirationAt := time.Date(2022, 8, 8, 23, 59, 59, 0, time.UTC)
couponInput := &lago.CouponInput{
Name: "Startup Deal",
Code: "startup_deal",
AmountCents: 5000,
AmountCurrency: lago.USD,
Reusable: true,
Expiration: lago.CouponExpirationTimeLimit,
ExpirationAt: &expirationAt,
CouponType: lago.CouponTypeFixedAmount,
Frequency: lago.CouponFrequencyRecurring,
FrequencyDuration: 6,
AppliesTo limitationInput
}
coupon, err := lagoClient.Coupon().Create(couponInput)
if err != nil {
// Error is *lago.Error
panic(err)
}
// coupon is *lago.Coupon
fmt.Println(coupon)
}
{
"coupon": {
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"name": "Startup Deal",
"code": "startup_deal",
"coupon_type": "fixed_amount",
"reusable": true,
"limited_plans": true,
"limited_billable_metrics": false,
"frequency": "recurring",
"expiration": "time_limit",
"created_at": "2022-04-29T08:59:51Z",
"description": "I am a coupon description",
"amount_cents": 5000,
"amount_currency": "USD",
"plan_codes": [
"startup_plan"
],
"billable_metric_codes": [],
"percentage_rate": null,
"frequency_duration": 6,
"expiration_at": "2022-08-08T23:59:59Z",
"terminated_at": "2022-08-08T23:59:59Z"
}
}{
"status": 400,
"error": "Bad request"
}{
"status": 401,
"error": "Unauthorized"
}{
"status": 422,
"error": "Unprocessable entity",
"code": "validation_errors",
"error_details": {}
}Coupons
Create a coupon
This endpoint is used to create a coupon that can be then attached to a customer to create a discount.
POST
/
coupons
LAGO_URL="https://api.getlago.com"
API_KEY="__YOUR_API_KEY__"
curl --location --request POST "$LAGO_URL/api/v1/coupons" \
--header "Authorization: Bearer $API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"coupon": {
"name": "Startup Deal",
"code": "startup_deal",
"amount_cents": 5000,
"amount_currency": "USD",
"coupon_type": "fixed_amount",
"reusable": true,
"frequency": "recurring",
"frequency_duration": 6,
"expiration": "time_limit",
"expiration_at": "2022-08-08T23:59:59Z",
"applies_to": {
"plan_codes": ["startup_plan"],
"billable_metric_codes": []
}
}
}'
from lago_python_client.client import Client
from lago_python_client.exceptions import LagoApiError
from lago_python_client.models import Coupon
client = Client(api_key='__YOUR_API_KEY__')
coupon = Coupon(
name='Startup Deal',
code='startup_deal',
amount_cents=5000,
amount_currency='USD',
coupon_type='fixed_amount',
frequency='recurring',
frequency_duration=6,
reusable=True
expiration='time_limit',
expiration_at='2022-08-08T23:59:59Z',
applies_to=LimitationConfiguration(plan_codes=['startup_plan'])
)
try:
client.coupons.create(coupon)
except LagoApiError as e:
repair_broken_state(e) # do something on error or raise your own exception
require 'lago-ruby-client'
client = Lago::Api::Client.new(api_key: '__YOUR_API_KEY__')
coupon = {
name: 'Startup Deal',
code: 'startup_deal',
expiration: 'time_limit',
expiration_at: '2022-08-08T23:59:59Z',
amount_cents: 5000,
amount_currency: 'USD',
coupon_type: 'fixed_amount',
reusable: true,
frequency: 'recurring',
frequency_duration: 6,
applies_to: {
plan_codes: ['startup_plan']
}
}
client.coupons.create(coupon)
const couponObject = {
name: "Startup Deal",
code: "startup_deal",
expiration: "time_limit" as CouponObject["expiration"],
expiration_at: "2022-08-08T23:59:59Z",
amount_cents: 5000,
amount_currency: "USD",
coupon_type: "fixed_amount" as CouponObject["couponType"],
reusable: true,
frequency: "recurring" as CouponObject["frequency"],
frequency_duration: 6,
applies_to: {
plan_codes: ["startup_plan"],
},
};
await client.coupons.createCoupon({ coupon: couponObject });
import "fmt"
import "github.com/getlago/lago-go-client"
func main() {
lagoClient := lago.New().
SetApiKey("__YOUR_API_KEY__")
limitationInput := &lago.LimitationInput{
PlanCodes: []string{"startup_plan"}
}
expirationAt := time.Date(2022, 8, 8, 23, 59, 59, 0, time.UTC)
couponInput := &lago.CouponInput{
Name: "Startup Deal",
Code: "startup_deal",
AmountCents: 5000,
AmountCurrency: lago.USD,
Reusable: true,
Expiration: lago.CouponExpirationTimeLimit,
ExpirationAt: &expirationAt,
CouponType: lago.CouponTypeFixedAmount,
Frequency: lago.CouponFrequencyRecurring,
FrequencyDuration: 6,
AppliesTo limitationInput
}
coupon, err := lagoClient.Coupon().Create(couponInput)
if err != nil {
// Error is *lago.Error
panic(err)
}
// coupon is *lago.Coupon
fmt.Println(coupon)
}
{
"coupon": {
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"name": "Startup Deal",
"code": "startup_deal",
"coupon_type": "fixed_amount",
"reusable": true,
"limited_plans": true,
"limited_billable_metrics": false,
"frequency": "recurring",
"expiration": "time_limit",
"created_at": "2022-04-29T08:59:51Z",
"description": "I am a coupon description",
"amount_cents": 5000,
"amount_currency": "USD",
"plan_codes": [
"startup_plan"
],
"billable_metric_codes": [],
"percentage_rate": null,
"frequency_duration": 6,
"expiration_at": "2022-08-08T23:59:59Z",
"terminated_at": "2022-08-08T23:59:59Z"
}
}{
"status": 400,
"error": "Bad request"
}{
"status": 401,
"error": "Unauthorized"
}{
"status": 422,
"error": "Unprocessable entity",
"code": "validation_errors",
"error_details": {}
}LAGO_URL="https://api.getlago.com"
API_KEY="__YOUR_API_KEY__"
curl --location --request POST "$LAGO_URL/api/v1/coupons" \
--header "Authorization: Bearer $API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"coupon": {
"name": "Startup Deal",
"code": "startup_deal",
"amount_cents": 5000,
"amount_currency": "USD",
"coupon_type": "fixed_amount",
"reusable": true,
"frequency": "recurring",
"frequency_duration": 6,
"expiration": "time_limit",
"expiration_at": "2022-08-08T23:59:59Z",
"applies_to": {
"plan_codes": ["startup_plan"],
"billable_metric_codes": []
}
}
}'
from lago_python_client.client import Client
from lago_python_client.exceptions import LagoApiError
from lago_python_client.models import Coupon
client = Client(api_key='__YOUR_API_KEY__')
coupon = Coupon(
name='Startup Deal',
code='startup_deal',
amount_cents=5000,
amount_currency='USD',
coupon_type='fixed_amount',
frequency='recurring',
frequency_duration=6,
reusable=True
expiration='time_limit',
expiration_at='2022-08-08T23:59:59Z',
applies_to=LimitationConfiguration(plan_codes=['startup_plan'])
)
try:
client.coupons.create(coupon)
except LagoApiError as e:
repair_broken_state(e) # do something on error or raise your own exception
require 'lago-ruby-client'
client = Lago::Api::Client.new(api_key: '__YOUR_API_KEY__')
coupon = {
name: 'Startup Deal',
code: 'startup_deal',
expiration: 'time_limit',
expiration_at: '2022-08-08T23:59:59Z',
amount_cents: 5000,
amount_currency: 'USD',
coupon_type: 'fixed_amount',
reusable: true,
frequency: 'recurring',
frequency_duration: 6,
applies_to: {
plan_codes: ['startup_plan']
}
}
client.coupons.create(coupon)
const couponObject = {
name: "Startup Deal",
code: "startup_deal",
expiration: "time_limit" as CouponObject["expiration"],
expiration_at: "2022-08-08T23:59:59Z",
amount_cents: 5000,
amount_currency: "USD",
coupon_type: "fixed_amount" as CouponObject["couponType"],
reusable: true,
frequency: "recurring" as CouponObject["frequency"],
frequency_duration: 6,
applies_to: {
plan_codes: ["startup_plan"],
},
};
await client.coupons.createCoupon({ coupon: couponObject });
import "fmt"
import "github.com/getlago/lago-go-client"
func main() {
lagoClient := lago.New().
SetApiKey("__YOUR_API_KEY__")
limitationInput := &lago.LimitationInput{
PlanCodes: []string{"startup_plan"}
}
expirationAt := time.Date(2022, 8, 8, 23, 59, 59, 0, time.UTC)
couponInput := &lago.CouponInput{
Name: "Startup Deal",
Code: "startup_deal",
AmountCents: 5000,
AmountCurrency: lago.USD,
Reusable: true,
Expiration: lago.CouponExpirationTimeLimit,
ExpirationAt: &expirationAt,
CouponType: lago.CouponTypeFixedAmount,
Frequency: lago.CouponFrequencyRecurring,
FrequencyDuration: 6,
AppliesTo limitationInput
}
coupon, err := lagoClient.Coupon().Create(couponInput)
if err != nil {
// Error is *lago.Error
panic(err)
}
// coupon is *lago.Coupon
fmt.Println(coupon)
}
Was this page helpful?
⌘I