Zepto's core account-to-account payments API — move money over the New Payments Platform (NPP), BECS Direct Entry and PayID with payments, payouts, payment requests, transfers, refunds, agreements, contacts, bank accounts and transaction history. Authenticated with OAuth2 (authorization code) using scoped access tokens.
Zepto API is one of 7 APIs that Zepto publishes on the APIs.io network, described by a machine-readable OpenAPI specification.
Tagged areas include Payments, Payouts, Account-to-Account, NPP, and Direct Entry. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.
This API exposes
41 operations
across 35 paths,
organized into 14 resource areas,
and defines 56 schemas.
It is described by OpenAPI 3.1.0, at version 1.0.
Requests are made against 2 base URLs: https://api.sandbox.zeptopayments.com, https://api.zeptopayments.com.
41 operations35 paths56 schemas4 DELETE23 GET2 PATCH12 POST
Metadata
The identity and technical contract details declared by the specification.
Zepto API declares
1 security scheme
for authenticating requests.
It supports OAuth 2.0 (bearerAuth) using the authorizationCode flow, exposing 9 scopes.
By default, every request must be authenticated.
Paths & Operations 41
Across 35 paths, the API surfaces 41 operations — 4 DELETE, 23 GET, 2 PATCH, 12 POST. They span 14 resource areas, including Agreements, Bank Accounts, Contacts, Contacts (Receivable), Payments, Payouts, Payment Requests, Refunds, and 6 more. Each is listed below with its method, path, parameters, and response codes.
Agreements 3
An Agreement is an arrangement between two parties that allows them to agree on terms for which future Payment Requests will be auto-approved. Zepto Agreements are managed on a pe…
Your Contacts form an address book of parties with whom you can interact. In order to initiate any type of transaction you must first have the party in your Contact list. In the c…
POST
/contacts/anyone
Add a Contact
AddAnAnyoneContact1 parambody→ 201
GET
/contacts
List all Contacts
ListAllContacts9 params→ 200
GET
/contacts/{id}
Get a Contact
GetAContact2 params→ 200404
DELETE
/contacts/{id}
Remove a Contact
RemoveAContact2 params→ 204
PATCH
/contacts/{id}
Update a Contact
UpdateAContact2 paramsbody→ 200404
Contacts (Receivable) 4
POST
/contacts/receivable
Add a Receivable Contact
AddAReceivableContact1 parambody→ 201404
POST
/contacts/{contact_id}/receivable/disable
Disable a Receivable Contact
DisableAReceivableContact2 params→ 204400404
POST
/contacts/{contact_id}/receivable/activate
Reactivate a Receivable Contact
ActivateAReceivableContact2 params→ 204400404
PATCH
/contacts/{contact_id}/receivable
Update a Receivable Contact
UpdateAReceivableContact2 paramsbody→ 202400404
Payments 3
A Payment is used to disburse funds to your Contacts. Supported payment rails: NPP: New Payments Platform (Real-time) DE / BECS: Direct Entry / Bulk Electronic Clearing System (Sl…
POST
/payments
Make a Payment
MakeAPayment2 paramsbody→ 201400
GET
/payments
List all Payments
ListAllPayments3 params→ 200
GET
/payments/{payment_ref}
Get a Payment
GetAPayment2 params→ 200
Payouts 1
This endpoint gives you some control over a transaction: After it has been created; and Before it has been submitted to the banks. Payments and Payment Requests are made up of ind…
DELETE
/payouts/{ref}
Void a Payment
VoidAPayment2 params→ 204
Payment Requests 5
A Payment Request (PR) is used to collect funds, via direct debit, from one of your Contacts (as long as there is an accepted Agreement in place). Applicable scenarios 1. You send…
POST
/payment_requests
Request Payment
MakeAPaymentRequest2 paramsbody→ 200422
GET
/payment_requests/{payment_request_ref}
Get a Payment Request
GetAPaymentRequest2 params→ 200
DELETE
/payment_requests/{payment_request_ref}
Cancel a Payment Request
CancelAPaymentRequest2 params→ 204
GET
/payment_requests/collections
List Collections
ListPaymentRequestCollections3 params→ 200
GET
/payment_requests/receivables
List Receivables
ListPaymentRequestReceivables3 params→ 200
Refunds 3
Refunds can be issued for any successfully completed Payment Request transaction. This includes: 1. Payment Requests for direct debit payments (Collections): 2. Payment Requests f…
POST
/credits/{credit_ref}/refunds
Issue a Refund
IssueARefund3 paramsbody→ 200
GET
/refunds/outgoing
List Refunds
ListOutgoingRefunds3 params→ 200
GET
/refunds/{refund_ref}
Retrieve a Refund
RetrieveARefund2 params→ 200
Transactions 1
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 & credi…
GET
/transactions
List all transactions
ListAllTransactions24 params→ 200
Transfers 3
This endpoint lets you Transfer funds between any bank & float accounts registered under your Zepto account: 1. From: Bank Account To: Float Account: Topping up a float account vi…
POST
/transfers
Add a Transfer
AddATransfer2 paramsbody→ 201
GET
/transfers
List all Transfers (Available soon)
ListAllTransfers5 params→ 200
GET
/transfers/{transfer_ref}
Get a Transfer (Available soon)
GetATransfer2 params→ 200
Ping 1
Test your connectivity and authentication.
GET
/ping
Ping
Ping1 param→ 200
Users 1
All about the currently authenticated user.
GET
/user
Get user details
GetUserDetails1 param→ 200
Webhooks 4
GET
/webhooks
List all webhooks
GetWebhooks1 param→ 200404
GET
/webhooks/{webhook_id}/deliveries
List deliveries for a webhook
GetWebhookDeliveries9 params→ 200404
GET
/webhook_deliveries/{id}
Get a Webhook Delivery
GetAWebhookDelivery2 params→ 200404
POST
/webhook_deliveries/{id}/redeliver
Resend a Webhook Delivery
ResendAWebhookDelivery2 params→ 202
Sandbox Only 3
Special testing endpoints that only exist in the sandbox environment.
POST
/simulate/incoming_npp_payid_payment
Simulate incoming PayID payment
SimulateIncomingPayIDPayment1 parambody→ 201400
POST
/simulate/incoming_npp_bban_payment
Simulate an incoming real-time payment
SimulateIncomingNPPBBANPayment1 parambody→ 201400
POST
/simulate/incoming_de_payment
Simulate an incoming DE payment
SimulateIncomingDEPayment1 parambody→ 201400
Schemas 56
The contract defines 56 schemas that model the data the API accepts and returns. The most detailed are TransactionResponse (23 properties), BankAccount (9 properties), SimulateIncomingNPPBBANPaymentRequest (9 properties), SimulateIncomingPayIDPaymentRequest (8 properties). Each schema is shown below with its type and property counts.
GetAgreementResponse
object
1 property1 required
ListOutgoingAgreementsResponse
object
1 property1 required
BankAccount
object
9 properties1 required
ListAllBankAccountsResponse
object
1 property1 required
GetABankAccountResponse
object
1 property1 required
FloatAccountEntry
object
6 properties6 required
ListFloatAccountEntriesResponse
object
1 property1 required
GetFloatAccountEntryResponse
object
1 property1 required
Terms
object
Terms
2 properties2 required
PerPayout
object
2 properties2 required
PerFrequency
object
2 properties2 required
AddAReceivableContactRequest
object
5 properties2 required
AddAReceivableContactResponse
object
1 property
ListAllContactsResponse
object
1 property1 required
AddAnAnyoneContactRequest
object
5 properties4 required
AddAnAnyoneContactResponse
object
1 property1 required
GetABankConnectionResponse
object
1 property1 required
GetAContactResponse
object
1 property1 required
UpdateAReceivableContactRequest
object
1 property1 required
UpdateAContactRequest
object
5 properties
UpdateAContactResponse
object
1 property1 required
MakeAPaymentRequest
object
6 properties5 required
Payout
object
The actual Payout
6 properties3 required
VoidAPayoutRequest
object
1 property
Metadata
object
Use for your custom data and certain Zepto customisations.
MakeAPaymentResponse
object
1 property1 required
ListAllPaymentsResponse
object
1 property1 required
VoidAPayment
GetAPaymentResponse
object
1 property1 required
MakeAPaymentRequestRequest
object
6 properties4 required
MakeAPaymentRequestResponse
object
1 property1 required
MakeAPaymentRequestWithNoAgreementResponse
object
1 property1 required
GetAPaymentRequestResponse
object
1 property1 required
ListPaymentRequestCollectionsResponse
object
1 property1 required
ListPaymentRequestReceivablesResponse
object
1 property1 required
IssueARefundRequest
object
5 properties1 required
IssueARefundResponse
object
1 property1 required
ListOutgoingRefundsResponse
object
1 property1 required
RetrieveARefundResponse
object
1 property1 required
RetryPayoutResponse
object
1 property1 required
ListAllTransactionsResponse
object
1 property1 required
TransactionResponse
object
23 properties19 required
Failure
object
3 properties3 required
PingResponse
object
1 property1 required
GetUserDetailsResponse
object
1 property1 required
SimulateIncomingPayIDPaymentRequest
object
8 properties2 required
SimulateIncomingNPPBBANPaymentRequest
object
9 properties3 required
SimulateIncomingDEPaymentRequest
object
7 properties3 required
AddATransferRequest
object
5 properties5 required
AddATransferResponse
object
1 property1 required
GetATransferResponse
object
1 property1 required
ListAllTransfersResponse
object
1 property1 required
ListAllWebhooksResponse
object
1 property1 required
GetWebhookDeliveriesResponse
object
1 property
GetAWebhookDeliveryResponse
object
1 property1 required
RedeliverAWebhookDeliveryResponse
object
1 property1 required
Specification
The full machine-readable OpenAPI contract behind this narrative.