docs-site/content/cloud-management-api/v1/invoices.md
The Invoices API allows you to programmatically retrieve billing invoices for your Typesense Cloud account. You can list all invoices and fetch detailed information including line items for individual invoices.
This endpoint returns a paginated list of invoices for your account, excluding each invoice's line items.
curl -X GET --location "https://cloud.typesense.org/api/v1/invoices?page=1&per_page=10" \
-H "Accept: application/json" \
-H "X-TYPESENSE-CLOUD-MANAGEMENT-API-KEY: YOUR-API-KEY"
Query Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
| page | integer | 1 | Page number for pagination |
| per_page | integer | 10 | Number of invoices per page (maximum 50) |
Response:
{
"page": 1,
"per_page": 10,
"total": 25,
"invoices": [
{
"id": "inv_abc123def456",
"number": 12345,
"status": "paid",
"amount_cents": 125000,
"invoice_date": 1702857600,
"period_starts_at": 1700179200,
"period_ends_at": 1702857599,
"line_items_path": "/api/v1/invoices/inv_abc123def456",
"invoice_html_url": "https://cloud.typesense.org/invoices/inv_abc123def456",
"account": {
"owner_name": "Acme Corp",
"owner_type": "Team",
"billing_email": "[email protected]",
"additional_billing_information": "123 Main St\nSan Francisco, CA 94102"
},
"payment": {
"paid_via_card_cents": 100000,
"paid_via_credits_cents": 25000,
"credit_balance_snapshot_cents": 475000
}
},
{
"id": "inv_xyz789ghi012",
"number": 12344,
"status": "due",
"amount_cents": 87500,
"invoice_date": 1700179200,
"period_starts_at": 1697500800,
"period_ends_at": 1700179199,
"line_items_path": "/api/v1/invoices/inv_xyz789ghi012",
"invoice_html_url": "https://cloud.typesense.org/invoices/inv_xyz789ghi012",
"account": {
"owner_name": "Acme Corp",
"owner_type": "Team",
"billing_email": "[email protected]",
"additional_billing_information": "123 Main St\nSan Francisco, CA 94102"
},
"payment": {
"paid_via_card_cents": 0,
"paid_via_credits_cents": 0,
"credit_balance_snapshot_cents": 500000
}
}
]
}
This endpoint retrieves detailed information about a specific invoice, including all line items.
curl -X GET --location "https://cloud.typesense.org/api/v1/invoices/inv_abc123def456" \
-H "Accept: application/json" \
-H "X-TYPESENSE-CLOUD-MANAGEMENT-API-KEY: YOUR-API-KEY"
Response:
{
"id": "inv_abc123def456",
"number": 12345,
"status": "paid",
"amount_cents": 125000,
"invoice_date": 1702857600,
"period_starts_at": 1700179200,
"period_ends_at": 1702857599,
"line_items_path": "/api/v1/invoices/inv_abc123def456",
"invoice_html_url": "https://cloud.typesense.org/invoices/inv_abc123def456",
"account": {
"owner_name": "Acme Corp",
"owner_type": "Team",
"billing_email": "[email protected]",
"additional_billing_information": "123 Main St\nSan Francisco, CA 94102"
},
"payment": {
"paid_via_card_cents": 100000,
"paid_via_credits_cents": 25000,
"credit_balance_snapshot_cents": 475000
},
"line_items": [
{
"description": "Node -- 0197kdlrfsubahw4p -- 4 GB RAM, 2 vCPUs, GPU:No, HiPerfDisk:No, HA:Yes, SDN:3 Regions, LoadBalanced:No, Oregon (per node hour)",
"unit_price_cents": 2500,
"quantity": 720,
"price_cents": 1800000,
"line_item_type": "node",
"parameters": {
"cluster_id": "0197kdlrfsubahw4p",
"memory_option": "4gb",
"vcpu_option": "2_vcpus",
"gpu_option": "no",
"high_performance_disk_option": "no",
"high_availability_option": "yes",
"search_delivery_network_option": "3_regions",
"load_balancing_option": "no",
"region": "oregon"
}
},
{
"description": "Bandwidth -- 0197kdlrfsubahw4p -- 4 GB RAM, 2 vCPUs, GPU:No, HiPerfDisk:No, HA:Yes, SDN:3 Regions, LoadBalanced:No, Oregon (per GB)",
"unit_price_cents": 120,
"quantity": 50000000,
"price_cents": 6000000,
"line_item_type": "bandwidth",
"parameters": {
"cluster_id": "0197kdlrfsubahw4p",
"memory_option": "4gb",
"vcpu_option": "2_vcpus",
"gpu_option": "no",
"high_performance_disk_option": "no",
"high_availability_option": "yes",
"search_delivery_network_option": "3_regions",
"load_balancing_option": "no",
"region": "oregon"
}
},
{
"description": "Typesense Cloud Support - Business Plan - 2025-01-01 00:00:00 UTC to 2025-01-31 23:59:59 UTC",
"unit_price_cents": 50000,
"quantity": 1,
"price_cents": 50000,
"line_item_type": "support",
"parameters": {
"plan_name": "Business",
"starts_at": 1735689600,
"ends_at": 1738367999
}
},
{
"description": "Prepaid Credit Purchase",
"unit_price_cents": 10000,
"quantity": 100,
"price_cents": 1000000,
"line_item_type": "prepaid_credit_purchase",
"parameters": {}
}
]
}
| Field | Type | Description |
|---|---|---|
| description | string | Human-readable description of the line item |
| unit_price_cents | integer | Unit price in cents |
| quantity | number | Quantity (can be fractional for some line items) |
For bandwidth line items, the quantity GB transferred with rounding applied. For node line items, the quantity represents node-hours of usage. |
| price_cents | integer | Total price for this line item in cents (quantity * unit_price_cents). |
| line_item_type | string | Type of line item (see table below). |
| parameters | object | Structured metadata specific to the line item type (see table below). |
Each line item in an invoice has a line_item_type field that indicates what the charge is for. The following table describes each type:
| Line Item Type | Description | Parameters Included |
|---|---|---|
node | Cluster node usage charges | cluster_id, memory_option, vcpu_option, gpu_option, high_performance_disk_option, high_availability_option, search_delivery_network_option, load_balancing_option, region |
bandwidth | Bandwidth usage charges | cluster_id, memory_option, vcpu_option, gpu_option, high_performance_disk_option, high_availability_option, search_delivery_network_option, load_balancing_option, region |
support | Support plan subscription charges | plan_name, starts_at (Unix timestamp), ends_at (Unix timestamp) |
prepaid_credit_purchase | Prepaid credit purchases | None |