canonical: https://jentic.com/apis/bpaygroup.com.au/bpaygroup

# BPAY Group API

Jentic publishes the only available OpenAPI specification for BPAY Group API, keeping it validated and agent-ready. BPAY is the long-standing Australian bill payment scheme used by households and businesses to pay registered billers via internet and mobile banking. The API exposes bill lookup, payment initiation, and payment status retrieval so accounting systems and AI agents can pay BPAY bills programmatically and reconcile their state. Authentication uses an Authorization header carrying an issued API key.

## For AI agents

List BPAY bills, initiate payments, and check payment status against the Australian BPAY bill payment scheme through three endpoints.

## Scope

Does not handle card or wallet payments, foreign-currency transfers, or KYC onboarding - use for Australian BPAY bill listing and payment initiation only.

## Capabilities

- List BPAY bills available for payment in the connected account
- Initiate a BPAY payment against a biller code and customer reference number
- Retrieve the status of a previously submitted payment by its id
- Authenticate API requests with an issued Authorization header key
- Reconcile completed payments back to the originating bill record

## Use cases

### Programmatic BPAY bill payment from accounting software

Australian accounts payable teams trigger BPAY payments directly from their accounting software so they avoid retyping biller codes and customer reference numbers into a banking portal. POST /payments submits the payment and GET `/payments/{id}` confirms the outcome. Most teams ship a basic integration in a few days once the API key is issued.

Example prompt: Initiate a BPAY payment for biller code 12345, customer reference 9876543210, and amount AUD 250 from the configured source, returning the new payment id

### Payment status reconciliation for AP ledgers

Finance teams reconcile each submitted BPAY payment against the AP ledger so invoices flip to paid only when the BPAY scheme confirms the payment. The reconciliation job calls GET `/payments/{id}` for any in-flight payment and updates the local record. A nightly run keeps ledgers accurate without manual matching.

Example prompt: For each pending payment id in our local store, call GET `/payments/{id}` and update the local status to paid, failed, or pending based on the response

### Bill discovery for treasury workflows

Treasury teams pull a forward view of bills due so they can plan cash. GET /bills returns the bills the account is aware of, ready to feed a cash forecast or scheduling tool. Combined with payment initiation, the team can move from forecast to action without leaving their internal portal.

Example prompt: Call GET /bills, filter to bills with a due date inside the next 14 days, and return the total AUD owed

### Agent-driven BPAY payments via Jentic

An AI agent embedded in a finance team's workflow handles instructions like 'pay the Origin Energy bill for $312.50' by calling BPAY directly. Through Jentic the agent searches for 'initiate a BPAY payment', loads the schema, and executes the call while the Authorization API key stays in your Jentic One instance.

Example prompt: Search Jentic for 'initiate a BPAY payment', load the POST /payments schema, and execute it for biller code 67890, reference 1122334455, and amount AUD 312.50

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/bills` | List BPAY bills |
| POST | `/payments` | Initiate a BPAY payment |
| GET | `/payments/{id}` | Retrieve a payment by id |

## Key resources

- **Bills** — Listed BPAY bills the account can pay
- **Payments** — Initiate a BPAY payment and retrieve a previously submitted payment by id

## Why Jentic

- **Setup:** Wiring BPAY by hand means passing your API key in the Authorization header and coordinating the bill listing and payment initiation calls yourself. Through Jentic you install once, import the BPAY Group API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** BPAY lists bills and initiates payments through the request body, with only the payment lookup carrying an id in the path, so scope the agent to the operations it needs, such as listing bills or checking a payment, and add payment initiation only if the agent requires it. Every operation you allow is one you have explicitly chosen.
- **Credential handling:** Your BPAY Authorization API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'pay a BPAY bill' or 'check a BPAY payment', and Jentic returns the matching BPAY operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **GoCardless API** — Bank-debit payment platform for recurring billing across multiple countries.
- **Stripe API** — Card and wallet payment processor; not a substitute for the BPAY bill scheme but an alternative way to settle invoices.
- **Adyen Checkout API** — Global payments platform with broad payment method coverage including local schemes.

## FAQ

### Why is there no official OpenAPI spec for BPAY Group API?

BPAY does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call BPAY Group API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the BPAY Group API use?

BPAY uses an API key passed in the Authorization request header. The key is issued through the BPAY Group developer portal; in Jentic it is stored in the vault and injected at execution so the raw key never enters the agent's context.

### Can I initiate a BPAY payment with the BPAY Group API?

Yes. POST /payments with the biller code, customer reference number, amount, and source account; BPAY returns a payment id you can later poll with GET `/payments/{id}` for the settled status.

### How do I check the status of a payment through Jentic?

Run pip install jentic, then search Jentic for 'check a BPAY payment status', load the GET `/payments/{id}` schema, and execute it with the payment id. Jentic handles the Authorization header automatically and returns the payment record.

### What are the rate limits for the BPAY Group API?

BPAY does not document explicit per-second rate limits in the spec; reconciliation jobs should poll GET `/payments/{id}` on a measured schedule rather than tight loops. For bill discovery, call GET /bills periodically rather than on every page load.

### Can I list bills due before paying them?

Yes. GET /bills returns the bills the account is currently aware of through the BPAY scheme, which lets a treasury or AP tool plan and stage payments before issuing POST /payments calls.

### Can I limit what my agent is allowed to do with the BPAY Group API?

Yes. Because Jentic One is self-hosted, your own rules decide which BPAY operations the agent may call and which credentials it may use. You can allow only the read operations, GET /bills to list bills and GET `/payments/{id}` to check a payment status, and withhold POST /payments so the agent can report on payments without ever initiating one. Add payment initiation to the allowed set only when the agent genuinely needs to move money, so every operation the agent can reach is one you have explicitly chosen.
