> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Open invoice

> <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.



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json post /api/billing/open-invoice/{invoice_id}
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - PersonalAccessTokenAuth: []
paths:
  /api/billing/open-invoice/{invoice_id}:
    post:
      summary: Open invoice
      description: >-
        <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.
      operationId: open_invoice_api_billing_open_invoice__invoice_id__post
      parameters:
        - name: invoice_id
          in: path
          required: true
          schema:
            type: string
            description: >-
              ID of the invoice, from `invoices[].id` in [Get billing
              info](/api-reference/get-billing-info).
            title: Invoice Id
          description: >-
            ID of the invoice, from `invoices[].id` in [Get billing
            info](/api-reference/get-billing-info).
          example: 2025-0001234
      responses:
        '200':
          description: A link to the invoice.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingPageUrl'
              example:
                url: >-
                  https://manage.wix.com/account/billing/invoices/2025-0001234?token=7c1e9f2a4b8d4e6f9a3c5b7d1e2f4a6c
        '400':
          description: The workspace has no Wix billing account.
        '401':
          description: >-
            Missing or invalid credentials. A read-only token gets this response
            too.
        '403':
          description: You aren't the workspace owner.
        '404':
          description: No invoice with this ID on the workspace.
        '429':
          description: >-
            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.
      security:
        - PersonalAccessTokenAuth:
            - full_access
components:
  schemas:
    BillingPageUrl:
      properties:
        url:
          type: string
          title: Url
          description: >-
            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.
          example: >-
            https://billing.stripe.com/p/session/live_YWNjdF8xTjNYcm1EcjU2TDg5ZGtL
      type: object
      required:
        - url
      title: BillingPageUrl
      description: A hosted billing page for a person to open.
  securitySchemes:
    PersonalAccessTokenAuth:
      type: http
      scheme: bearer
      description: >-
        Personal access token, sent as `Authorization: Bearer <token>`. Each
        operation lists the permission it needs: `read_only` or `full_access`. A
        full-access token can call every operation. A read-only token can call
        only the operations that list `read_only`; anything else returns 403
        `read_only_credential_route_not_allowed`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.