1. v2.1
v2.1 (Production)
  • v2.1 (Production)
  • v2.1 (Sandbox)
  • v2.0 (Sandbox)
  • v1.0 (Deprecated)
  • v2.1
    • Getting Started
    • Account Setup
    • Idempotent Requests
    • Webhook
    • API Error Handling Guide
    • Changelog 20260408
    • Authentication
      • Create Token
    • Account Management
      • Get Balance
      • Internal Transfer
      • Get Internal Transfer
    • Merchant Management
      • Create Merchant
      • Get Merchant
      • Merchant Status Webhook
    • Fiat Payment
      • Fiat Deposit
        • Get Deposit Bank Account
        • Get Fiat Deposit Detail
        • Get Fiat Deposit History
        • Fiat Deposit Webhook
      • Fiat Account Management
        • Get Fiat Account Capabilities
        • Create Fiat Account Request
        • Submit Additional Information for Fiat Account Request
        • Get Fiat Account Application Status
        • Get Bank Accounts
        • Add Bank Account
        • Fiat Account Request Status Webhook
      • Fiat Withdrawal
        • Get Same Name Withdrawal Capabilities
        • Activate Same Name Withdrawal
        • Submit Additional Information for Activating Same Name Withdrawal
        • Activate Same Name Withdrawal Webhook
        • Create Fiat Withdrawal
        • Submit Additional Information for Fiat Withdrawal Request
        • Get Fiat Withdrawal Detail
        • Get Fiat Withdrawal History
        • Fiat Withdrawal Webhook
    • Crypto Payment
      • Crypto Deposit
        • Update Crypto Deposit Travel Rule Info
        • Get Crypto Deposit Wallet
        • Get Crypto Deposit
        • Get Crypto Deposit History
        • Crypto Deposit Webhook
      • Crypto Withdrawal
        • Register Wallet Address
        • Remove Wallet Address
        • Create Crypto Withdrawal
        • Get Wallet Address
        • Get Crypto Withdrawal
        • Get Crypto Withdrawal History
        • Crypto Withdrawal Webhook
      • Crypto Checkout
        • Create Crypto Checkout
        • Create Crypto Checkout Link
        • Crypto Checkout Wallet Connection
        • Generate POS Payment Request
        • Close Crypto Checkout
        • Get Convertible Cryptos
        • Get Supported Blockchains
        • Get Crypto Checkout
        • Get Crypto Checkout Link
        • Get Crypto Checkout Currencies
        • Crypto Checkout Webhook
      • Crypto Collection
        • Buyer Management
          • Create Buyer
          • Get Buyer
          • Update Buyer
          • Buyer Status Webhook
        • Create Collection Wallet
        • Update Collection Wallet
        • Get Collection Wallet
        • Get Crypto Collection
        • Update Co-KYT status
        • Crypto Collection Wallet Webhook
        • Crypto Collection Webhook
      • Crypto Refund
        • Create Crypto Refund
        • Confirm Crypto Refund
        • Get Crypto Refund
        • Crypto Refund Webhook
    • Conversion
      • Create Quotation
      • Create Conversion
      • Get Quotation
      • Get Conversion
      • Conversion Webhook
    • Tool
      • Upload File
      • getTnC
  1. v2.1

API Error Handling Guide

Overview#

Our API uses standard HTTP response codes to indicate the success or failure of an API request. When an error occurs, the response body will contain a JSON object structured according to IETF RFC 7807 (Problem Details for HTTP APIs).
This standardized format allows you to programmatically handle errors based on stable error codes while providing human-readable details for debugging.

HTTP Status Codes#

We use the following HTTP status codes to indicate the general class of the response:
Status CodeDescription
200 OKThe request was successful.
400 Bad RequestThe request was invalid (e.g., missing parameters, invalid format).
401 UnauthorizedAuthentication failed (e.g., API key is missing or invalid).
403 ForbiddenYou do not have permission to access this resource.
422 Unprocessable EntityThe request was well-formed but failed business logic validation (e.g., insufficient funds).
429 Too Many RequestsYou have exceeded your rate limit.
500 Internal Server ErrorSomething went wrong on our end. Please contact support with the logId.
503 Service UnavailableThe service or an upstream dependency is temporarily unavailable. Please retry later.

Error Response Structure#

In the event of an error (4xx or 5xx), the response body will follow this structure:
{
  "type": "https://api-doc.mce.sg/8182426m0",
  "title": "Insufficient Funds",
  "status": 422,
  "detail": "The transaction amount (150.00) exceeds the available balance.",
  "instance": "/v1.0/payment/fiat/createWithdrawal",
  "code": "PAY_INSUFFICIENT_FUNDS",
  "logId": "0a1b2c3d-4e5f-6789-0123-456789abcdef"
}

Field Definitions#

FieldTypeDescription
codeStringThe specific error identifier.
detailStringA human-readable explanation specific to this occurrence of the problem. Safe to display to your end-users.
logIdStringTechnical Support ID. A unique identifier for the specific request trace on our infrastructure. Please log this ID and provide it when contacting Technical Support. It is distinct from your business
titleStringA short, readable summary of the problem type.
statusIntegerThe HTTP status code generated by the origin server for this occurrence of the problem.
typeStringA URI reference that identifies the problem type and links to documentation.
instanceString(Optional) A URI reference that identifies the specific resource where the error occurred.

Need Help?#

If you encounter an error that persists or is not documented, please contact our support team.
Crucial: When reporting an issue, please copy the logId from the error response. This allows our engineering team to locate the logs for your specific request immediately.
Support Email: api_support@mce.sg
Ticket Format: "API Error - logId: [Insert logId here]"
Modified at 2026-04-17 01:42:52
Previous
Webhook
Next
Changelog 20260408
Built with