1. Invoices
BNW CORE SERVICE
  • Card Vaulting
    • Create a card vault session
      POST
  • Fee Lookups
    • Compute fees for a transaction
      POST
  • Intent Action Status Lookups
    • Look up the status of an intent action
      GET
  • Payment Intents
    • Create a payment intent
      POST
    • Cancel a payment intent
      PATCH
    • List payment intents
      GET
    • Retrieve a payment intent
      GET
  • Intent Actions
    • Create an intent action
      POST
    • Advance an intent action to the next step
      PATCH
    • Retrieve the authentication session for a pending redirect action
      GET
  • Accounts
    • Create a new account
      POST
    • List accounts
      GET
    • Close an account
      DELETE
    • Update an account
      PATCH
    • Retrieve an account
      GET
    • Retrieve an account's daily payout limit status
      GET
  • API Keys
    • Create an API key
    • List API keys
    • Update an API key
    • Retrieve an API key
    • Revoke an API key
    • Rotate an API key's secret
  • App Setting Values
    • Delete an app setting value
    • Retrieve an app setting value
    • List app setting values
    • Create or update an app setting value
  • Entities
    • Create an entity
    • List entities
    • Close an entity
    • Update an entity
    • Retrieve an entity
    • Set the selected entity
    • Retrieve public metadata for the authenticated entity
    • Create an entity sandbox session
    • Retrieve one of your entities, including your membership
    • List my entities
  • Counterparties
    • Create a counterparty
    • List counterparties
    • Update a counterparty
    • Retrieve a counterparty
  • Maker Checker Approver Groups
    • Create a maker-checker approver group
    • List maker-checker approver groups
    • Deactivate a maker-checker approver group
    • Update a maker-checker approver group
    • Retrieve a maker-checker approver group
  • Bulk Payout Intent Actions
    • Create bulk payout intent actions
    • Retrieve a bulk payout intent action batch
    • Preview bulk payout intent actions
  • Payout Intent Action Retries
    • Retry a failed payout intent action
  • Payout Intent Actions
    • Create a payout intent action
    • List payout intent actions
    • Retrieve a payout intent action
  • Payout Intents
    • Create a payout intent
    • List payout intents
    • Retrieve a payout intent
    • Edit a payout intent
    • Cancel a payout intent's active schedule
    • Edit a payout intent's active schedule
    • Cancel a payout intent
  • Virtual Cards
    • Create a virtual card
    • List virtual cards
    • Update a virtual card
    • Retrieve a virtual card
  • Maker Checker Action Decisions
    • Record a decision on a maker-checker action
  • Maker Checker Actions
    • Retrieve a maker-checker action's status
    • List maker-checker actions
    • Withdraw a maker-checker action
  • Payment Pages
    • Create a payment page
    • List payment pages
    • Delete a payment page
    • Edit a payment page
    • Retrieve a payment page
    • Retrieve a published payment page by slug
  • Invoices
    • Create an invoice
      POST
    • List invoices
      GET
    • Retrieve an invoice
      GET
    • Edit an invoice
      PATCH
    • Retrieve an invoice as a PDF
      GET
    • Download a public invoice as a PDF
      GET
    • Retrieve a public invoice by invoice number
      GET
    • Send a reminder for an invoice
      POST
    • Send or resend an invoice
      POST
  • Entity Data
    • Retrieve the data submission checklist for an entity
    • Submit entity data for KYC requirements
    • List entity data
    • Review and decide on entity data submission
  • Unified Verifs
    • Proxy a DELETE request to the Verification API
    • Proxy a GET request to the Verification API
    • Proxy a PATCH request to the Verification API
    • Forward a POST request to the Verification API
  • Identity Session
    • List identity sessions
    • Complete the MFA step of a pending login session
    • Request a login MFA challenge or one-time-passcode
  • Identity Sessions
    • Terminate all active sessions for an identity
    • Terminate an identity session
  • Entity Sandboxes
    • Create an additional named entity sandbox
    • Delete an entity sandbox
    • Rename an entity sandbox
  • Identity Mfa
    • Passkeys
    • Enroll a new MFA method for the authenticated identity
    • List MFA methods for the authenticated identity
    • Retrieve an identity MFA method
    • Advance or transition the state of an existing MFA method
  • Auth
    • Log in with email and password
    • Register a new identity
    • Request an email verification link
    • Verify an email address
    • Request a password reset
    • Complete a password reset with a one-time token
    • Change the authenticated identity's password
    • Confirm a pending email address change
    • Request a change of the authenticated identity's email address
    • Resend an identity-confirmation email
    • Confirm a phone number change for the current identity
    • Request a phone number change for the current identity
  • Virtual Card Actions
    • Perform an action on a virtual card
  • ACLs
    • List all ACL definitions
  • Account Transfers
    • Create an account transfer
    • List account transfers
    • Retrieve an account transfer
  • ACL Roles
    • List all ACL roles
  • Counterparty Instruments
    • Add a bank account to a counterparty
    • List counterparty instruments
    • Remove a counterparty's bank account
  • Currency Conversion Quotes
    • Create a currency conversion quote
  • Entity Access
    • Change a team member's role on an entity
    • Remove a member's access to an entity
    • List an entity's team members
  • Entity Access Invites
    • Accept an entity access invitation
    • Invite a new member to an entity
    • List entity access invites
    • Revoke an entity access invite
  • Entity Ownership Transfers
    • Transfer ownership of an entity
  • Identity
    • Update the authenticated identity's name
    • Retrieve the authenticated identity
  • Money Action Confirmations
    • Confirm a money-moving action with PIN (and, where required, an authenticator code)
  • Payout Intent Action Returns
    • Record a payout intent action as returned
  • Payout Intent Action Status Logs
    • List a payout intent action's status history
  • Payout Intent Schedule Actions
    • Apply an action to a payout intent's schedule
  • Sandbox
    • Credit test money into an entity's sandbox wallet
    • Reset a shadow entity's sandbox
    • Get or create the sandbox identity for the authenticated identity
    • Provision a sandbox identity and master API key
    • Exchange the sandbox master API key for a login session
    • Fund an entity's test wallet with sandbox test money
  • Transactions
    • Retrieve a transaction
    • List transactions
  • Virtual Card Activity
    • List a virtual card's activity
  • Virtual Card Sessions
    • Create a virtual card viewing session
  • Virtual Card Topups
    • Top up a virtual card
  • Virtual Card Transaction Callbacks
    • Handle an inbound virtual card transaction callback
  • Virtual Card Withdrawals
    • Withdraw funds from a virtual card
  • Schemas
    • ErrorResponse
    • SuccessResponse
    • AccountBalance
    • Account
  1. Invoices

Retrieve a public invoice by invoice number

GET
/public-invoices/{code}
Fetches an invoice by its invoice_number for display on a public, unauthenticated invoice page (e.g. a hosted payment link shared with the invoice recipient). Only invoices in the issued or sent status are visible through this endpoint — invoices that are still a draft, or that have been voided or cancelled, are treated as not found so their existence and contents are never exposed to the public. Each successful call also marks the invoice as viewed for the first time (setting viewed_at), which downstream analytics and reminder logic rely on; subsequent views of the same invoice do not update viewed_at again. The response embeds a minimal entity object (name and logo) so the invoice page can be branded without a separate authenticated lookup.

Request

Path Params

Responses

🟢200
application/json
Invoice found, publicly visible, and returned successfully.
Bodyapplication/json

🟠400
🟠404
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/public-invoices/INV-01HQZR2BKPFQ8MXJVT3G7LWND'
Response Response Example
200 - Success
{
    "message": "Invoice retrieved successfully",
    "status": "success",
    "data": {
        "id": "01HQZR2BKPFQ8MXJVT3G7LWNE",
        "invoice_number": "INV-01HQZR2BKPFQ8MXJVT3G7LWND",
        "currency": "NGN",
        "description": "Consulting services for Q3 2026",
        "due_date": 1767225600000,
        "status": "sent",
        "issued_at": 1754524800000,
        "fully_paid_at": null,
        "payment_status": "unpaid",
        "payment_intent_id": null,
        "recipient": {
            "name": "Ada Lovelace",
            "email": "ada@example.com",
            "mobile": "+2348012345678",
            "address": {
                "line_one": "12 Marina Road",
                "line_two": "Suite 4B",
                "city": "Lagos",
                "state": "Lagos State",
                "country": "Nigeria",
                "code": "101233",
                "code_type": "postal"
            }
        },
        "line_items": [
            {
                "id": "01HQZR2BKPFQ8MXJVT3G7LW01",
                "name": "Consulting hours",
                "description": "40 hours at senior rate",
                "unit_amount": 5000,
                "quantity": 40,
                "amount": 200000
            }
        ],
        "applicable_charges": [
            {
                "category": "tax",
                "charge_name": "VAT",
                "description": "7.5% VAT on services",
                "value": 7.5,
                "value_type": "percentage",
                "application_type": "additional",
                "resolved_amount": 15000,
                "basis": "subtotal",
                "sequence": 1
            }
        ],
        "tranches": [
            {
                "id": "01HQZR2BKPFQ8MXJVT3G7LW02",
                "name": "First installment",
                "description": "50% deposit",
                "value": 50,
                "value_type": "percentage",
                "due_date": 1760227200000,
                "resolved_amount": 107500,
                "status": "pending"
            }
        ],
        "client_meta": {
            "external_reference": "ord-2026-0912"
        },
        "customisation_meta": {
            "accent_color": "#1A73E8"
        },
        "total_amount": 215000,
        "total_deductible_charges": 0,
        "total_additional_charges": 15000,
        "created": 1754524800000,
        "updated": 1754524800000,
        "entity": {
            "name": "Acme Exports Ltd",
            "logo": "https://cdn.example.com/entities/acme/logo.png"
        }
    }
}
Modified at 2026-09-30 00:29:45
Previous
Download a public invoice as a PDF
Next
Send a reminder for an invoice
Built with