openapi: 3.2.0 info: title: Zepto API (Alpha) Clients API version: '20260101' description: Documentation for the Zepto Clients API. termsOfService: https://www.zepto.com.au/terms-of-service/ contact: email: support@zepto.com.au servers: - description: Zepto Sandbox url: https://api.sandbox.zeptopayments.com - description: Zepto Production url: https://api.zeptopayments.com security: - bearerAuth: [] tags: - name: Clients description: 'The Zepto Clients API allows registration of clients who indirectly use the Zepto platform via your Zepto integration. ' paths: /clients: parameters: - $ref: '#/components/parameters/ZeptoAPIVersion' post: summary: Create Client tags: - Clients description: 'The Zepto Clients API allows registration of clients who indirectly use the Zepto platform via your Zepto integration. Merchants are required to keep their sub-client details up to date with Zepto via the update client endpoint. ' parameters: [] responses: '201': description: successful content: application/json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/clients.client_response' '422': description: Unprocessable Entity content: application/json: examples: Generic validation error: summary: Generic validation error value: errors: - title: Validation Failed detail: params.type is missing schema: $ref: '#/components/schemas/clients.errors' '401': description: unauthorized content: application/json: examples: Unauthorised access token: summary: Unauthorised access token value: errors: - title: Unauthorised access token detail: Access token is expired or not valid links: about: https://docs.zeptopayments.com/docs/zepto-api#authentication-and-authorisation schema: $ref: '#/components/schemas/clients.errors' '403': description: forbidden '500': description: Internal Server Error requestBody: content: application/json: schema: $ref: '#/components/schemas/clients.client_request' get: summary: List Clients tags: - Clients parameters: - name: per_page description: Number of results per page in: query schema: type: integer default: 20 minimum: 1 maximum: 100 - name: starting_after description: Opaque pagination cursor value. Set by following "next" links. in: query schema: type: string - name: legal_name description: Filter clients by legal name. The filtering is case insensitive and must match the beginning of the provided legal name. in: query schema: type: string - name: australian_business_number description: Filter clients by ABN. in: query schema: type: string responses: '422': description: Unprocessable Entity content: application/json: examples: Non integer per_page: summary: Non integer per_page value: errors: - title: Invalid request parameters detail: The `per_page` param is not valid. No record with ID matching starting_after param: summary: No record with ID matching starting_after param value: errors: - title: Invalid request parameters detail: Could not find a record for the given `starting_after` param. schema: $ref: '#/components/schemas/clients.errors' '200': description: successful content: application/json: schema: $ref: '#/components/schemas/clients.list' '401': description: unauthorized content: application/json: examples: Unauthorised access token: summary: Unauthorised access token value: errors: - title: Unauthorised access token detail: Access token is expired or not valid links: about: https://docs.zeptopayments.com/docs/zepto-api#authentication-and-authorisation schema: $ref: '#/components/schemas/clients.errors' '403': description: forbidden '500': description: Internal Server Error /clients/{client_id}: parameters: - $ref: '#/components/parameters/ZeptoAPIVersion' - name: client_id in: path required: true schema: type: string get: summary: Show Client tags: - Clients responses: '200': description: successful content: application/json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/clients.client_response' '404': description: Not Found '401': description: unauthorized content: application/json: examples: Unauthorised access token: summary: Unauthorised access token value: errors: - title: Unauthorised access token detail: Access token is expired or not valid links: about: https://docs.zeptopayments.com/docs/zepto-api#authentication-and-authorisation schema: $ref: '#/components/schemas/clients.errors' '403': description: forbidden '500': description: Internal Server Error patch: summary: Update Client tags: - Clients description: There are certain attributes that cannot be updated here such as the ABN, ACN and MCC. Please reach out to the Zepto Compliance team (compliance@zepto.com.au) to have them updated. parameters: [] responses: '202': description: accepted '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/clients.errors' '404': description: not found '401': description: unauthorized content: application/json: examples: Unauthorised access token: summary: Unauthorised access token value: errors: - title: Unauthorised access token detail: Access token is expired or not valid links: about: https://docs.zeptopayments.com/docs/zepto-api#authentication-and-authorisation schema: $ref: '#/components/schemas/clients.errors' '403': description: forbidden '500': description: Internal Server Error requestBody: content: application/json: schema: type: object $ref: '#/components/schemas/clients.client_update_request' components: schemas: clients.client_individual_request: type: object required: - business_names - legal_name - merchant_category_code - registered_address - risk_level - services - type additionalProperties: false properties: business_names: type: array description: For `individual` clients, provide the client's legal name. items: type: string example: - Business Name 1 - Business Name 2 contact_information: type: object description: The contact information of the client. Required if RTP services requested. properties: contact_name: type: string description: 'The contact name for the client. Required if RTP services requested. ' example: Contact Name email: type: string description: The contact email address for the client. Required if RTP services requested. example: contact@example.com phone: type: string description: The contact phone number for the client. Required if RTP services requested. example: '+61400000000' pattern: \A[\d\s\-\+\(\)]+\z legal_name: type: string description: The legal name of the client. example: Legal Name Pty Ltd merchant_category_code: type: string description: The Merchant Category Code (MCC) of the client. enum: - '0742' - '0763' - 0780 - '1520' - '1711' - '1731' - '1740' - '1750' - '1761' - '1771' - '1799' - '2741' - '2791' - '2842' - '4011' - '4111' - '4112' - '4119' - '4121' - '4131' - '4214' - '4215' - '4225' - '4411' - '4457' - '4468' - '4511' - '4582' - '4722' - '4723' - '4784' - '4789' - '4812' - '4814' - '4816' - '4821' - '4829' - '4899' - '4900' - '5013' - '5021' - '5039' - '5044' - '5045' - '5046' - '5047' - '5051' - '5065' - '5072' - '5074' - '5085' - '5094' - '5099' - '5111' - '5122' - '5131' - '5137' - '5139' - '5169' - '5172' - '5192' - '5193' - '5198' - '5199' - '5200' - '5211' - '5231' - '5251' - '5261' - '5262' - '5271' - '5300' - '5309' - '5310' - '5311' - '5331' - '5399' - '5411' - '5422' - '5441' - '5451' - '5462' - '5499' - '5511' - '5521' - '5531' - '5532' - '5533' - '5541' - '5542' - '5551' - '5552' - '5561' - '5571' - '5592' - '5598' - '5599' - '5611' - '5621' - '5631' - '5641' - '5651' - '5655' - '5661' - '5681' - '5691' - '5697' - '5698' - '5699' - '5712' - '5713' - '5714' - '5718' - '5719' - '5722' - '5732' - '5733' - '5734' - '5735' - '5811' - '5812' - '5813' - '5814' - '5815' - '5816' - '5817' - '5818' - '5912' - '5921' - '5931' - '5932' - '5933' - '5935' - '5937' - '5940' - '5941' - '5942' - '5943' - '5944' - '5945' - '5946' - '5947' - '5948' - '5949' - '5950' - '5960' - '5962' - '5963' - '5964' - '5965' - '5966' - '5967' - '5968' - '5969' - '5970' - '5971' - '5972' - '5973' - '5975' - '5976' - '5977' - '5978' - '5983' - '5992' - '5993' - '5994' - '5995' - '5996' - '5997' - '5998' - '5999' - '6010' - '6011' - '6012' - '6051' - '6052' - '6053' - '6054' - '6055' - '6056' - '6057' - '6058' - '6059' - '6060' - '6061' - '6062' - '6063' - '6064' - '6065' - '6066' - '6211' - '6300' - '6399' - '6513' - '6530' - '6540' - '7011' - '7012' - '7032' - '7033' - '7210' - '7211' - '7216' - '7217' - '7221' - '7230' - '7251' - '7261' - '7273' - '7276' - '7277' - '7278' - '7296' - '7297' - '7298' - '7299' - '7311' - '7321' - '7333' - '7338' - '7339' - '7342' - '7349' - '7361' - '7372' - '7375' - '7379' - '7392' - '7393' - '7394' - '7395' - '7399' - '7511' - '7512' - '7513' - '7519' - '7523' - '7531' - '7534' - '7535' - '7538' - '7542' - '7549' - '7622' - '7623' - '7629' - '7631' - '7641' - '7692' - '7699' - '7800' - '7801' - '7802' - '7829' - '7832' - '7841' - '7911' - '7922' - '7929' - '7932' - '7933' - '7941' - '7991' - '7992' - '7993' - '7994' - '7995' - '7996' - '7997' - '7998' - '7999' - '8011' - '8021' - '8031' - '8041' - '8042' - '8043' - '8049' - '8050' - '8062' - '8071' - '8099' - '8111' - '8211' - '8220' - '8241' - '8244' - '8249' - '8299' - '8351' - '8398' - '8641' - '8651' - '8661' - '8675' - '8699' - '8734' - '8911' - '8931' - '8999' - '9211' - '9222' - '9223' - '9311' - '9399' - '9402' - '9405' - '9406' - '9702' - '9950' example: '6060' primary_bank_account_bban: type: string description: The primary bank account of the client. example: 123456-123123123 registered_address: type: string description: The registered address of the client. example: 123 Street, City, Country risk_level: type: string description: The risk level of the client according to agreed KYC/AML policies with Zepto. enum: - low - medium - high example: low services: type: array description: Platform services provided by Zepto that the client requires access to. Sub-clients can only use services enabled on the parent account.
`rtp` is not available for `individual` types. properties: de: type: - string - 'null' description: The DE service of the client. enum: - pending - active - suspended - off_boarded example: null payto: type: - string - 'null' description: The PayTo service of the client. enum: - pending - active - suspended - off_boarded example: active rtp: type: - string - 'null' description: The RTP service of the client. enum: - pending - active - suspended - off_boarded example: pending items: type: string enum: - payto - rtp - de type: type: string description: The structure type of the client, either 'business' or 'individual'. This will alter which fields are required. Type `individual` is restricted by default, please contact Zepto for information on enabling. enum: - business - individual example: business clients.errors: type: object properties: errors: type: array minItems: 1 items: type: object additionalProperties: false properties: title: type: string example: Title of error detail: type: string description: A short description of the error example: Description of error links: type: - object - 'null' properties: about: type: string description: An optional link to more information on the error example: https://docs.zeptopayments.com/docs/zepto-environments required: - about required: - title - detail required: - errors clients.client_business_request: type: object required: - australian_business_number - business_names - business_registration_date - legal_name - merchant_category_code - registered_address - risk_level - services - type - website_url additionalProperties: false properties: austrac_number: type: string description: The AUSTRAC number of the client (if applicable). example: '1234567' australian_business_number: type: string description: The Australian Business Number (ABN) of the client. example: '12345678901' pattern: \A\d{11}\z australian_company_number: type: string description: The Australian Company Number(ACN) of the client. Corresponding `company_incorporation_date` is required when provided. example: 045678901 pattern: \A\d{9}\z australian_credit_licence: type: string description: The Australian Credit Licence of the client (if applicable). example: '123456' australian_financial_services_licence: type: string description: The Australian Financial Services Licence of the client (if applicable). example: '777888999' business_names: type: array description: The business/trading names registered to the client's legal entity. items: type: string example: - Business Name 1 - Business Name 2 business_registration_date: type: string description: The business registration date of the client. format: date example: '2025-02-01' company_incorporation_date: type: string description: The company incorporation date of the client, must correspond to ACN registration. format: date example: '2025-02-01' contact_information: type: object description: The contact information of the client. Required if RTP services requested. properties: contact_name: type: string description: 'The contact name for the client. Required if RTP services requested. ' example: Contact Name email: type: string description: The contact email address for the client. Required if RTP services requested. example: contact@example.com phone: type: string description: The contact phone number for the client. Required if RTP services requested. example: '+61400123456' pattern: \A[\d\s\-\+\(\)]+\z legal_name: type: string description: The legal name of the client. example: Legal Name Pty Ltd merchant_category_code: type: string description: The Merchant Category Code (MCC) of the client. enum: - '0742' - '0763' - 0780 - '1520' - '1711' - '1731' - '1740' - '1750' - '1761' - '1771' - '1799' - '2741' - '2791' - '2842' - '4011' - '4111' - '4112' - '4119' - '4121' - '4131' - '4214' - '4215' - '4225' - '4411' - '4457' - '4468' - '4511' - '4582' - '4722' - '4723' - '4784' - '4789' - '4812' - '4814' - '4816' - '4821' - '4829' - '4899' - '4900' - '5013' - '5021' - '5039' - '5044' - '5045' - '5046' - '5047' - '5051' - '5065' - '5072' - '5074' - '5085' - '5094' - '5099' - '5111' - '5122' - '5131' - '5137' - '5139' - '5169' - '5172' - '5192' - '5193' - '5198' - '5199' - '5200' - '5211' - '5231' - '5251' - '5261' - '5262' - '5271' - '5300' - '5309' - '5310' - '5311' - '5331' - '5399' - '5411' - '5422' - '5441' - '5451' - '5462' - '5499' - '5511' - '5521' - '5531' - '5532' - '5533' - '5541' - '5542' - '5551' - '5552' - '5561' - '5571' - '5592' - '5598' - '5599' - '5611' - '5621' - '5631' - '5641' - '5651' - '5655' - '5661' - '5681' - '5691' - '5697' - '5698' - '5699' - '5712' - '5713' - '5714' - '5718' - '5719' - '5722' - '5732' - '5733' - '5734' - '5735' - '5811' - '5812' - '5813' - '5814' - '5815' - '5816' - '5817' - '5818' - '5912' - '5921' - '5931' - '5932' - '5933' - '5935' - '5937' - '5940' - '5941' - '5942' - '5943' - '5944' - '5945' - '5946' - '5947' - '5948' - '5949' - '5950' - '5960' - '5962' - '5963' - '5964' - '5965' - '5966' - '5967' - '5968' - '5969' - '5970' - '5971' - '5972' - '5973' - '5975' - '5976' - '5977' - '5978' - '5983' - '5992' - '5993' - '5994' - '5995' - '5996' - '5997' - '5998' - '5999' - '6010' - '6011' - '6012' - '6051' - '6052' - '6053' - '6054' - '6055' - '6056' - '6057' - '6058' - '6059' - '6060' - '6061' - '6062' - '6063' - '6064' - '6065' - '6066' - '6211' - '6300' - '6399' - '6513' - '6530' - '6540' - '7011' - '7012' - '7032' - '7033' - '7210' - '7211' - '7216' - '7217' - '7221' - '7230' - '7251' - '7261' - '7273' - '7276' - '7277' - '7278' - '7296' - '7297' - '7298' - '7299' - '7311' - '7321' - '7333' - '7338' - '7339' - '7342' - '7349' - '7361' - '7372' - '7375' - '7379' - '7392' - '7393' - '7394' - '7395' - '7399' - '7511' - '7512' - '7513' - '7519' - '7523' - '7531' - '7534' - '7535' - '7538' - '7542' - '7549' - '7622' - '7623' - '7629' - '7631' - '7641' - '7692' - '7699' - '7800' - '7801' - '7802' - '7829' - '7832' - '7841' - '7911' - '7922' - '7929' - '7932' - '7933' - '7941' - '7991' - '7992' - '7993' - '7994' - '7995' - '7996' - '7997' - '7998' - '7999' - '8011' - '8021' - '8031' - '8041' - '8042' - '8043' - '8049' - '8050' - '8062' - '8071' - '8099' - '8111' - '8211' - '8220' - '8241' - '8244' - '8249' - '8299' - '8351' - '8398' - '8641' - '8651' - '8661' - '8675' - '8699' - '8734' - '8911' - '8931' - '8999' - '9211' - '9222' - '9223' - '9311' - '9399' - '9402' - '9405' - '9406' - '9702' - '9950' example: '6060' primary_bank_account_bban: type: string description: The primary bank account of the client. example: 123456-123123123 registered_address: type: string description: The registered address of the client. example: 123 Street, City, Country risk_level: type: string description: The risk level of the client according to agreed KYC/AML policies with Zepto. enum: - low - medium - high example: low type: type: string description: The structure type of the client, either 'business' or 'individual'. This will alter which fields are required. enum: - business - individual example: business website_url: type: string description: The website URL of the client. example: https://example.com services: type: array description: Platform services provided by Zepto that the client requires access to. Sub-clients can only use services enabled on the parent account.
PayTo - Includes PayTo mandates and payments
RTP - Includes PayID payments, payouts and refunds
DE - Includes Direct Debit payment requests and Direct Credit payouts
items: type: string enum: - payto - rtp - de clients.client_update_request: type: object additionalProperties: false properties: business_names: type: array description: The business/trading names registered to the client's legal entity. For `individual` clients, this should be the client's legal name. items: type: string example: - Business Name 1 - Business Name 2 contact_information: type: object description: The contact information of the client. Required if RTP services requested. properties: contact_name: type: string description: 'The contact name for the client. Required if RTP services requested. ' example: Contact Name email: type: string description: The contact email address for the client. Required if RTP services requested. example: contact@example.com phone: type: string description: The contact phone number for the client. Required if RTP services requested. example: '+61400123456' pattern: \A[\d\s\-\+\(\)]+\z legal_name: type: string description: The legal name of the client. example: Legal Name Pty Ltd registered_address: type: string description: The registered address of the client. example: 123 Street, City, Country website_url: type: string description: The website URL of the client. example: https://example.com clients.client_request: type: object oneOf: - $ref: '#/components/schemas/clients.client_business_request' - $ref: '#/components/schemas/clients.client_individual_request' discriminator: propertyName: type mapping: business: '#/components/schemas/clients.client_business_request' individual: '#/components/schemas/clients.client_individual_request' clients.client_response: type: object additionalProperties: false properties: austrac_number: type: - string - 'null' description: The AUSTRAC number of the client (if applicable). example: '1234567' australian_business_number: type: - string - 'null' description: The Australian Business Number (ABN) of the client. example: '12345678901' pattern: \A\d{11}\z australian_company_number: type: - string - 'null' description: The Australian Company Number (ACN) of the client. example: 045678901 pattern: \A\d{9}\z australian_credit_licence: type: - string - 'null' description: The Australian Credit Licence of the client (if applicable). example: '123456' australian_financial_services_licence: type: - string - 'null' description: The Australian Financial Services Licence of the client (if applicable). example: '777888999' business_names: type: array description: The business/trading names registered to the client's legal entity. For `individual` clients, this should be the client's legal name. items: type: string example: - Business Name 1 - Business Name 2 business_registration_date: type: - string - 'null' description: The business registration date of the client. format: date example: '2025-02-01' company_incorporation_date: type: - string - 'null' description: The company incorporation date of the client. format: date example: '2025-02-01' contact_information: type: object description: The contact information of the client. Required if RTP services requested. properties: contact_name: type: - string - 'null' description: 'The contact name for the client. Required if RTP services requested. ' example: Contact Name email: type: - string - 'null' description: The contact email address for the client. Required if RTP services requested. example: contact@example.com phone: type: - string - 'null' description: The contact phone number for the client. Required if RTP services requested. example: '+61400123456' pattern: \A[\d\s\-\+\(\)]+\z id: type: string description: The unique identifier of the client (UUIDv7). example: 01955dea-b445-7841-a145-77b4b2c00089 legal_name: type: string description: The legal name of the client. example: Legal Name Pty Ltd merchant_category_code: type: string description: The Merchant Category Code (MCC) of the client. enum: - '0742' - '0763' - 0780 - '1520' - '1711' - '1731' - '1740' - '1750' - '1761' - '1771' - '1799' - '2741' - '2791' - '2842' - '4011' - '4111' - '4112' - '4119' - '4121' - '4131' - '4214' - '4215' - '4225' - '4411' - '4457' - '4468' - '4511' - '4582' - '4722' - '4723' - '4784' - '4789' - '4812' - '4814' - '4816' - '4821' - '4829' - '4899' - '4900' - '5013' - '5021' - '5039' - '5044' - '5045' - '5046' - '5047' - '5051' - '5065' - '5072' - '5074' - '5085' - '5094' - '5099' - '5111' - '5122' - '5131' - '5137' - '5139' - '5169' - '5172' - '5192' - '5193' - '5198' - '5199' - '5200' - '5211' - '5231' - '5251' - '5261' - '5262' - '5271' - '5300' - '5309' - '5310' - '5311' - '5331' - '5399' - '5411' - '5422' - '5441' - '5451' - '5462' - '5499' - '5511' - '5521' - '5531' - '5532' - '5533' - '5541' - '5542' - '5551' - '5552' - '5561' - '5571' - '5592' - '5598' - '5599' - '5611' - '5621' - '5631' - '5641' - '5651' - '5655' - '5661' - '5681' - '5691' - '5697' - '5698' - '5699' - '5712' - '5713' - '5714' - '5718' - '5719' - '5722' - '5732' - '5733' - '5734' - '5735' - '5811' - '5812' - '5813' - '5814' - '5815' - '5816' - '5817' - '5818' - '5912' - '5921' - '5931' - '5932' - '5933' - '5935' - '5937' - '5940' - '5941' - '5942' - '5943' - '5944' - '5945' - '5946' - '5947' - '5948' - '5949' - '5950' - '5960' - '5962' - '5963' - '5964' - '5965' - '5966' - '5967' - '5968' - '5969' - '5970' - '5971' - '5972' - '5973' - '5975' - '5976' - '5977' - '5978' - '5983' - '5992' - '5993' - '5994' - '5995' - '5996' - '5997' - '5998' - '5999' - '6010' - '6011' - '6012' - '6051' - '6052' - '6053' - '6054' - '6055' - '6056' - '6057' - '6058' - '6059' - '6060' - '6061' - '6062' - '6063' - '6064' - '6065' - '6066' - '6211' - '6300' - '6399' - '6513' - '6530' - '6540' - '7011' - '7012' - '7032' - '7033' - '7210' - '7211' - '7216' - '7217' - '7221' - '7230' - '7251' - '7261' - '7273' - '7276' - '7277' - '7278' - '7296' - '7297' - '7298' - '7299' - '7311' - '7321' - '7333' - '7338' - '7339' - '7342' - '7349' - '7361' - '7372' - '7375' - '7379' - '7392' - '7393' - '7394' - '7395' - '7399' - '7511' - '7512' - '7513' - '7519' - '7523' - '7531' - '7534' - '7535' - '7538' - '7542' - '7549' - '7622' - '7623' - '7629' - '7631' - '7641' - '7692' - '7699' - '7800' - '7801' - '7802' - '7829' - '7832' - '7841' - '7911' - '7922' - '7929' - '7932' - '7933' - '7941' - '7991' - '7992' - '7993' - '7994' - '7995' - '7996' - '7997' - '7998' - '7999' - '8011' - '8021' - '8031' - '8041' - '8042' - '8043' - '8049' - '8050' - '8062' - '8071' - '8099' - '8111' - '8211' - '8220' - '8241' - '8244' - '8249' - '8299' - '8351' - '8398' - '8641' - '8651' - '8661' - '8675' - '8699' - '8734' - '8911' - '8931' - '8999' - '9211' - '9222' - '9223' - '9311' - '9399' - '9402' - '9405' - '9406' - '9702' - '9950' example: '6060' primary_bank_account_bban: type: - string - 'null' description: The primary bank account of the client. example: 123456-123123123 registered_address: type: string description: The registered address of the client. example: 123 Street, City, Country risk_level: type: string description: The risk level of the client according to agreed KYC/AML policies with Zepto. enum: - low - medium - high example: low services: type: object description: The access status of specific platform services provided by Zepto for the client. properties: de: type: - string - 'null' description: The DE service of the client. enum: - pending - active - suspended - off_boarded example: null payto: type: - string - 'null' description: The PayTo service of the client. enum: - pending - active - suspended - off_boarded example: active rtp: type: - string - 'null' description: The RTP service of the client. enum: - pending - active - suspended - off_boarded example: pending type: type: string description: The structure type of the client, either 'business' or 'individual'. enum: - business - individual example: business website_url: type: - string - 'null' description: The website URL of the client. example: https://example.com clients.list: type: object properties: links: type: object properties: next: type: string description: URL for next page of results. Won't be present if there are no further pages. example: {} data: type: array items: $ref: '#/components/schemas/clients.client_response' 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: http scheme: bearer