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": {}
}Quotes
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.
GET
/
quotes
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
Query Parameters
Number of records per page. Defaults to 100. The maximum is 200, unless another maximum is configured for your organization. A value above the maximum returns a 422 error with value_is_out_of_range on per_page. A value that is not a positive integer, such as 0, returns the default number of records.
Example:
20