Skip to content
Start here

Get invoice preview

client.aiGateway.billing.invoicePreview(BillingInvoicePreviewParams { account_id } params, RequestOptionsoptions?): BillingInvoicePreviewResponse { id, amount_due, amount_paid, 6 more }
GET/accounts/{account_id}/ai-gateway/billing/invoice-preview

Retrieve a preview of the upcoming invoice including line items and tax.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
AI Gateway WriteAI Gateway Read
ParametersExpand Collapse
params: BillingInvoicePreviewParams { account_id }
account_id: string

Cloudflare account ID.

ReturnsExpand Collapse
BillingInvoicePreviewResponse { id, amount_due, amount_paid, 6 more }
id: string
amount_due: number
amount_paid: number
amount_remaining: number
currency: string
invoice_lines: Array<InvoiceLine>
amount: number
currency: string
description: string | null
period: Period { end, start }
end: number
start: number
pricing: Pricing { unit_amount_decimal }
unit_amount_decimal: string | null
quantity: number
pretax_credit_amounts?: Array<PretaxCreditAmount>
amount: number
type: string
credit_balance_transaction?: string | null
discount?: string | null
period_end: number
period_start: number
status: "draft" | "open" | "paid" | 2 more
One of the following:
"draft"
"open"
"paid"
"uncollectible"
"void"

Get invoice preview

import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

const response = await client.aiGateway.billing.invoicePreview({ account_id: 'account_id' });

console.log(response.id);
{
  "errors": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "messages": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "result": {
    "id": "id",
    "amount_due": 0,
    "amount_paid": 0,
    "amount_remaining": 0,
    "currency": "currency",
    "invoice_lines": [
      {
        "amount": 0,
        "currency": "currency",
        "description": "description",
        "period": {
          "end": 0,
          "start": 0
        },
        "pricing": {
          "unit_amount_decimal": "unit_amount_decimal"
        },
        "quantity": 0,
        "pretax_credit_amounts": [
          {
            "amount": 0,
            "type": "type",
            "credit_balance_transaction": "credit_balance_transaction",
            "discount": "discount"
          }
        ]
      }
    ],
    "period_end": 0,
    "period_start": 0,
    "status": "draft"
  },
  "success": true,
  "result_info": {
    "has_more": true,
    "page": 0,
    "per_page": 0,
    "total_count": 0
  }
}
Returns Examples
{
  "errors": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "messages": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "result": {
    "id": "id",
    "amount_due": 0,
    "amount_paid": 0,
    "amount_remaining": 0,
    "currency": "currency",
    "invoice_lines": [
      {
        "amount": 0,
        "currency": "currency",
        "description": "description",
        "period": {
          "end": 0,
          "start": 0
        },
        "pricing": {
          "unit_amount_decimal": "unit_amount_decimal"
        },
        "quantity": 0,
        "pretax_credit_amounts": [
          {
            "amount": 0,
            "type": "type",
            "credit_balance_transaction": "credit_balance_transaction",
            "discount": "discount"
          }
        ]
      }
    ],
    "period_end": 0,
    "period_start": 0,
    "status": "draft"
  },
  "success": true,
  "result_info": {
    "has_more": true,
    "page": 0,
    "per_page": 0,
    "total_count": 0
  }
}