Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Zepto API

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 operations 35 paths 56 schemas 4 DELETE23 GET2 PATCH12 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
1.0
Base URL
https://api.zeptopayments.com
Authentication
OAuth 2.0
Resource Areas
14

Authentication & Security 1

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…

GET
/agreements/outgoing
List Agreements
ListOutgoingAgreements 6 params → 200
GET
/agreements/{agreement_ref}
Get an Agreement
GetAgreement 2 params → 200
DELETE
/agreements/{agreement_ref}
Cancel an Agreement
CancelAgreement 2 params → 204
Bank Accounts 4

Your currently linked up bank accounts.

GET
/bank_accounts
List all Bank Accounts
ListAllBankAccounts 1 param → 200
GET
/bank_accounts/{id}
Get a Bank Account
GetABankAccount 2 params → 200403404
GET
/bank_accounts/{bank_account_id}/entries
List Float Account entries
ListFloatAccountEntries 6 params → 200400403404422
GET
/bank_accounts/{bank_account_id}/entries/{entry_id}
Get a Float Account entry
GetFloatAccountEntry 3 params → 200403404
Contacts 5

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
AddAnAnyoneContact 1 param body → 201
GET
/contacts
List all Contacts
ListAllContacts 9 params → 200
GET
/contacts/{id}
Get a Contact
GetAContact 2 params → 200404
DELETE
/contacts/{id}
Remove a Contact
RemoveAContact 2 params → 204
PATCH
/contacts/{id}
Update a Contact
UpdateAContact 2 params body → 200404
Contacts (Receivable) 4
POST
/contacts/receivable
Add a Receivable Contact
AddAReceivableContact 1 param body → 201404
POST
/contacts/{contact_id}/receivable/disable
Disable a Receivable Contact
DisableAReceivableContact 2 params → 204400404
POST
/contacts/{contact_id}/receivable/activate
Reactivate a Receivable Contact
ActivateAReceivableContact 2 params → 204400404
PATCH
/contacts/{contact_id}/receivable
Update a Receivable Contact
UpdateAReceivableContact 2 params body → 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
MakeAPayment 2 params body → 201400
GET
/payments
List all Payments
ListAllPayments 3 params → 200
GET
/payments/{payment_ref}
Get a Payment
GetAPayment 2 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
VoidAPayment 2 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
MakeAPaymentRequest 2 params body → 200422
GET
/payment_requests/{payment_request_ref}
Get a Payment Request
GetAPaymentRequest 2 params → 200
DELETE
/payment_requests/{payment_request_ref}
Cancel a Payment Request
CancelAPaymentRequest 2 params → 204
GET
/payment_requests/collections
List Collections
ListPaymentRequestCollections 3 params → 200
GET
/payment_requests/receivables
List Receivables
ListPaymentRequestReceivables 3 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
IssueARefund 3 params body → 200
GET
/refunds/outgoing
List Refunds
ListOutgoingRefunds 3 params → 200
GET
/refunds/{refund_ref}
Retrieve a Refund
RetrieveARefund 2 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
ListAllTransactions 24 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
AddATransfer 2 params body → 201
GET
/transfers
List all Transfers (Available soon)
ListAllTransfers 5 params → 200
GET
/transfers/{transfer_ref}
Get a Transfer (Available soon)
GetATransfer 2 params → 200
Ping 1

Test your connectivity and authentication.

GET
/ping
Ping
Ping 1 param → 200
Users 1

All about the currently authenticated user.

GET
/user
Get user details
GetUserDetails 1 param → 200
Webhooks 4
GET
/webhooks
List all webhooks
GetWebhooks 1 param → 200404
GET
/webhooks/{webhook_id}/deliveries
List deliveries for a webhook
GetWebhookDeliveries 9 params → 200404
GET
/webhook_deliveries/{id}
Get a Webhook Delivery
GetAWebhookDelivery 2 params → 200404
POST
/webhook_deliveries/{id}/redeliver
Resend a Webhook Delivery
ResendAWebhookDelivery 2 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
SimulateIncomingPayIDPayment 1 param body → 201400
POST
/simulate/incoming_npp_bban_payment
Simulate an incoming real-time payment
SimulateIncomingNPPBBANPayment 1 param body → 201400
POST
/simulate/incoming_de_payment
Simulate an incoming DE payment
SimulateIncomingDEPayment 1 param body → 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 property 1 required
ListOutgoingAgreementsResponse
object
1 property 1 required
BankAccount
object
9 properties 1 required
ListAllBankAccountsResponse
object
1 property 1 required
GetABankAccountResponse
object
1 property 1 required
FloatAccountEntry
object
6 properties 6 required
ListFloatAccountEntriesResponse
object
1 property 1 required
GetFloatAccountEntryResponse
object
1 property 1 required
Terms
object
Terms
2 properties 2 required
PerPayout
object
2 properties 2 required
PerFrequency
object
2 properties 2 required
AddAReceivableContactRequest
object
5 properties 2 required
AddAReceivableContactResponse
object
1 property
ListAllContactsResponse
object
1 property 1 required
AddAnAnyoneContactRequest
object
5 properties 4 required
AddAnAnyoneContactResponse
object
1 property 1 required
GetABankConnectionResponse
object
1 property 1 required
GetAContactResponse
object
1 property 1 required
UpdateAReceivableContactRequest
object
1 property 1 required
UpdateAContactRequest
object
5 properties
UpdateAContactResponse
object
1 property 1 required
MakeAPaymentRequest
object
6 properties 5 required
Payout
object
The actual Payout
6 properties 3 required
VoidAPayoutRequest
object
1 property
Metadata
object
Use for your custom data and certain Zepto customisations.
MakeAPaymentResponse
object
1 property 1 required
ListAllPaymentsResponse
object
1 property 1 required
VoidAPayment
GetAPaymentResponse
object
1 property 1 required
MakeAPaymentRequestRequest
object
6 properties 4 required
MakeAPaymentRequestResponse
object
1 property 1 required
MakeAPaymentRequestWithNoAgreementResponse
object
1 property 1 required
GetAPaymentRequestResponse
object
1 property 1 required
ListPaymentRequestCollectionsResponse
object
1 property 1 required
ListPaymentRequestReceivablesResponse
object
1 property 1 required
IssueARefundRequest
object
5 properties 1 required
IssueARefundResponse
object
1 property 1 required
ListOutgoingRefundsResponse
object
1 property 1 required
RetrieveARefundResponse
object
1 property 1 required
RetryPayoutResponse
object
1 property 1 required
ListAllTransactionsResponse
object
1 property 1 required
TransactionResponse
object
23 properties 19 required
Failure
object
3 properties 3 required
PingResponse
object
1 property 1 required
GetUserDetailsResponse
object
1 property 1 required
SimulateIncomingPayIDPaymentRequest
object
8 properties 2 required
SimulateIncomingNPPBBANPaymentRequest
object
9 properties 3 required
SimulateIncomingDEPaymentRequest
object
7 properties 3 required
AddATransferRequest
object
5 properties 5 required
AddATransferResponse
object
1 property 1 required
GetATransferResponse
object
1 property 1 required
ListAllTransfersResponse
object
1 property 1 required
ListAllWebhooksResponse
object
1 property 1 required
GetWebhookDeliveriesResponse
object
1 property
GetAWebhookDeliveryResponse
object
1 property 1 required
RedeliverAWebhookDeliveryResponse
object
1 property 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

zepto-payments-zepto.yml Raw ↑

Other APIs Zepto publishes across the network.

Zepto PayTo API
Zepto Validate API (Confirmation of Payee)
Zepto Investigations API
Zepto Clients API
Zepto Merchant Reports API
Zepto Notifications API (Webhooks)