Zepto Transactions API
By default, the transactions endpoint provides a detailed look at all past, current and future debits & credits related to your account. Want to also know about the debits & credits applied to the other party? No problem! Use the both_parties=true query string. ##Lifecycle A transaction (debit or credit) can have the following statuses: | Status | Description | |--------|-------------| | `maturing` | The maturation date has not yet been reached. | | `matured` | The maturation date has been reached and the transaction is eligible for processing. | | `preprocessing` | The transaction is undergoing pre-checks before being sent to the bank. | | `processing` | The transaction has been submitted to the bank. | | `clearing` | Waiting for confirmation from the bank that the transaction has succeeded. | | `cleared` | The transaction is complete. | | `rejected` | The bank has rejected the transaction due to incorrect bank account details. | | `returned` | The transaction did not successfully clear. | | `voided` | The transaction has been cancelled and is no longer eligible for processing. | | `pending_verification` | The bank account must be verified before the transaction can proceed. | | `paused` | The transaction has temporary been paused by Zepto pending internal review. | | `channel_switched` | The initial payment channel has failed and the credit has automatically switched to attempt the payment using the next available channel. | ## Failure codes > Example response ```json { "data": [ { "ref": "D.3", "parent_ref": null, "type": "debit", "category": "payout_refund", "created_at": "2021-04-07T23:15:00Z", "matures_at": "2021-04-10T23:15:00Z", "cleared_at": null, "bank_ref": null, "status": "returned", "status_changed_at": "2021-04-08T23:15:00Z", "failure" : { "code": "E251", "title": "Voided By Initiator", "detail": "The transaction was voided by its initiator.", }, "failure_details": "Wrong amount - approved by Stacey" "party_contact_id": "26297f44-c5e1-40a1-9864-3e0b0754c32a", "party_name": "Sanford-Rees", "party_nickname": "sanford-rees-8", "description": null, "amount": 1, "bank_account_id": "56df206a-aaff-471a-b075-11882bc8906a" "channels": ["float_account"] "current_channel": "float_account" } ] } ``` The rejected, returned & voided statuses are always accompanied by a failure code, title and detail as listed below. ### DE credit failures | Code | Title | Detail | | ------------ | ------------- | -------------- | | E101 | Invalid BSB Number | The BSB is not valid or is no longer active. | | E102 | Payment Stopped | The target institution has blocked transactions to this account. Please refer to customer. | | E103 | Account Closed | The target account is closed. | | E104 | Customer Deceased | The target account's owner has been listed as deceased. | | E105 | Account Not Found | The target account number cannot be found by the financial institution. | | E106 | Refer to Customer | Usually means that there is an issue with the account receiving a credit that only the customer and their financial institution can resolve. Please refer to customer. | | E107 | Account Deleted | The target account is deleted. | | E108 | Invalid UserID | Please contact Zepto for further information. | | E109 | Technically Invalid | Usually means that the account is not creditable or that the reason for failure cannot be categorised within the standard BECS return codes. Please refer to customer. | | E150 | Voided By Admin | The transaction was voided by an administrator. | | E151 | Voided By Initiator | The transaction was voided by its initiator. | | E152 | Insufficient Funds | There were insufficient funds to complete the transaction. | | E153 | System Error | The transaction was unable to complete. Please contact Zepto for assistance. | | E154 | Account Blocked | The target account is blocked and cannot receive funds. | | E199 | Unknown DE Error | An unknown DE error occurred. Please contact Zepto for assistance. | ### DE debit failures | Code | Title | Detail | | ------------ | ------------- | -------------- | | E201 | Invalid BSB Number | The BSB is not valid or is no longer active. | | E202 | Payment Stopped | The target institution has blocked transactions to this account. Please refer to customer. | | E203 | Account Closed | The target account is closed. | | E204 | Customer Deceased | The target account's owner has been listed as deceased. | | E205 | Account Not Found | The target account number cannot be found by the financial institution. | | E206 | Refer to Customer | Usually means insufficient funds or that the target account has breached their transaction limits. | | E207 | Account Deleted | The target account is deleted. | | E208 | Invalid UserID | Please contact Zepto for further information. | | E209 | Technically Invalid | Usually means that the account is not debitable or that the reason for failure can not be categorised within the standard BECS return codes. Please refer to customer. | | E250 | Voided By Admin | The transaction was voided by an administrator. | | E251 | Voided By Initiator | The transaction was voided by its initiator. | | E252 | Insufficient Funds | There were insufficient funds to complete the transaction. | | E253 | System Error | The transaction was unable to complete. Please contact Zepto for assistance. | | E299 | Unknown DE Error | An unknown DE error occurred. Please contact Zepto for assistance. | ### NPP credit failures | Code | Title | Detail | | ------------ | ------------- | -------------- | | E301 | Upstream Network Outage | An upstream network issue occurred. Please try again later. | | E302 | BSB Not NPP Enabled | The target BSB is not NPP enabled. Please try another channel. | | E303 | Account Not NPP Enabled | The target account exists but cannot accept funds via the NPP. Please try another channel. | | E304 | Account Not Found | The target account number cannot be found. | | E305 | Intermittent Outage At Target Institution | The target financial institution is experiencing technical difficulties. Please try again later. | | E306 | Account Closed | The target account is closed. | | E307 | Target Institution Offline | The target financial institution is undergoing maintenance or experiencing an outage. Please try again later. | | E308 | Account Blocked | The target account is blocked and cannot receive funds. | | E399 | Unknown NPP Error | An unknown NPP error occurred. Please contact Zepto for assistance. |
GET
/transactions
List all transactions
#
Documentation
Specifications
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/zepto-payments-transactions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Zepto Transactions API
contact:
email: support@zepto.com.au
description: Zepto allows you to make, get and manage payments using nothing but bank accounts.
version: '1.0'
servers:
- url: https://api.sandbox.zeptopayments.com
description: Sandbox API server
- url: https://api.zeptopayments.com
description: Production API server
security:
- bearerAuth: []
tags:
- name: Transactions
description: "By default, the transactions endpoint provides a detailed look at all past, current and future debits & credits related to your account.\n\n<aside class=\"notice\">Want to also know about the debits & credits applied to the other party? No problem! Use the <code>both_parties=true</code> query string.</aside>\n\n##Lifecycle\n\nA transaction (debit or credit) can have the following statuses:\n\n| Status | Description |\n|--------|-------------|\n| `maturing` | The maturation date has not yet been reached. |\n| `matured` | The maturation date has been reached and the transaction is eligible for processing. |\n| `preprocessing` | The transaction is undergoing pre-checks before being sent to the bank. |\n| `processing` | The transaction has been submitted to the bank. |\n| `clearing` | Waiting for confirmation from the bank that the transaction has succeeded. |\n| `cleared` | The transaction is complete. |\n| `rejected` | The bank has rejected the transaction due to incorrect bank account details. |\n| `returned` | The transaction did not successfully clear. |\n| `voided` | The transaction has been cancelled and is no longer eligible for processing. |\n| `pending_verification` | The bank account must be verified before the transaction can proceed. |\n| `paused` | The transaction has temporary been paused by Zepto pending internal review. |\n| `channel_switched` | The initial payment channel has failed and the credit has automatically switched to attempt the payment using the next available channel. |\n## Failure codes\n> Example response\n\n```json\n{\n \"data\": [\n {\n \"ref\": \"D.3\",\n \"parent_ref\": null,\n \"type\": \"debit\",\n \"category\": \"payout_refund\",\n \"created_at\": \"2021-04-07T23:15:00Z\",\n \"matures_at\": \"2021-04-10T23:15:00Z\",\n \"cleared_at\": null,\n \"bank_ref\": null,\n \"status\": \"returned\",\n \"status_changed_at\": \"2021-04-08T23:15:00Z\",\n \"failure\" : {\n \"code\": \"E251\",\n \"title\": \"Voided By Initiator\",\n \"detail\": \"The transaction was voided by its initiator.\",\n },\n \"failure_details\": \"Wrong amount - approved by Stacey\"\n \"party_contact_id\": \"26297f44-c5e1-40a1-9864-3e0b0754c32a\",\n \"party_name\": \"Sanford-Rees\",\n \"party_nickname\": \"sanford-rees-8\",\n \"description\": null,\n \"amount\": 1,\n \"bank_account_id\": \"56df206a-aaff-471a-b075-11882bc8906a\"\n \"channels\": [\"float_account\"]\n \"current_channel\": \"float_account\"\n }\n ]\n}\n```\nThe rejected, returned & voided statuses are always accompanied by a failure code, title and detail as listed below.\n### DE credit failures\n| Code | Title | Detail |\n| ------------ | ------------- | -------------- |\n| E101 | Invalid BSB Number | The BSB is not valid or is no longer active. |\n| E102 | Payment Stopped | The target institution has blocked transactions to this account. Please refer to customer. |\n| E103 | Account Closed | The target account is closed. |\n| E104 | Customer Deceased | The target account's owner has been listed as deceased. |\n| E105 | Account Not Found | The target account number cannot be found by the financial institution. |\n| E106 | Refer to Customer | Usually means that there is an issue with the account receiving a credit that only the customer and their financial institution can resolve. Please refer to customer. |\n| E107 | Account Deleted | The target account is deleted. |\n| E108 | Invalid UserID | Please contact Zepto for further information. |\n| E109 | Technically Invalid | Usually means that the account is not creditable or that the reason for failure cannot be categorised within the standard BECS return codes. Please refer to customer. |\n| E150 | Voided By Admin | The transaction was voided by an administrator. |\n| E151 | Voided By Initiator | The transaction was voided by its initiator. |\n| E152 | Insufficient Funds | There were insufficient funds to complete the transaction. |\n| E153 | System Error | The transaction was unable to complete. Please contact Zepto for assistance. |\n| E154 | Account Blocked | The target account is blocked and cannot receive funds. |\n| E199 | Unknown DE Error | An unknown DE error occurred. Please contact Zepto for assistance. |\n### DE debit failures\n| Code | Title | Detail |\n| ------------ | ------------- | -------------- |\n| E201 | Invalid BSB Number | The BSB is not valid or is no longer active. |\n| E202 | Payment Stopped | The target institution has blocked transactions to this account. Please refer to customer. |\n| E203 | Account Closed | The target account is closed. |\n| E204 | Customer Deceased | The target account's owner has been listed as deceased. |\n| E205 | Account Not Found | The target account number cannot be found by the financial institution. |\n| E206 | Refer to Customer | Usually means insufficient funds or that the target account has breached their transaction limits. |\n| E207 | Account Deleted | The target account is deleted. |\n| E208 | Invalid UserID | Please contact Zepto for further information. |\n| E209 | Technically Invalid | Usually means that the account is not debitable or that the reason for failure can not be categorised within the standard BECS return codes. Please refer to customer. |\n| E250 | Voided By Admin | The transaction was voided by an administrator. |\n| E251 | Voided By Initiator | The transaction was voided by its initiator. |\n| E252 | Insufficient Funds | There were insufficient funds to complete the transaction. |\n| E253 | System Error | The transaction was unable to complete. Please contact Zepto for assistance. |\n| E299 | Unknown DE Error | An unknown DE error occurred. Please contact Zepto for assistance. |\n### NPP credit failures\n| Code | Title | Detail |\n| ------------ | ------------- | -------------- |\n| E301 | Upstream Network Outage | An upstream network issue occurred. Please try again later. |\n| E302 | BSB Not NPP Enabled | The target BSB is not NPP enabled. Please try another channel. |\n| E303 | Account Not NPP Enabled | The target account exists but cannot accept funds via the NPP. Please try another channel. |\n| E304 | Account Not Found | The target account number cannot be found. |\n| E305 | Intermittent Outage At Target Institution | The target financial institution is experiencing technical difficulties. Please try again later. |\n| E306 | Account Closed | The target account is closed. |\n| E307 | Target Institution Offline | The target financial institution is undergoing maintenance or experiencing an outage. Please try again later. |\n| E308 | Account Blocked | The target account is blocked and cannot receive funds. |\n| E399 | Unknown NPP Error | An unknown NPP error occurred. Please contact Zepto for assistance. |\n"
paths:
/transactions:
parameters:
- $ref: '#/components/parameters/ZeptoAPIVersion'
get:
tags:
- Transactions
summary: List all transactions
description: <aside class="notice">By default, Zepto will search and return all transactions created in the <strong>last 30 days</strong>. You can adjust this up to <strong>1 year</strong> by defining the <code>min_created_date</code> query string parameter defined below.</aside>
operationId: ListAllTransactions
parameters:
- name: page
in: query
description: Page of results to return, single value, exact match
style: form
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of results per page, single value, exact match
style: form
schema:
type: string
example: '100'
- name: ref (debit or credit)
in: query
description: Single value, exact match
style: form
schema:
type: string
example: D.1i
- name: parent_ref
in: query
description: Single value, exact match
style: form
schema:
type: string
example: PRF.92a
- name: bank_ref
in: query
description: Single value, exact match
style: form
schema:
type: string
example: DT.12
- name: both_parties
in: query
description: Single value, exact match. Will also list debits & credits applied to the other party
style: form
schema:
type: boolean
example: true
- name: status
in: query
description: Multiple values, exact match
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- maturing
- matured
- preprocessing
- processing
- clearing
- cleared
- rejected
- returned
- voided
- pending_verification
- paused
example:
- maturing
- name: category
in: query
description: Multiple values, exact match
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- payout
- payout_refund
- invoice
example:
- payout
- name: type
in: query
description: Multiple values, exact match
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- debit
- credit
example:
- debit
- name: other_party
in: query
description: Single value, string search. Cannot be combine with <code>both_parties</code> query string
style: form
schema:
type: string
example: party people
- name: other_party_bank_ref
in: query
description: Single value, exact match
style: form
schema:
type: string
example: CT.3a
- name: party_contact_id
in: query
description: Single value, exact match. Cannot be combine with <code>both_parties</code> query string
style: form
schema:
type: string
example: a67036fc-217e-437a-83f4-89e90724bea0
- name: description
in: query
description: Single value, string search
style: form
schema:
type: string
example: some description
- name: min_amount
in: query
description: Cents, single value, exact match
style: form
schema:
type: integer
example: 500
- name: max_amount
in: query
description: Cents, single value, exact match
style: form
schema:
type: integer
example: 1000
- name: min_created_date
in: query
description: Date/time UTC ISO 8601 format, single value, exact match
style: form
schema:
type: string
format: date-time
example: '2017-05-10T00:00:00Z'
- name: max_created_date
in: query
description: Date/time UTC ISO 8601 format, single value, exact match
style: form
schema:
type: string
format: date-time
example: '2017-06-10T00:00:00Z'
- name: min_matured_date
in: query
description: Date/time UTC ISO 8601 format, single value, exact match
style: form
schema:
type: string
format: date-time
example: '2017-05-10T00:00:00Z'
- name: max_matured_date
in: query
description: Date/time UTC ISO 8601 format, single value, exact match
style: form
schema:
type: string
format: date-time
example: '2017-06-10T00:00:00Z'
- name: min_cleared_date
in: query
description: Date/time UTC ISO 8601 format, single value, exact match
style: form
schema:
type: string
format: date-time
example: '2017-05-10T00:00:00Z'
- name: max_cleared_date
in: query
description: Date/time UTC ISO 8601 format, single value, exact match
style: form
schema:
type: string
format: date-time
example: '2017-06-10T00:00:00Z'
- name: min_status_changed_date
in: query
description: Date/time UTC ISO 8601 format, single value, exact match
style: form
schema:
type: string
format: date-time
example: '2017-05-10T00:00:00Z'
- name: max_status_changed_date
in: query
description: Date/time UTC ISO 8601 format, single value, exact match
style: form
schema:
type: string
format: date-time
example: '2017-06-10T00:00:00Z'
responses:
'200':
description: OK
headers:
Link:
$ref: '#/components/headers/Link'
Per-Page:
$ref: '#/components/headers/Per-Page'
content:
application/json:
schema:
$ref: '#/components/schemas/ListAllTransactionsResponse'
components:
headers:
Per-Page:
schema:
type: integer
description: Contains the current maximum items in collection. Defaults to 25
example: 25
Link:
schema:
type: string
description: Contains pagination link for next page of collection, if next page exists.
example: <https://api.sandbox.zeptopayments.com/contacts?page=2>; rel="next"
schemas:
Metadata:
title: Metadata
type: object
description: Use for your custom data and certain Zepto customisations.
properties: {}
example:
custom_key: Custom string
another_custom_key: Maybe a URL
Failure:
title: Failure object (see [Transaction/Failure codes](#failure-codes) for more info)
required:
- code
- title
- detail
type: object
properties:
code:
type: string
title:
type: string
detail:
type: string
example:
code: E205
title: Account Not Found
detail: The target account number cannot be found by the financial institution.
TransactionResponse:
title: A transaction (response)
required:
- ref
- parent_ref
- type
- category
- created_at
- matured_at
- cleared_at
- bank_ref
- status
- status_changed_at
- party_contact_id
- party_name
- party_nickname
- party_bank_ref
- description
- amount
- bank_account_id
- channels
- current_channel
type: object
properties:
ref:
type: string
description: The ref of the transaction (`C.*` or `D.*`)
parent_ref:
type:
- string
- 'null'
description: The ref of the parent of this transaction
type:
type: string
description: The type of the transaction
enum:
- credit
- debit
category:
type: string
description: The category of the transaction
enum:
- payout
- payout_refund
- invoice
- payout_reversal
- transfer
- recovery
created_at:
type: string
format: date-time
description: When the transaction was created
matures_at:
type: string
format: date-time
description: When the transaction was processed
cleared_at:
type:
- string
- 'null'
format: date-time
description: When the transaction was cleared
bank_ref:
type:
- string
- 'null'
description: The ref that is sent to the bank
status:
type: string
description: The status of the transaction (see [Transactions/Lifecycle](#lifecycle-4) for more info)
enum:
- maturing
- matured
- preprocessing
- processing
- clearing
- cleared
- rejected
- returned
- voided
- pending_verification
- paused
- channel_switched
status_changed_at:
type: string
description: When the status was last changed
failure_details:
type: string
description: Details if a failure occured
failure:
$ref: '#/components/schemas/Failure'
party_contact_id:
type: string
format: uuid
description: The transaction party's contact ID
party_name:
type: string
description: The transaction party's name
party_nickname:
type:
- string
- 'null'
description: The transaction party's nickname
party_bank_ref:
type:
- string
- 'null'
description: The transaction party's bank ref
description:
type:
- string
- 'null'
description: The transaction's description
amount:
type: integer
description: 'Amount in cents (Min: 1 - Max: 99999999999)'
bank_account_id:
type: string
format: uuid
description: The bank account ID of this transaction
channels:
type: array
description: Which payment channels this transaction can use (see [Payments/Make a payment](#make-a-payment) for more info)
current_channel:
type: string
description: The current payment channel in use for this transaction
enum:
- direct_entry
- float_account
- new_payments_platform
reversal_details:
type: object
description: Reversal details (see [Payments/Lifecyle](#lifecycle-3) for more info)
properties:
source_debit_ref:
type: string
description: The source debit ref of the reversal
source_credit_failure:
$ref: '#/components/schemas/Failure'
metadata:
$ref: '#/components/schemas/Metadata'
example:
ref: C.2
parent_ref: PB.s0z
type: credit
category: payout
created_at: '2016-12-05T23:15:00Z'
matured_at: '2016-12-06T23:15:00Z'
cleared_at: '2016-12-09T23:15:00Z'
bank_ref: CT.1
status: cleared
status_changed_at: '2016-12-09T23:15:00Z'
party_contact_id: 33c6e31d-1dc1-448b-9512-0320bc44fdcf
party_name: Price and Sons
party_nickname: price-and-sons-2
party_bank_ref: null
description: Online purchase
amount: 19999
bank_account_id: c2e329ae-606f-4311-a9ab-a751baa1915c
channels:
- direct_entry
current_channel: direct_entry
metadata:
customer_id: xur4492
product_ref: TSXL392110x
ListAllTransactionsResponse:
title: List all transactions (response)
required:
- data
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TransactionResponse'
example:
data:
- ref: D.3
parent_ref: null
type: debit
category: payout_refund
created_at: '2021-04-07T23:15:00Z'
matured_at: '2021-04-07T23:15:00Z'
cleared_at: '2021-04-10T23:15:00Z'
bank_ref: DT.9a
status: cleared
status_changed_at: '2021-04-10T23:15:00Z'
party_contact_id: 31354923-b1e9-4d65-b03c-415ead89cbf3
party_name: Sanford-Rees
party_nickname: null
party_bank_ref: CT.11
description: null
amount: 20000
bank_account_id: 56df206a-aaff-471a-b075-11882bc8906a
channels:
- float account
current_channel: float_account
- ref: D.2
parent_ref: PB.2
type: debit
category: payout
created_at: '2016-12-06T23:15:00Z'
matured_at: '2016-12-09T23:15:00Z'
cleared_at: null
bank_ref: null
status: maturing
status_changed_at: '2016-12-06T23:15:00Z'
party_contact_id: 3c6e31d3-1dc1-448b-9512-0320bc44fdcf
party_name: Gutmann-Schmidt
party_nickname: null
party_bank_ref: null
description: Batteries for hire
amount: 2949299
bank_account_id: 56df206a-aaff-471a-b075-11882bc8906a
channels:
- float_account
current_channel: float_account
- ref: C.2
parent_ref: PB.s0z
type: credit
category: payout
created_at: '2016-12-05T23:15:00Z'
matured_at: '2016-12-06T23:15:00Z'
cleared_at: '2016-12-09T23:15:00Z'
bank_ref: CT.1
status: cleared
status_changed_at: '2016-12-09T23:15:00Z'
party_contact_id: 33c6e31d-1dc1-448b-9512-0320bc44fdcf
party_name: Price and Sons
party_nickname: price-and-sons-2
party_bank_ref: null
description: Online purchase
amount: 19999
bank_account_id: c2e329ae-606f-4311-a9ab-a751baa1915c
channels:
- new_payments_platform
- direct_entry
current_channel: direct_entry
metadata:
customer_id: xur4492
product_ref: TSXL392110x
parameters:
ZeptoAPIVersion:
name: Zepto-API-Version
in: header
required: false
schema:
type: string
pattern: ^\d{8}$
default: '20250101'
example: '20260101'
description: API version in YYYYMMDD format. Defaults to 20250101 (legacy) when omitted.
securitySchemes:
bearerAuth:
type: oauth2
flows:
authorizationCode:
authorizationUrl: /oauth/authorize
tokenUrl: /oauth/token
refreshUrl: /oauth/token
scopes:
public: Access your public information
contacts: Manage your contacts
payments: Manage your payments
payment_requests: Manage your payment requests
refunds: Manage your refunds
agreements: Manage your agreements
transactions: Access your transaction history
open_agreements: Manage your open agreements
transfers: Manage your Transfers