---
title: "Open invoice"
method: POST
path: "/api/billing/open-invoice/{invoice_id}"
---

# Open invoice

`POST /api/billing/open-invoice/{invoice_id}`

## Request

- Base URL: `https://app.base44.com`
- URL: `https://app.base44.com/api/billing/open-invoice/{invoice_id}`
- Auth: HTTP bearer

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns a link to view or download one invoice. The link opens a hosted page or PDF for a person to open in a browser. Only the workspace owner can call this.

Use it for invoices billed through Wix, and for Google Ads charges on a workspace billed through Wix. Open Wix invoices here rather than through their `hosted_invoice_url`. Stripe invoices already carry `hosted_invoice_url` and `invoice_pdf` in [Get billing info](/api-reference/get-billing-info), so you don't need this endpoint for them. It works only on a workspace that has a Wix billing account, and returns 400 on any other.

A Wix invoice link works once. A Google Ads link is Stripe's own invoice PDF or page.

The call can take up to 30 seconds while the billing providers answer. If a provider doesn't answer, its invoices read as not found, so retry a 404 for an ID you just read from Get billing info.

The base rate limit is 20 requests per hour per user. See [Rate limits](/developers/references/apps-api/get-started/rate-limits) for the multiplier your plan gets.

## Path parameters

- `invoice_id` string, required: ID of the invoice, from `invoices[].id` in [Get billing info](/api-reference/get-billing-info).

## Response `200`

A link to the invoice.

- BillingPageUrl: A hosted billing page for a person to open.
  - `url` string, required: Link to a hosted page. Open it in a browser for a person to finish there. Some links work only once or expire, so open it right away and don't store it.

## Other responses

- `400`: The workspace has no Wix billing account.
- `401`: Missing or invalid credentials. A read-only token gets this response too.
- `403`: You aren't the workspace owner.
- `404`: No invoice with this ID on the workspace.
- `429`: Rate limit exceeded. The base rate limit is 20 requests per hour per user. See [Rate limits](/developers/references/apps-api/get-started/rate-limits) for the multiplier your plan gets.

## Changes

> 66 revisions in range; 1 not diffed.

- **2026-10-26** `395a6758864a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/adexad/apis/base44-app-management-api/changes/api/billing/open-invoice/:invoice_id/post.md)

---

[API](https://skmtc.dev/adexad/apis/base44-app-management-api.md) - [All operations](https://skmtc.dev/adexad/apis/base44-app-management-api/llms.txt) - [OpenAPI document](https://skmtc.dev/adexad/apis/base44-app-management-api/revisions/d877a932dc19?raw)
