Versapay Invoices API
As a supplier invoices are your receivables. ## Webhooks When using Webhooks, your application will be notified when key events are triggered for an invoice.
As a supplier invoices are your receivables. ## Webhooks When using Webhooks, your application will be notified when key events are triggered for an invoice.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/versapay-invoices-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 1.3.35
title: Versapay API Reference Invoices API
contact:
name: Versapay Support
url: https://www.versapay.com/support
email: support@versapay.com
x-logo:
url: https://developers.versapay.com/images/logo.png
termsOfService: https://www.versapay.com/terms-of-use
license:
name: Copyright 2022 Versapay. All Rights Reserved.
description: 'As a supplier invoices are your receivables.
## Webhooks
When using Webhooks, your application will be notified when key events are triggered for an invoice.
'
servers:
- url: https://secure.versapay.com
description: Production
- url: https://uat.versapay.com
description: UAT
tags:
- name: Invoices
description: 'As a supplier invoices are your receivables.
## Webhooks
When using Webhooks, your application will be notified when key events are triggered for an invoice.
'
paths:
/api/imports/invoice:
post:
summary: Create and Update Invoice
description: "Create and update invoices. If the invoice already exists when a request is processed, it will be updated. If attachment is provided, will include the document in the invoice.<br><br>\nThe set of attributes to send in the request body may vary based on the account configuration. Please contact the implementation specialist for more information.<br><br>\n*Note:*\n * *Customer will be created/updated using the customer_* attributes if necessary at time of invoice import.*\n * *Any additional non-standard attribute will be stored with invoice record and available for presentment rendering.*\n"
tags:
- Invoices
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Invoice'
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
identifier:
type: string
example: INV002
message:
type: string
example: 1 invoice 1 line items
pay_url:
type: string
example: https://secure.versapay.com/pay/a25f5d86-552a-4868-907e-e3a5932cff36
pay_urls:
$ref: '#/components/schemas/PaymentUrls'
'401':
$ref: '#/components/responses/UnauthorizedError'
'412':
$ref: '#/components/responses/PreconditionFailed'
/api/imports/invoice/{invoice_number}/attachment:
post:
summary: Add Invoice Attachment
description: 'Add or update a PDF attachment to an existing invoice. The attachment will be included with the invoice and available for customer viewing.<br><br>
The attachment content must be provided as a base64 encoded string. This endpoint is subject to rate limiting and file size restrictions.<br><br>
### Size Limit
The file cannot exceed 25MB.
'
tags:
- Invoices
parameters:
- name: invoice_number
in: path
required: true
description: 'Invoice `number` or `display_number` of the existing invoice, must align with find_by locator.
'
schema:
type: string
example: INV-NUMBER-1234
requestBody:
content:
application/json:
schema:
type: object
required:
- find_by
- file_name
- content
properties:
find_by:
type: string
description: 'Specifies how to match the invoice identifier in the path parameter.
'
enum:
- number
- display_number
example: number
invoice_display:
type: boolean
description: 'When `true`, the attachment will be displayed as the primary invoice document. When `false` or omitted, the attachment will be included as a supplementary document.
'
default: true
example: true
file_name:
type: string
description: 'Name of the attachment file. Should include the file extension (e.g., .pdf).
'
example: INV-NUMBER-1234.pdf
maxLength: 255
content:
type: string
description: 'Base64 encoded content of the PDF attachment. The decoded content cannot exceed 25MB.
'
example: JVBERi0xLjQKJdPr6eEKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSA4IFRmCjEwIDcwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iago=
examples:
add_primary_attachment:
summary: Add attachment as primary invoice display using invoice number as the basis for lookup/matching
value:
find_by: number
invoice_display: true
file_name: INV-NUMBER-1234.pdf
content: JVBERi0xLjQKJdPr6eEKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSA4IFRmCjEwIDcwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iago=
add_supplementary_attachment:
summary: Add attachment as supplementary document using invoice display number as the basis for lookup/matching
value:
find_by: display_number
invoice_display: false
file_name: supporting_docs.pdf
content: JVBERi0xLjQKJdPr6eEKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSA4IFRmCjEwIDcwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iago=
responses:
'200':
description: Attachment successfully added/updated
content:
application/json:
schema:
type: object
properties:
message:
type: string
description: Confirmation message indicating successful attachment operation
example: 1 attachment for invoice INV-NUMBER-1234
identifier:
type: string
description: The file name of the added attachment
example: INV-NUMBER-1234.pdf
'401':
$ref: '#/components/responses/UnauthorizedError'
'404':
$ref: '#/components/responses/NotFoundError'
/api/exports/invoice/{number_or_id}:
get:
summary: Export/View an Invoice
description: 'View an invoice.<br><br>
The path parameter `number_or_id` is matched to the invoice `number`, `display_number` or `id`, in that order.
'
tags:
- Invoices
parameters:
- name: number_or_id
in: path
required: true
description: '`number` or `display_number` or `id` of the invoice record.
'
schema:
type: string
- name: options
in: query
schema:
type: array
items:
type: string
required: false
description: 'An array of additional options that determine if extra data should be fetched for the invoice
'
- name: options[payments]
in: query
schema:
type: boolean
required: false
description: 'When this option is present: `?options[payments]=true` then an extra attribute is appended to the payload `payments`, this `payments` attribute will contain an array of all the PaymentAmounts associated with the exported invoice. When the supplier is enabled for `line_item_short_pay` then within the payments array there will be a nested structure of `line_item_transactional_amounts` containing the information corresponding to each line item that has been short paid.
'
responses:
'200':
description: Successful Operation
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceResponse'
'401':
$ref: '#/components/responses/UnauthorizedError'
'404':
$ref: '#/components/responses/NotFoundError'
/api/exports/invoices/recent:
get:
summary: Export Invoices Recently Updated
description: 'Invoice records that have been updated in the past 7 days, since watermark, limited to 100 records at a time.<br><br>A consumer should store the last `id` value of each response and include it as the watermark parameter for subsequent calls.
'
tags:
- Invoices
parameters:
- name: watermark
in: query
description: The value to base a subsequent extract of the next 100 items.
schema:
$ref: '#/components/schemas/Watermark'
- name: list
in: query
description: See Watermark & Limit for more information on response structure.
schema:
type: boolean
example: true
- name: options[include_deleted_invoices]
in: query
schema:
type: boolean
required: false
description: 'When this option is present: `?options[include_deleted_invoices]=true` then an extra attribute (deleted) is appended for each invoice, and invoices payload will contain both deleted and non-deleted invoices. If `?options[include_deleted_invoices]=false` or not set, only non-deleted invoices will be returned and invoice won''t contain deleted attribute.
'
responses:
'200':
description: Successful Operation
content:
application/json:
schema:
type: object
properties:
invoices:
type: object
additionalProperties:
$ref: '#/components/schemas/InvoiceResponse'
examples:
invoice:
value:
invoices:
'13207501':
number: sh763-h3454-dh3432
display_number: INV1234
customer_identifier: CUS001
amount_cents: 40000
owing_cents: 30000
subtotal_tax1: $0.00
subtotal_tax2: $0.00
currency: usd
date: '2017-11-01'
due_date: '2017-12-15'
order_date: null
purchase_order_number: PO-3847
notes_text: Thank you for your business
shipping_name: Acme Inc.
shipping_address:
address_1: 1 Main Street
address_2: Suite 600
city: New York
state: NY
zip: '90210'
country: US
country_name: United States
line_1: 1 Main Street, Suite 600
line_2: New York, NY 90210
line_item_attributes:
- number: '001'
description: Modems
amount_cents: 40000
balance_cents: 40000
quantity: 40
unit_cost_cents: 1000
id: 6935660
identifier: acme|sh763-h3454-dh3432|001
invoice_id: 4344538
order_key: null
purchase_order_number: null
recurring_invoice_id: null
extended_attributes:
item_number: A3947C9878
auto_debit: true
division: '770'
auto_pay_reference: null
ref1: null
ref2: null
ref3: null
adjustments_attributes:
- label: Surcharge
amount_cents: 2000
id: 2212
invoice_id: 4344538
recurring_invoice_id: null
plan_identifier: null
plan_start_date: null
plan_end_date: null
plan_payment_cents: null
annualized_amount_cents: null
annualized_effective_date: null
annualized_expiry_date: null
external_id: null
status: CURRENT
delivery_status: not_sent
extended_attributes:
lease_type: LS
currency_mode: D
summary_invoice_parent: 0
summary_invoice_number: null
service_rep_email: john.doe@supplier.com;jane.doe@supplier.com
'401':
$ref: '#/components/responses/UnauthorizedError'
/api/exports/open_invoices:
get:
summary: Export Open Invoices
description: 'Invoice records with an open balance, limited to 100 records at a time.<br><br>
A supplier should store the last `watermark` value of each
response and include it as the watermark parameter for subsequent calls.
'
tags:
- Invoices
parameters:
- name: watermark
in: query
description: The value to base a subsequent extract of the next 100 items.
schema:
$ref: '#/components/schemas/Watermark'
- name: list
in: query
description: See Watermark & Limit for more information on response structure.
schema:
type: boolean
example: true
- name: options[include_deleted_invoices]
in: query
schema:
type: boolean
required: false
description: 'When this option is present: `?options[include_deleted_invoices]=true` then an extra attribute (deleted) is appended for each invoice, and invoices payload will contain both deleted and non-deleted invoices. If `?options[include_deleted_invoices]=false` or not set, only non-deleted invoices will be returned and invoice won''t contain deleted attribute.
'
responses:
'200':
description: Successful Operation
content:
application/json:
schema:
type: object
properties:
invoices:
type: object
additionalProperties:
$ref: '#/components/schemas/InvoiceResponse'
example:
invoices:
'13207501':
identifier: example|invoice1SZTYMS
number: invoice1SZTYMS
display_number: invoice1SZTYMS
amount_cents: 249530
currency: usd
subtotal_cents: 249530
subtotal1_tax_cents: null
subtotal2_tax_cents: null
customer_identifier: CUS001
date: '2022-08-29'
due_date: '2022-08-29'
purchase_order_number: PO-BZMGNZIZ
notes_text: null
shipping_name: null
shipping_address_1: null
shipping_address_2: null
shipping_city: null
shipping_state: null
shipping_zip: null
auto_debit: 1
division: ATL
auto_debit_reference: null
auto_pay_reference: null
owing_cents: 249530
ref1: null
ref2: null
ref3: null
ref4: null
external_id: null
delivery_status: not_sent
payment_date: null
receivables_url: https://versapay.com/receivables/invoices/13207501
discount_expiry_date: null
discount_rate: null
discount_amount_cents: 0
'13207502':
identifier: example|invoice2TRVEPE
number: invoice2TRVEPE
display_number: invoice2TRVEPE
amount_cents: -158088
currency: usd
subtotal_cents: -158088
subtotal1_tax_cents: null
subtotal2_tax_cents: null
customer_identifier: CUS002
date: '2022-11-05'
due_date: '2022-12-05'
purchase_order_number: PO-SWGHBBRN
notes_text: null
shipping_name: null
shipping_address_1: null
shipping_address_2: null
shipping_city: null
shipping_state: null
shipping_zip: null
auto_debit: 1
division: CTL
auto_debit_reference: null
auto_pay_reference: null
owing_cents: -158088
ref1: null
ref2: null
ref3: null
ref4: null
external_id: null
delivery_status: not_sent
payment_date: null
receivables_url: https://versapay.com/receivables/invoices/13207502
discount_expiry_date: null
discount_rate: null
discount_amount_cents: 0
'401':
$ref: '#/components/responses/UnauthorizedError'
components:
schemas:
InvoiceResponse:
type: object
properties:
number:
type: string
description: Invoice number, unique within a supplier.
display_number:
type: string
description: Invoice number as displayed to customers.
currency:
type: string
description: Currency code, based on ISO-4217, in lowercase. E.g. `cad`, `usd`, `aud`
amount_cents:
type: integer
description: The invoice amount in cents.
subtotal_tax1:
type: string
description: Tax amount, in dollars.
subtotal_tax2:
type: string
description: Additional field to carry tax amount, in dollars. For example, when invoice shows state (provincial) and federal taxes.
customer_identifier:
type: string
description: Unique identifier for customer.
date:
type: string
format: date
description: Invoice date, YYYY-MM-DD, based on ISO-8601.
order_date:
type: string
format: date
description: Order date, YYYY-MM-DD.
due_date:
type: string
format: date
description: Invoice due date, YYYY-MM-DD.
purchase_order_number:
type: string
description: Purchase order number.
notes_text:
type: string
description: Optional text field up to 64K.
shipping_name:
type: string
description: 'Shipping address: recipient name'
shipping_address:
type: object
description: Shipping address
properties:
address_1:
type: string
description: Shipping address, line 1
address_2:
type: string
description: Shipping address, line 2
city:
type: string
description: 'Shipping address: city'
state:
type: string
description: 'Shipping address: state or province. Based on the second part (after hyphen) of codes in ISO 3166-2 standard. E.g. "ON" for Ontario, "CA" for California'
country:
type: string
description: Shipping country code. E.g. "US" for USA.
country_name:
type: string
description: Shipping country name.
zip:
type: string
description: 'Shipping address: zip or postal code'
line_1:
type: string
description: 'Single line combining shipping `address_1` and `address_2`.
'
line_2:
type: string
description: 'Single line combining shipping `city`, `state` and `zip`.
'
line_item_attributes:
type: array
description: Details of each line-item for the invoice.
items:
$ref: '#/components/schemas/LineItemResponse'
auto_debit:
type: boolean
description: '`true` (invoice is to be auto-paid if customer has pre-authorized payment) or `false` (invoice is to be paid manually by customer)
'
division:
type: string
description: Division code, applicable when supplier supports divisions.
auto_pay_reference:
type: string
description: Reference number associated to the invoice, used in AutoPay agreements.
owing_cents:
type: integer
description: Balance remaining on this invoice or credit memo.
status:
type: string
description: 'The status of the invoice. Can be one of `DRAFT`, `CURRENT`, `OVERDUE`, `PARTIAL`, `PAID`, `CREDIT` or `CLOSED`.
'
enum:
- DRAFT
- CURRENT
- OVERDUE
- PARTIAL
- PAID
- CREDIT
- CLOSED
delivery_status:
type: string
description: 'The delivery status of the invoice. Statuses in the API map to those in the UI as follows:<br>
The email delivery statuses in the API reflect the following statuses from UI:
|API Status|Status in the UI|
|:--|:--|
|`new`|"Not Tracked"|
|`not_sent`|"Available"|
|`sent`|"Email Sent"|
|`delivery_unknown`|"Delivery Unknown"|
|`not_delivered`|"Not Delivered"|
|`delivered`|"Email Delivered"|
|`opened`|"Email Opened"|
|`clicked`|"Viewed"|
'
enum:
- new
- not_sent
- sent
- delivery_unknown
- not_delivered
- opened
- clicked
ref1:
type: string
description: A reference that is meaningful to the customer, e.g. Policy number, contract number, etc.
ref2:
type: string
description: As above.
ref3:
type: string
description: As above.
adjustments_attributes:
type: array
description: Adjustments such as Fuel Surcharge or Discount on the invoice.
items:
type: object
properties:
label:
type: string
description: Label for adjustment amount.
amount_cents:
type: integer
description: Adjustment amount in cents.
id:
type: integer
description: Internal id of the adjustment.
invoice_id:
type: integer
description: Internal id of the invoice.
recurring_invoice_id:
type: integer
description: Internal id of the recurring invoice. Applicable when supplier is configured to create recurring invoices.
plan_identifier:
type: string
description: Payment plan template identifier. Applicable when supplier is configured for payment plans.
plan_start_date:
type: string
format: date
description: Payment plan start date. Applicable when supplier is configured for payment plans.
plan_end_date:
type: string
format: date
description: Payment plan end date. Applicable when supplier is configured for payment plans.
plan_payment_cents:
type: integer
description: Payment plan recurring payment amount in cents. Applicable when supplier is configured for payment plan.
annualized_amount_cents:
type: integer
description: The annual invoice amount in cents. Applicable if the supplier is configured for payment plans.
annualized_effective_date:
type: string
format: date
description: The date that the annualized_amount takes effect. Applicable if the supplier is configured for payment plans.
annualized_expiry_date:
type: string
format: date
description: The end date of the period for which the annualized_amount is in effect. Applicable if the supplier is configured for payment plans.
external_id:
type: string
description: Optional external identifier for the invoice to be included in payment exports.
extended_attributes:
type: object
description: Additional non-standard attribute stored with the invoice record for presentment rendering.
properties:
key:
type: string
description: Key-value pair of the extended attribute on the invoice.
summary_invoice_parent:
type: string
description: Flag that indicates if the invoice is a summary invoice. Default is 0 (invoice is not a summary invoice).
summary_invoice_number:
type: string
description: If the invoice in the row is a child of a summary invoice, that summary invoice's identifier appears here.
service_rep_email:
type: string
description: One or more supplier user email addresses (semi-colon delimited) that will be used for notification routing eg when in dispute each specified rep is notified only.
pay_url:
type: string
description: The URL to the anonymous click-to-pay page. This value is provided only for open invoices in an owing position.
pay_urls:
type: object
description: Context sensitive URLs to click-to-pay page, keyed by recipient email addresses. These values are only provided for open invoices in an owing position.
properties:
key:
type: string
description: Key-value pair of the context sensitive click-to-pay URLs.
deleted:
type: boolean
description: Indicates if the invoice has been deleted, this is optional and only present based on request parameter.
example:
number: sh763-h3454-dh3432
display_number: INV1234
customer_identifier: CUS001
amount_cents: 40000
owing_cents: 30000
subtotal_tax1: $0.00
subtotal_tax2: $0.00
currency: usd
date: '2017-11-01'
due_date: '2017-12-15'
order_date: null
purchase_order_number: PO-3847
notes_text: Thank you for your business
shipping_name: Acme Inc.
shipping_address:
address_1: 1 Main Street
address_2: Suite 600
city: New York
state: NY
zip: '90210'
country: US
country_name: United States
line_1: 1 Main Street, Suite 600
line_2: New York, NY 90210
line_item_attributes:
- number: '001'
description: Modems
amount_cents: 40000
balance_cents: 40000
quantity: 40
unit_cost_cents: 1000
id: 6935660
identifier: acme|sh763-h3454-dh3432|001
invoice_id: 4344538
order_key: null
purchase_order_number: null
recurring_invoice_id: null
extended_attributes:
item_number: A3947C9878
auto_debit: true
division: '770'
auto_pay_reference: null
ref1: null
ref2: null
ref3: null
adjustments_attributes:
- label: Surcharge
amount_cents: 2000
id: 2212
invoice_id: 4344538
recurring_invoice_id: null
plan_identifier: null
plan_start_date: null
plan_end_date: null
plan_payment_cents: null
annualized_amount_cents: null
annualized_effective_date: null
annualized_expiry_date: null
external_id: null
status: CURRENT
delivery_status: not_sent
extended_attributes:
lease_type: LS
currency_mode: D
summary_invoice_parent: 0
summary_invoice_number: null
service_rep_email: john.doe@supplier.com;jane.doe@supplier.com
pay_url: https://secure.versapay.com/pay/a25f5d86-552a-4868-907e-e3a5932cff36
pay_urls:
CUS001@example.com: https://secure.versapay.com/pay/198e7073-53d0-435a-baff-87ce390581c5G
payments:
- payment_reference: 959YTHNMESPV
invoice_number: 1
date: '2022-10-26'
amount: 870
plan_fee: 0
payment_amount: 870
payment_transaction_amount: 870
payment_transaction_token: 9559NENM23SK
payment_method: (0013)
payment_from_bank_account: true
payment_from_credit_card: false
payment_institution_name: null
payment_credit_card_brand: null
short_pay_indicator: Y
payment_note: null
auto_debit_indicator: N
invoice_balance: 5030
payment_timestamp: '2022-10-26T12:40:36-04:00'
invoice_division: CTL
invoice_division_number: null
invoice_division_name: Central
pay_to_bank_account: 100007
pay_to_bank_account_name: (0007)
settlement_token: BA7G777DNABC
customer_identifier: C10
customer_name: Customer 10 Williamson
status: PAID
payment_source: ARC
payment_code: null
payment_description: null
gateway_authorization_code: TM37E6
purchase_order_number: null
ref1: null
ref2: null
ref3: null
short_pay_reason_identifier: null
short_pay_reason: null
dispute_reason_identifier: null
dispute_reason: null
invoice_amount_paid: 870
invoice_amount: 5900
invoice_identifier: global|1
invoice_date: '2022-10-26'
invoice_external_id: null
invoice_currency: usd
invoice_purchase_order_number: new_line_item_short_pay_invoice_1
invoice_ref1: null
invoice_ref2: null
invoice_ref3: null
cumulative_customer_amount: 870
checkout_token: 6JQSRWISTPA4
status_reason: null
pay
# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/versapay/refs/heads/main/openapi/versapay-invoices-api-openapi.yml