API

Invoices and payment states

Every payment, request and paid invoice is an invoice. Its status says where the money is.

Statuses

These are the main statuses. A status can also read marked_paid, processing or archived; see the status field below.

Status Shown as Meaning
draft Draft created but not yet delivered to the payer
sent Sent delivered to the payer, not yet opened
viewed Viewed the payer has opened it
authorized Authorized the payer has confirmed the payment; the money is not yet captured
paid Paid the charge succeeded and the money is captured from the payer
deposited Deposited the money has reached the payee's bank; the last status

A held payment

A 200 or 201 can carry an invoice whose status is authorized. The payment is held, not paid: the payee is not yet approved, or the charge was soft-declined. Read the invoice's status, never the HTTP code.

Fields

Field Type Meaning
id string the invoice's id
number string the invoice number people read: a date stamp and both parties' initials
workStartedOn string the start of the period the invoice covers
workEndedOn string the end of that period
dueOn string the day payment is due
createdAt string when the invoice was created
updatedAt string when it last changed
vendorId string the payee
clientId string the payer
estimatedPayoutDate string or null the day the payee is expected to receive the money
token string or null the token in the invoice's shareable link
cashPrice number or null what the payer pays by bank
creditPrice number or null what the payer pays by card
feesForBankAccount number or null the bank fee; inside cashPrice when the payer pays it, otherwise borne by the payee
feesForCreditCard number or null the card fee; inside creditPrice when card pricing is separate
bankAccountId string or null the bank chosen to pay, when the payer paid by bank
creditCardId string or null the card chosen to pay, when the payer paid by card
amount number the invoice's amount, before fees and any tip
currency string the currency code, USD
date string or null the date the payee dated the invoice
pdfUrl string or null a PDF of the invoice, when one exists
type string or null invoice, request, sent (a payment sent through Prio) or booking
recurringPeriod string or null Weekly, Monthly or One Time, for a repeating invoice
recurringEndDate string or null the last day a repeating invoice repeats
recurringMaxPeriods number or null the most times a repeating invoice repeats
tip number a tip the payer added on top of amount
templateId string or null the repeating invoice this one came from
status string or null one of the statuses above, or marked_paid (paid outside Prio), processing (a payment going through) or archived
description string or null what the invoice is for

Formats

Amounts are JSON numbers in US dollars. createdAt and updatedAt carry up to six fractional digits and an offset, as in 2026-10-09T14:03:21.482913+00:00. Dates such as dueOn are YYYY-MM-DD.

Reconciling

Match on your customer's id (as vendorId or clientId), the invoice's id and its number. The date-range read returns the newest first, with no paging and no limit. There is no reference field of your own and no export.

Failed payments

Your console's Payments tab lists failed payments under Failed. The errors Pay an invoice can return are on its page.

Prio may display inaccurate info at times, please double check the responses.