PayMate Contacts API
Buyer / supplier contact onboarding and maintenance
Operations 4
Documentation
Documentation
https://api.paymate.my/GlobalPartnerAPI
APIReference
https://api.paymate.my/GlobalPartnerAPI
Buyer / supplier contact onboarding and maintenance
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/paymate-contacts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: PayMate Global Partner Contacts API
version: v1
description: 'Partner-facing B2B payments API for the PayMate global platform — business (KYB) onboarding, contact onboarding, commercial-card management, vendor payments, payment collection requests and reporting.
GENERATED, NOT PUBLISHED BY PAYMATE. PayMate does not publish an OpenAPI description. This document was generated by API Evangelist from PayMate''s OWN machine-readable endpoint dataset (MalaysiaData.json / singaporeData.json / AustraliaData.json / UaeData.json / OmanData.json / SouthAfricaData.json), which is bundled into the Partner API documentation app served at https://api.paymate.my/GlobalPartnerAPI. The verbatim datasets are kept alongside this file in openapi/_source/. Every path, method, parameter, data type, required flag, description and example here comes from that dataset; nothing was invented.
Regional deployments run the same v1 surface on six hosts. In Australia and South Africa the platform is branded DuNoMo. Each operation carries x-regions listing the regional datasets that declare it — POST /v1/VendorPayment is declared only in the Australian dataset.'
contact:
name: PayMate partner support
url: https://api.paymate.my/GlobalPartnerAPI
email: support@paymate.my
x-generated-by: API Evangelist enrichment pipeline
x-generated-on: '2026-08-26'
x-source: https://api.paymate.my/GlobalPartnerAPI/static/js/main.d40c1507.js
servers:
- url: https://api.paymate.sg
description: Singapore
- url: https://api.paymate.my
description: Malaysia
- url: https://api.paymate.ae
description: United Arab Emirates
- url: https://api.paymate.om
description: Oman
- url: https://api.dunomo.au
description: Australia (DuNoMo brand)
- url: https://api.dunomo.co.za
description: South Africa (DuNoMo brand)
security:
- PartnerApiKey: []
tags:
- name: Contacts
description: Buyer / supplier contact onboarding and maintenance
paths:
/v1/contactboarding:
post:
operationId: ContactBoarding
summary: Contact Boarding
description: Use this method to add your vendors and customers as Contacts on your PayMate account. While adding a vendor, please provide the vendor's account details also. When adding a customer provide an email address for the customer which will be used for communication.
tags:
- Contacts
x-regions:
- ae
- au
- my
- om
- sg
- za
responses:
'200':
description: PayMate response envelope. Business outcome is carried in StatusCode; see errors/paymate-error-codes.yml.
content:
application/json:
schema:
type: object
properties:
RequestID:
type: string
maxLength: 30
description: Sent during request
StatusCode:
type: string
maxLength: 3
description: Status of the Request
Description:
type: string
maxLength: 300
description: Status Description
DetailedSummary:
type: object
description: This will be used to show Contact status and respond. Refer DetailedSummary Object
properties:
BusinessCode:
type: string
maxLength: 30
description: Business unique reference no. on partner system.
BusinessXpressID:
type: string
maxLength: 15
description: Business Unique Relationship no which was issued at the time of boarding.
ReferenceCode:
type: string
maxLength: 30
description: Sent during request
ContactXpressID:
type: string
maxLength: 15
description: Business Identification at PayMate side
Status:
type: string
maxLength: 20
description: Current status of the Contact
Message:
type: string
maxLength: 500
description: Status description
example:
RequestID: '1234567899876'
StatusCode: '000'
Description: Your request has been processed successfully
DetailedSummary:
- BusinessCode: ALPHA
BusinessXpressID: TDS0223444
ReferenceCode: C00004
ContactXpressID: ASHF0112223
Status: '300'
Message: Contact has been added successfully
'401':
description: Empty/invalid header credentials (StatusCode 106), observed on an unauthenticated probe.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
RequestID:
type: string
maxLength: 30
description: A unique RequestID for Identifying the request.
ContactInformation:
type: object
description: Contact basic information will come under ContactInformation object. Refer ContactInformation Object
properties:
BusinessCode:
type: string
maxLength: 30
description: Business unique reference no. on partner system. Parameter is mandatory if business is not sending issued BusinessXpressID
BusinessXpressID:
type: string
maxLength: 15
description: Business Unique Relationship no issued by PayMate. Parameter is mandatory if business is not sending registered BusinessCode
CompanyRegistrationNo:
type: string
maxLength: 30
description: Company Registration no issued by the government. If registration number is provided by the partner then PayMate will perform the business KYC in real time. if the registration number is not provided then the Partner will have to use the BuyerSupplierKYC and ShareholderDetails API method for KYC verification.
CompanyName:
type: string
maxLength: 100
description: Contact's company name as per the government record
x-possible-values: Special characters allowed are . @ & ! ' _ - / ( )
CompanyNickName:
type: string
maxLength: 20
description: Nick name of the company
ReferenceCode:
type: string
maxLength: 30
description: Contact unique reference no. on partner system.
ContactPersonName:
type: string
maxLength: 250
description: Name of the contact person.
CompanyEmailAddress:
type: string
maxLength: 240
description: Contact's emails address.
CountryCode:
type: string
maxLength: 3
description: Country code as per the Country method. Please refer the API of the CountryInformation
ISDCode:
type: string
maxLength: 4
description: Country ISD code
x-possible-values: + 0-9
MobileNumber:
type: string
pattern: ^[0-9]+$
maxLength: 10
description: Contact Mobile Number.
NotificationEmailAddress:
type: string
maxLength: 1200
description: Contact email Address. Pass this parameter only when change is required
CompanyWebsite:
type: string
maxLength: 250
description: Website of the company.
CompanyDescription:
type: string
maxLength: 500
description: Description of the company
ContactType:
type: string
maxLength: 10
description: Please refer the API of the ContactType.
x-possible-values: Buyer, Supplier, Both
required:
- CompanyName
- ReferenceCode
- ContactPersonName
- CompanyEmailAddress
- ContactType
BankAccountDetails:
type: object
description: Beneficiary Bank Name, IBAN and Currency Code will come under BankAccountDetails Object. Refer BankAccountDetails Object
properties:
AccountHolderName:
type: string
maxLength: 100
description: Name of the person or business that owns the bank account.
AccountNo:
type: string
maxLength: 30
description: Contact's Account number
CurrencyCode:
type: string
maxLength: 3
description: Three letter ISO code for the currency paid out to the bank account
RoutingNumber:
type: string
pattern: ^[0-9]+$
maxLength: 9
description: The routing transit number for the bank account. If mandatory by bank then send with account details
BICCode:
type: string
maxLength: 11
description: Bank identifier code
BranchCity:
type: string
maxLength: 50
description: Name of the bank branch
x-possible-values: A-Z, Space
CountryCode:
type: string
description: Three letter ISO code representing the country the bank account is located in
required:
- AccountHolderName
- AccountNo
- BICCode
required:
- RequestID
- ContactInformation
- BankAccountDetails
example:
RequestID: '12345678987654321'
ContactDetails:
- ContactInformation:
BusinessCode: ALPHA
BusinessXpressID: ''
CompanyRegistrationNo: '8765432123'
CompanyName: Alfala Technologies
CompanyNickName: ''
ReferenceCode: ALFTECH
ContactPersonName: Sheikh Mohammad Salaman Bin Abdul Aziz
CompanyEmailAddress: alfala@yopmail.com
CountryCode: MYS
ISDCode: '+60'
MobileNumber: '196090811'
CompanyWebsite: ''
CompanyDescription: ''
ContactType: Supplier
BankAccountDetails:
AccountHolderName: Supernet Services
AccountNo: '565343423'
CurrencyCode: MYR
RoutingNumber: ''
BICCode: DBSSSGSG
BranchCity: ''
CountryCode: MYS
/v1/modifycontact:
post:
operationId: ModifyContact
summary: Modify Contact
description: This method is used for updating the Contact information, once the contact is on-boarded to the PayMate. The Business can update their Contact information such as company Name, Contact person’s information, Account no, routing code, etc
tags:
- Contacts
x-regions:
- ae
- au
- my
- om
- sg
- za
responses:
'200':
description: PayMate response envelope. Business outcome is carried in StatusCode; see errors/paymate-error-codes.yml.
content:
application/json:
schema:
type: object
properties:
RequestID:
type: string
maxLength: 30
description: Sent during request
StatusCode:
type: string
maxLength: 3
description: Status of the Request
Description:
type: string
maxLength: 300
description: Status Description
DetailedSummary:
type: object
description: This will be used to show Contact status and respond. Refer DetailedSummary Object
properties:
BusinessCode:
type: string
maxLength: 30
description: Business unique reference no. on partner system.
BusinessXpressID:
type: string
maxLength: 15
description: Business Unique Relationship no which was issued at the time of boarding.
ReferenceCode:
type: string
maxLength: 30
description: Sent during request
ContactXpressID:
type: string
maxLength: 15
description: Business Identification at PayMate side
Status:
type: string
maxLength: 3
description: Current status of the Contact
Message:
type: string
maxLength: 500
description: Status description
example:
RequestID: REQhjh777911
StatusCode: '000'
Description: Your request has been processed successfully
DetailedSummary:
- Status: '300'
Message: Contact modified successfully
BusinessCode: ''
BusinessXpressID: AAAA0065Q1
ReferenceCode: ''
ContactXpressID: AAAA0065Q5
'401':
description: Empty/invalid header credentials (StatusCode 106), observed on an unauthenticated probe.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
RequestID:
type: string
maxLength: 30
description: A unique Request no from the partner to track the request
BusinessCode:
type: string
maxLength: 30
description: Business unique reference no. on partner system. Parameter is mandatory if business is not sending issued BusinessXpressID
BusinessXpressID:
type: string
maxLength: 15
description: Business Unique Relationship no issued by PayMate. Parameter is mandatory if business is not sending registered BusinessCode
ContactInformation:
type: object
description: All the Contact basic information will come under ContactInformation Object. Refer ContactInformation Object
properties:
ContactXpressID:
type: string
maxLength: 15
description: If ReferenceCode passed, then this is optional, else Required.
ReferenceCode:
type: string
maxLength: 30
description: If ContactXpressID passed, then this is optional, else Required.
CompanyRegistrationNo:
type: string
maxLength: 30
description: Company Registration no issued by the government. If registration number is provided by the partner then PayMate will perform the supplier KYC in real time otherwise the business will use other ContactKYC API and submit the KYC documents. PayMate will review the KYC document and take action within 48 hours.
CompanyName:
type: string
maxLength: 100
description: Contact's company name. Pass this parameter only when change is required. Special characters allowed are . @ & ! ' _ - / ( )
ContactPersonName:
type: string
maxLength: 250
description: Contact's person name. Pass this parameter only when change is required
CompanyEmailAddress:
type: string
maxLength: 30
description: Contact's emails address for sending notification. Pass this parameter only when change is required
CountryCode:
type: string
maxLength: 100
description: Country Code as per the Country object. Pass this only when change is required. Please refer the API of the CountryInformation
ISDCode:
type: string
maxLength: 4
description: Country ISD code. Pass only when change is required
MobileNumber:
type: string
pattern: ^[0-9]+$
maxLength: 10
description: Mobile Number. Pass this parameter only when change is required
NotificationEmailAddress:
type: string
maxLength: 240
description: Contact email Address. Pass this parameter only when change is required
CompanyWebsite:
type: string
maxLength: 250
description: Website of the company. Pass this only when change is required.
CompanyDescription:
type: string
maxLength: 500
description: Description of the company. Pass this only when change is required.
ContactType:
type: string
maxLength: 10
description: Please refer the API of the ContactType. Pass this only when change is required.
BankAccountDetails:
type: object
description: Refer BankAccountDetails Object
properties:
AccountHolderName:
type: string
maxLength: 100
description: Name of the person or business that owns the bank account.
AccountNo:
type: string
maxLength: 30
description: Contact's Account number
CurrencyCode:
type: string
maxLength: 3
description: Three letter ISO code for the currency paid out to the bank account
RoutingNumber:
type: string
pattern: ^[0-9]+$
maxLength: 9
description: The routing transit number for the bank account. If mandatory by bank then send with account details
BICCode:
type: string
maxLength: 11
description: Bank identifier code
BranchCity:
type: string
maxLength: 50
description: Name of the bank branch
x-possible-values: A-Z, Space
CountryCode:
type: string
description: Three letter ISO code representing the country the bank account is located in
required:
- AccountHolderName
- AccountNo
- BICCode
required:
- RequestID
- ContactInformation
- BankAccountDetails
example:
RequestID: REQhjh777911
BusinessCode: ''
BusinessXpressID: AAAA0065Q1
ContactDetails:
- ContactInformation:
ContactXpressId: AAAA0065Q5
ReferenceCode: ''
CompanyName: rd 2 modify
ContactPersonName: rd two modi
CompanyEmailAddress: rd2.modify@yopmail.com
CountryCode: MYS
ISDCode: '+60'
MobileNumber: '197290811'
NotificationEmailAddress: mgonee1@yopmail.com
CompanyWebsite: www.mgonee1.com
CompanyDescription: xnbcnxzvcnzvbcnb
ContactType: Supplier
BankAccountDetails:
AccountHolderName: Supernet Services
AccountNo: '1277677443332'
CurrencyCode: MYR
RoutingNumber: ''
BICCode: MFBBMYKL
BranchCity: ANTPSGSGXXX
CountryCode: MYS
/v1/DeleteContact:
post:
operationId: DeleteContact
summary: Delete Contact
description: This method is used for deleting a Contact permanently.
tags:
- Contacts
x-regions:
- ae
- au
- my
- om
- sg
- za
responses:
'200':
description: PayMate response envelope. Business outcome is carried in StatusCode; see errors/paymate-error-codes.yml.
content:
application/json:
schema:
type: object
properties:
RequestID:
type: string
x-declared-type: AB(30)
description: Sent during the request.
StatusCode:
type: string
maxLength: 3
description: Status of the request.
Description:
type: string
maxLength: 300
description: Status description.
example:
RequestID: '123456789'
StatusCode: '000'
Description: Contact Deleted successfully
DetailedSummary:
BusinessCode: ALPHA
BusinessXpressID: STF01122333
ReferenceCode: S001234
ContactXpressID: PMX10002344
Status: '392'
Message: Your Contact has been deleted successfully
'401':
description: Empty/invalid header credentials (StatusCode 106), observed on an unauthenticated probe.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
RequestID:
type: string
maxLength: 30
description: A unique Request ID from the partner to track the request.
BusinessCode:
type: string
maxLength: 30
description: Business unique reference number on partner system. Mandatory if BusinessXpressID is not provided.
BusinessXpressID:
type: string
maxLength: 15
description: Business unique relationship number issued by PayMate. Mandatory if BusinessCode is not provided.
ContactXpressID:
type: string
maxLength: 15
description: Contact unique relationship number issued by PayMate. Optional if ReferenceCode is provided.
ReferenceCode:
type: string
maxLength: 30
description: Reference code associated with the contact. Optional if ContactXpressID is provided.
Reason:
type: string
maxLength: 500
description: Remarks on why the contact is being deleted.
required:
- RequestID
- Reason
example:
ContactDetails:
RequestID: '123456789876543215'
BusinessCode: ALPHA
BusinessXpressID: ''
ContactXpressID: PMX0001234
ReferenceCode: ATRS00001
Reason: Contact is not part of ecosystem
/v1/managecontact:
post:
operationId: ManageContacts
summary: Manage Contacts
description: This method is used for getting all the Contact information and status.
tags:
- Contacts
x-regions:
- ae
- au
- my
- om
- sg
- za
responses:
'200':
description: PayMate response envelope. Business outcome is carried in StatusCode; see errors/paymate-error-codes.yml.
content:
application/json:
schema:
type: object
properties:
StatusCode:
type: string
maxLength: 3
description: Status of the Request
Description:
type: string
maxLength: 300
description: Status Description
DetailedSummary:
type: object
description: This will be used to show Contact information. Refer DetailedSummary Object
properties:
ContactXpressID:
type: string
maxLength: 15
description: Contact Identification at PayMate's end
CompanyName:
type: string
maxLength: 100
description: Contact's company name
ReferenceCode:
type: string
maxLength: 30
description: Contact unique reference no. on partner system.
ContactPersonName:
type: string
maxLength: 250
description: Name of the contact person.
ContactDesignation:
type: string
maxLength: 150
description: Designation of the Contact Person.
CompanyEmailAddress:
type: string
maxLength: 30
description: Contact's email address.
CountryName:
type: string
maxLength: 100
description: Country Name as per the Country object. Please refer the API of the CountryInformation
MobileNumber:
type: string
pattern: ^[0-9]+$
maxLength: 10
description: Contact Mobile Number.
CompanyWebsite:
type: string
maxLength: 250
description: Website of the company.
CompanyDescription:
type: string
maxLength: 500
description: Description of the company.
ContactType:
type: string
maxLength: 10
description: Please refer the API of the ContactType.
ContactStatus:
type: string
maxLength: 50
description: Status of the contact
example:
RequestID: RE54005291
StatusCode: '000'
Description: Your request has been processed successfully
DetailedSummary:
- ContactInformation:
BusinessCode: uatmys
BusinessXpressID: AAAA0065Q1
ReferenceCode: conmys91
ContactXpressID: AAAA0065Q4
CompanyName: BIG 10 SUPER STORE (TERENGGANU) SDN. BHD.
ContactPersonName: Rakhi D
ContactDesignation: NA
CompanyEmailAddress: rd2911111111@yopmail.com
ISDCode: '+60'
MobileNumber: '197290811'
CountryName: MALAYSIA
CompanyWebsite: ''
CompanyDescription: ''
ContactType: Buyer and Supplier
ContactStatusCode: '300'
ContactStatus: Contact Active
BankAccountDetails:
Currency: MYR
AccountHolderName: Supernet Services
IBANNumber: null
SwiftCode: MFBBMYKL
BankName: 4
BranchAddress: MYS
PayableCity: ANTPSGSGXXX
AccountStatus: Active
KYCDetails:
IsKycRequired: Kyc Required
KYCStatusCode: '390'
KYCStatus: KYC Verified
- ContactInformation:
BusinessCode: uatmys
BusinessXpressID: AAAA0065Q1
ReferenceCode: rd211111
ContactXpressID: AAAA0065Q4
CompanyName: rakhi twq
ContactPersonName: Rakhi D
ContactDesignation: NA
CompanyEmailAddress: rd2911111111@yopmail.com
ISDCode: '+60'
MobileNumber: '197290811'
CountryName: MALAYSIA
CompanyWebsite: ''
CompanyDescription: ''
ContactType: Buyer and Supplier
ContactStatusCode: '300'
ContactStatus: Contact Registered
BankAccountDetails:
Currency: MYR
AccountHolderName: Supernet Services
IBANNumber: null
SwiftCode: MFBBMYKL
BankName: 4
BranchAddress: MYS
PayableCity: ANTPSGSGXXX
AccountStatus: Awaiting Approve
KYCDetails:
IsKycRequired: Kyc Required
KYCStatusCode: '355'
KYCStatus: KYC Pending
- ContactInformation:
BusinessCode: uatmys
BusinessXpressID: AAAA0065Q1
ReferenceCode: rd2
ContactXpressID: AAAA005X
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/paymate/refs/heads/main/openapi/paymate-contacts-api-openapi.yml