Skip to content

API Reference

Welcome to the Maraboo API Reference. This section provides detailed technical specifications for all API endpoints.

Base URLs

EnvironmentBase URL
Sandboxhttps://sandbox.mara.boo
Productionhttps://gateway.mara.boo

Authentication

All API requests require HMAC-SHA256 authentication. See the Authentication Guide for details.

Required Headers:

Authorization: HMAC-SHA256 PUBLIC_KEY:PRIVATE_KEY
X-Origin: third-party-api
X-Timestamp: 2025-10-12T14:30:00.000Z
Content-Type: application/json

Resources

Wallets

Transactions

Payments

Response Format

All API responses follow a consistent structure:

json
{
  "data": { /* Response data */ },
  "success": true,
  "message": "Success message",
  "detail": {}
}

Error Responses

All error responses follow a consistent structure:

json
{
  "success": false,
  "message": "Error description",
  "mb_error_code": "ERROR_CODE",
  "errors": {}
}

Common Error Examples

404 - Route Not Found:

json
{
  "success": false,
  "message": "Path not found",
  "mb_error_code": "path_not_found",
  "errors": {}
}

404 - Resource Not Found:

json
{
  "success": false,
  "message": "Could not find recipient",
  "mb_error_code": "RECIPIENT_NOT_FOUND",
  "errors": {}
}

Note: The message and error code vary based on the resource type.

401 - Unauthorized:

json
{
  "success": false,
  "message": "Authentication required",
  "mb_error_code": "permission_error",
  "errors": {}
}

403 - Forbidden:

json
{
  "success": false,
  "message": "Access denied to users:read. Insufficient permissions.",
  "mb_error_code": "permission_error",
  "errors": {}
}

Note: The message varies based on the specific permission requirement.

Common HTTP Status Codes

CodeDescription
200Success
400Bad Request - Invalid parameters
401Unauthorized - Authentication required
403Forbidden - Insufficient permissions
404Not Found - Resource or path doesn't exist
429Too Many Requests - Rate limit exceeded
500Internal Server Error

Rate Limits

Some endpoints have rate limits to prevent abuse. Rate-limited endpoints include:

  • OTP endpoints (send, resend, validate)
  • Additional endpoints may be added over time

When you exceed the rate limit, you'll receive a 429 Too Many Requests response:

json
{
  "success": false,
  "message": "Rate limit exceeded. Please try again later.",
  "mb_error_code": "rate_limit_exceeded",
  "errors": {}
}

Note: Specific rate limit thresholds and time windows vary by endpoint. Contact support for detailed rate limit information.