Begin technical integration
This guide provides a comprehensive overview of the technical requirements, security protocols, and architectural structure for integrating with the MatchMove API ecosystem.
API Authorization & Access Scopes
The API utilizes a dual-layered authorization model to ensure that requests are both authenticated and correctly scoped to the intended data level.
Partner IP whitelisting
Before you begin consuming the API, we need to make sure that the middleware static IP has already been whitelisted from the MatchMove network securitty.
Otherwise, you will receive a 403: Forbidden response when you attempt to call an API.
Authentication Mechanism
All requests must use Basic Authentication.
This involves passing your unique username and secret in the HTTP header.
Header: Authorization: Basic <base64(username:secret)>
Access Scopes
Access is divided into two distinct levels. Your application must determine the scope based on the endpoint's purpose:
User Scope
Used for actions tied to a specific end-user (e.g., checking a card balance or initiating a payout).
Requirement:
- Header: Basic Authentication
- Header:
X-Auth-User-ID(User Identifier or user.ID) - URL:
program_code - URL: correct module hostname or base url
Admin Scope
Used for broad (non-user specific) program management (e.g., pulling partner-level reports or platform configurations).
Requirement:
- Header: Basic Auth
- URL:
program_code - URL: correct module hostname or base url
The program_code is a mandatory parameter that identifies your specific program in the platform. This identifier will be assigned to your program during the stack setup and program configuration stage.
API Base URL Architecture
To provide high availability and modularity, hostnames are segregated by product or capability type. You must route your API calls to the specific base URL corresponding to the service you are utilizing.
UAT (User Acceptance Testing)
Used for development, staging, and certification.
Identity
| User onboarding, KYC, and KYB-related API |
Accounts
| Accounts or wallets, virtual account and wallet transaction-related API |
Cards
| Cards and card transaction-related API |
Collection
| Collections or incoming transfer-related API |
Payouts
| Domestic and cross-border payout or outgoing transfer-related API |
Platform
| Admin-related and general-purpose APIs, such as webhooks |
Simulations
| Transaction simulation-related API |
PRD (Production)
Used exclusively for live, real-world financial transactions.
Identity
| User onboarding, KYC, and KYB-related API |
Accounts
| Accounts or wallets, virtual account and wallet transaction-related API |
Cards
| Cards and card transaction-related API |
Collection
| Collections or incoming transfer-related API |
Payouts
| Domestic and cross-border payout or outgoing transfer-related API |
Platform
| Admin-related and general-purpose APIs, such as webhooks |
API Request Example
A standard request for a user-specific action in the UAT environment:
Request (Admin scope) using {{identity_base_url}}
curl --location 'https://api-sg-identity.matchmove-beta.com/{{program_code}}/v1/users/enumerations/countries' \
--header 'Authorization: ••••••'Response (Admin scope)
{
"countries": [
{
"code": "AFG",
"description": "Afghanistan"
},
{
"code": "ALA",
"description": "Aland Islands"
},
{
"code": "ALB",
"description": "Albania"
},..Request (User scope) using {{identity_base_url}}
curl --location 'https://api-sg-identity.matchmove-beta.com/{{program_code}}/v1/users' \
--header 'X-Auth-User-ID: {{user_id}}' \
--header 'Authorization: ••••••'Response (User scope)
{
"id": "6ea4a36ac4984065bf5d4eefa4b756b9",
"email": "john.smith@matchmove.com",
"title": "",
"name": {
"first": "John",
"middle": "",
"last": "Smith",
"preferred": "John Smith"
},..Related Links
On this page
- Begin technical integration