LAGO_URL="https://api.getlago.com"
API_KEY="__YOUR_API_KEY__"
curl --location --request GET "$LAGO_URL/api/v1/quotes?per_page=20&page=1&status[]=draft" \
--header "Authorization: Bearer $API_KEY"
from lago_python_client.client import Client
from lago_python_client.exceptions import LagoApiError
client = Client(api_key='__YOUR_API_KEY__')
try:
client.quotes.find_all({'per_page': 20, 'page': 1, 'status[]': ['draft']})
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__')
client.quotes.get_all({ per_page: 20, page: 1, 'status[]': ['draft'] })
await client.quotes.findAllQuotes({ per_page: 20, page: 1, "status[]": ["draft"] });
import (
"context"
"fmt"
lago "github.com/getlago/lago-go-client"
)
func main() {
lagoClient := lago.New().SetApiKey("__YOUR_API_KEY__")
ctx := context.Background()
page, perPage := 1, 20
quoteResult, err := lagoClient.Quote().GetList(ctx, &lago.QuoteListInput{
Page: &page,
PerPage: &perPage,
Status: []lago.QuoteVersionStatus{lago.QuoteVersionStatusDraft},
})
if err != nil {
// Error is *lago.Error
panic(err)
}
// quoteResult is *lago.QuoteResult
fmt.Println(quoteResult)
}
{
"quotes": [
{
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"number": "QT-2026-0001",
"order_type": "subscription_creation",
"lago_customer_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_subscription_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_organization_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"created_at": "2026-04-29T08:59:51Z",
"updated_at": "2026-04-29T08:59:51Z",
"current_version": {
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_quote_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_organization_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"version": 1,
"status": "draft",
"currency": "USD",
"billing_entity_code": "acme_corp",
"void_reason": "manual",
"approved_at": "2026-04-29T08:59:51Z",
"voided_at": "2026-04-29T08:59:51Z",
"created_at": "2026-04-29T08:59:51Z",
"updated_at": "2026-04-29T08:59:51Z"
}
}
],
"meta": {
"current_page": 2,
"total_pages": 4,
"total_count": 70,
"next_page": 3,
"prev_page": 1
}
}{
"status": 401,
"error": "Unauthorized"
}{
"status": 403,
"error": "Forbidden",
"code": "feature_unavailable"
}{
"status": 422,
"error": "Unprocessable entity",
"code": "validation_errors",
"error_details": {}
}List all quotes
This endpoint is used to list all existing quotes. Quotes are ordered by creation date, from the most recent to the oldest. This is a premium feature.
LAGO_URL="https://api.getlago.com"
API_KEY="__YOUR_API_KEY__"
curl --location --request GET "$LAGO_URL/api/v1/quotes?per_page=20&page=1&status[]=draft" \
--header "Authorization: Bearer $API_KEY"
from lago_python_client.client import Client
from lago_python_client.exceptions import LagoApiError
client = Client(api_key='__YOUR_API_KEY__')
try:
client.quotes.find_all({'per_page': 20, 'page': 1, 'status[]': ['draft']})
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__')
client.quotes.get_all({ per_page: 20, page: 1, 'status[]': ['draft'] })
await client.quotes.findAllQuotes({ per_page: 20, page: 1, "status[]": ["draft"] });
import (
"context"
"fmt"
lago "github.com/getlago/lago-go-client"
)
func main() {
lagoClient := lago.New().SetApiKey("__YOUR_API_KEY__")
ctx := context.Background()
page, perPage := 1, 20
quoteResult, err := lagoClient.Quote().GetList(ctx, &lago.QuoteListInput{
Page: &page,
PerPage: &perPage,
Status: []lago.QuoteVersionStatus{lago.QuoteVersionStatusDraft},
})
if err != nil {
// Error is *lago.Error
panic(err)
}
// quoteResult is *lago.QuoteResult
fmt.Println(quoteResult)
}
{
"quotes": [
{
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"number": "QT-2026-0001",
"order_type": "subscription_creation",
"lago_customer_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_subscription_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_organization_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"created_at": "2026-04-29T08:59:51Z",
"updated_at": "2026-04-29T08:59:51Z",
"current_version": {
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_quote_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_organization_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"version": 1,
"status": "draft",
"currency": "USD",
"billing_entity_code": "acme_corp",
"void_reason": "manual",
"approved_at": "2026-04-29T08:59:51Z",
"voided_at": "2026-04-29T08:59:51Z",
"created_at": "2026-04-29T08:59:51Z",
"updated_at": "2026-04-29T08:59:51Z"
}
}
],
"meta": {
"current_page": 2,
"total_pages": 4,
"total_count": 70,
"next_page": 3,
"prev_page": 1
}
}{
"status": 401,
"error": "Unauthorized"
}{
"status": 403,
"error": "Forbidden",
"code": "feature_unavailable"
}{
"status": 422,
"error": "Unprocessable entity",
"code": "validation_errors",
"error_details": {}
}LAGO_URL="https://api.getlago.com"
API_KEY="__YOUR_API_KEY__"
curl --location --request GET "$LAGO_URL/api/v1/quotes?per_page=20&page=1&status[]=draft" \
--header "Authorization: Bearer $API_KEY"
from lago_python_client.client import Client
from lago_python_client.exceptions import LagoApiError
client = Client(api_key='__YOUR_API_KEY__')
try:
client.quotes.find_all({'per_page': 20, 'page': 1, 'status[]': ['draft']})
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__')
client.quotes.get_all({ per_page: 20, page: 1, 'status[]': ['draft'] })
await client.quotes.findAllQuotes({ per_page: 20, page: 1, "status[]": ["draft"] });
import (
"context"
"fmt"
lago "github.com/getlago/lago-go-client"
)
func main() {
lagoClient := lago.New().SetApiKey("__YOUR_API_KEY__")
ctx := context.Background()
page, perPage := 1, 20
quoteResult, err := lagoClient.Quote().GetList(ctx, &lago.QuoteListInput{
Page: &page,
PerPage: &perPage,
Status: []lago.QuoteVersionStatus{lago.QuoteVersionStatusDraft},
})
if err != nil {
// Error is *lago.Error
panic(err)
}
// quoteResult is *lago.QuoteResult
fmt.Println(quoteResult)
}
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Page number.
1
Number of records per page.
20
Filter quotes by the status of their current version. Possible values are draft, approved and voided.
draft, approved, voided Filter quotes by order type. Possible values are subscription_creation, subscription_amendment and one_off.
subscription_creation, subscription_amendment, one_off Filter quotes by their number, as assigned by Lago.
^QT-\d{4}-\d{4,}$["QT-2026-0001", "QT-2026-0002"]
Filter quotes by the Lago identifiers of the users owning them.
["1a901a90-1a90-1a90-1a90-1a901a901a90"]
Filter quotes by the external unique identifiers of their customers (provided by your own application).
["external_id_1234"]
Filter quotes created from a specific date.
"2026-01-01"
Filter quotes created up to a specific date.
"2026-12-31"
Was this page helpful?