Skip to main content
GET
Retrieve an invoice

Authorizations

Authorization
string
header
required

A secret key, sk_test_... or sk_live_...; a publishable key (pk_...) on the browser routes only

Path Parameters

id
string
required
Required string length: 1 - 64

Response

The invoice

object
enum<string>
required
Available options:
invoice
id
string<uuid>
required
Example:

"019e2b4c-7a1d-7c3e-9f20-5b8d4e6a1c31"

number
string | null
required

The invoice number your customer sees.

Example:

"INV-1042"

external_id
string | null
required

Your ERP's id for the invoice; null for invoices created in the Payra dashboard.

Example:

"SO-55512"

customer
string<uuid>
required

The customer the invoice bills, as GET /customers/{id} knows it.

Example:

"019e2b4c-7a1d-7c3e-9f20-5b8d4e6a1c30"

status
enum<string>
required

open still owes money, whether sent or scheduled to be sent; paid and canceled are settled. Drafts are not listed.

Available options:
open,
paid,
canceled
Example:

"open"

past_due
boolean
required

True from the day after due_date while the invoice is open.

Example:

false

currency
string
required

ISO 4217: USD or CAD.

Example:

"USD"

total
integer
required

The invoice total, in the smallest unit.

Example:

125000

amount_paid
integer
required

Collected so far, refunds netted out.

Example:

25000

amount_pending
integer
required

Charges still processing, such as a bank debit not yet settled; owed until they fail.

Example:

0

amount_due
integer
required

What a payer can still pay today: the total less what was paid, pending or written off. An early-payment discount is applied on the payment page, not here.

Example:

100000

invoice_date
string<date>
required
Example:

"2026-09-30"

due_date
string<date>
required
Example:

"2026-10-30"

payment_url
string<uri> | null
required

The hosted page where the customer pays this invoice. Null when there is none a payer could use: the invoice is settled, nothing is left to pay while a charge is pending, its link expired or was revoked, or no link was ever made (an invoice created in the dashboard and never sent). The URL stays the same while it works, so it can be printed; it changes when the invoice is sent again from the dashboard, and the earlier one keeps working.

Example:

"https://dashboard.payra.com/pay/4f8c1d2e3b5a6c7d8e9f0a1b2c3d4e5f"

livemode
boolean
required
Example:

true

created_at
string<date-time>
required
Example:

"2026-09-30T23:00:40.670Z"