API Methods
Complete reference for the Milta Distributor Platform Partner API. All endpoints require Basic Authentication — use your API Key ID as the username and API Key Secret as the password.
Inventory API
Browse available product categories, brands, and products. Use these endpoints to populate your catalogue and filter products by country, brand, or category.
/inventories/categoriesGet Product Categories
Retrieve all available product categories in our catalog. Use these categories to filter products or organize your product listings. Categories include Mobile Top-Up, Gift Cards, Gaming, and more.
Request Example
curl -u "API_KEY_ID:API_KEY_SECRET" \
"https://api.dev.wallet.milta.be/api/v1/partner/inventories/categories"Response
messagestringrequiredConfirmation message that the categories were retrieved successfully
Categories fetched successfullydataobjectrequiredAuthentication Required
All requests require HTTP Basic Auth — your API Key ID as username and API Key Secret as password.
/inventories/brandsGet Brands
Retrieve all available brands with pagination support. Use category to filter brands by specific product categories. Use 'shorten=true' to get minimal brand information (id, name only) for better performance. Full response includes brand logo URLs and human-readable unique identifiers.
Request Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| page | query | number | Optional | Page number for pagination (starts from 1). Use this to navigate through multiple pages of results. |
| limit | query | number | Optional | Number of items to return per page (maximum 200). Smaller values provide faster response times for better user experience. |
| category | query | string | Optional | Filter brands by category. Use this to find brands within a specific category. Refer to /categories endpoint for valid category values. |
| shorten | query | string | Optional | Get minimal brand data for better performance. true = Only id and name (faster loading). false = Full brand data including logo URLs and UIDs. |
Request Example
curl -u "API_KEY_ID:API_KEY_SECRET" \
"https://api.dev.wallet.milta.be/api/v1/partner/inventories/brands?page=1&limit=10&category=Mobile Top-Up&shorten=false"Response
messagestringrequiredConfirmation message that your request was processed successfully
Brands fetched successfullydataobjectrequiredAuthentication Required
All requests require HTTP Basic Auth — your API Key ID as username and API Key Secret as password.
/inventories/productsGet Products
Retrieve products assigned to your company with advanced filtering and pagination. **Filtering Options:** - **brandId**: Filter products by specific brand ID - **category**: Filter by product category (e.g., 'Mobile Top-Up', 'Gift Cards') - **countryCode**: Filter products available in a specific country (ISO 3166-1 alpha-2 code) - **inStock**: Filter products based on stock availability (true/false) **Pagination:** - **page**: Page number (starts from 1) - **limit**: Number of products per page (max 50) **Response includes:** - Product details (name, SKU, price, margin) - Brand information (name) - Stock availability - Product specifications and redemption instructions
Request Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| page | query | number | Optional | Page number for pagination (starts from 1). Use this to navigate through multiple pages of results. |
| limit | query | number | Optional | Number of items to return per page (maximum 200). Smaller values provide faster response times for better user experience. |
| brandId | query | string | Optional | Filter products by brand id. Use this to find products associated with a specific brand. |
| category | query | string | Optional | Filter products by category. Use this to find products within a specific category. Refer to /categories endpoint for valid category values. |
| countryCode | query | string | Optional | Filter products by country code (ISO 3166-1 alpha-2 format). Use this to find products available in specific countries. Example: 'BE' for Belgium, 'FR' for France. |
| inStock | query | string | Optional | Filter products based on stock availability. Set to true to get only products that are currently in stock (available). Set to false to get products that are out of stock. |
| shorten | query | string | Optional | Whether to return shortened product data /nSet to true to receive a simplified product list with only essential information. Set to false (or omit) to receive full product details. /nSupported filters: brandId, category, countryCode. /nShortened product data is ideal for displaying large product lists with faster response times, while full product details are suitable for detailed views and when you need all product information. |
Request Example
curl -u "API_KEY_ID:API_KEY_SECRET" \
"https://api.dev.wallet.milta.be/api/v1/partner/inventories/products?page=1&limit=10&brandId=66db7d66c8de6a4f3a34ee21&category=Mobile Top-Up&countryCode=BE&inStock=true&shorten=false"Response
messagestringrequiredConfirmation message that your request was processed successfully
Products fetched successfullydataobjectrequiredAuthentication Required
All requests require HTTP Basic Auth — your API Key ID as username and API Key Secret as password.
/inventories/products/{skuCode}Get Product By SKU Code
Retrieve one specific product by SKU code. Response includes stock status and commission details based on your assigned scheme. Access is allowed only if the product is assigned to your wholesaler company.
Request Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| skuCode | path | string | Required | Product SKU code. This is the unique identifier for the product. It only contains letters, numbers, hyphens, or underscores. |
Request Example
curl -u "API_KEY_ID:API_KEY_SECRET" \
"https://api.dev.wallet.milta.be/api/v1/partner/inventories/products/SKU-LYCA-10"Response
messagestringrequiredProduct detail fetched successfullydataobjectrequiredAuthentication Required
All requests require HTTP Basic Auth — your API Key ID as username and API Key Secret as password.
International API
Retrieve international top-up providers and products. Filter by country ISO code or destination mobile number to show relevant options.
/inventories/international/providersGet International Providers
Retrieve all available international providers. Use countryIso to filter providers by specific countries. Use mobileNumber to get providers that support the given mobile number's country. Full response includes provider logo URLs and human-readable unique identifiers.
Request Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| countryIso | query | string | Optional | Country code in ISO 3166-1 alpha-2 format. Optional. If provided, filters providers by the specified country. |
| mobileNumber | query | string | Optional | Contact number that you want to check for supported providers. Optional. |
Request Example
curl -u "API_KEY_ID:API_KEY_SECRET" \
"https://api.dev.wallet.milta.be/api/v1/partner/inventories/international/providers?countryIso=BE&mobileNumber=442079460958"Response
messagestringrequiredResponse message indicating the result of the get all international providers operation
International providers fetched successfullydataarrayrequiredList of international providers
Authentication Required
All requests require HTTP Basic Auth — your API Key ID as username and API Key Secret as password.
/inventories/international/productsGet International Products
Retrieve all available international products. Use countryIso to filter products by specific countries. Use mobileNumber to get products that support the given mobile number. Use providerId to filter products for a specific provider.
Request Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| countryIso | query | string | Optional | Country code in ISO 3166-1 alpha-2 format. Optional. If provided, filters providers by the specified country. |
| mobileNumber | query | string | Optional | Contact number that you want to check for supported providers. Optional. |
| providerId | query | string | Optional | providerId to filter international products. Optional. |
Request Example
curl -u "API_KEY_ID:API_KEY_SECRET" \
"https://api.dev.wallet.milta.be/api/v1/partner/inventories/international/products?countryIso=AF&mobileNumber=93712345678&providerId=ETAF"Response
messagestringrequiredResponse message indicating the result of the get all international products operation
International products fetched successfullydataobjectrequiredInternational providers and products keyed by provider code
Authentication Required
All requests require HTTP Basic Auth — your API Key ID as username and API Key Secret as password.
/inventories/international/products/{skuCode}Get International Product By SKU
Retrieve an international product by SKU code. Returns a single international product in the InternationalProduct shape.
Request Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| skuCode | path | string | Required | SKU code for the international product. This is the unique identifier for the product. It only contains letters, numbers, hyphens, or underscores. |
Request Example
curl -u "API_KEY_ID:API_KEY_SECRET" \
"https://api.dev.wallet.milta.be/api/v1/partner/inventories/international/products/AF_DG_TopUp"Response
messagestringrequiredResponse message indicating the result of fetching an international product by SKU
International product fetched successfullydataobjectrequiredAuthentication Required
All requests require HTTP Basic Auth — your API Key ID as username and API Key Secret as password.
Transaction API
Purchase products and manage transactions. Use validateOnly mode to preview a purchase before committing. All POST requests require a unique transferRef for idempotency.
/transactions/{transactionId}Get transaction by ID
Retrieves a single transaction owned by the authenticated partner API key, including order details and brand information.
Request Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| transactionId | path | string | Required | Order transaction ObjectId |
Request Example
curl -u "API_KEY_ID:API_KEY_SECRET" \
"https://api.dev.wallet.milta.be/api/v1/partner/transactions/67f1815b1fcf77c5a7094b96"Response
messagestringrequiredTransaction retrieved successfullydataobjectrequiredAuthentication Required
All requests require HTTP Basic Auth — your API Key ID as username and API Key Secret as password.
/transactions/purchasePurchase a product
Creates a purchase transaction for the authenticated partner API key. Use Basic Auth where username = API Key ID and password = API Key Secret. The transferRef field is an idempotency key and must be unique per API key. Country code is required for validating product availability and ensuring correct pricing/commission for products. Set validateOnly=true to validate only, or validateOnly=false to place the order.
Request Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| validateOnly | body | number | Required | When true, only validate the purchase request without placing an order. When false, place the order. |
| skuCode | body | string | Required | SKU code of the product to purchase. Must be a non-empty string representing the product SKU code. This code is used to identify the specific product you wish to purchase. It only contains letters, numbers, hyphens, or underscores. |
| quantity | body | number | Required | Quantity to purchase. Must be an integer between 1 and 5. |
| transferRef | body | string | Required | Partner idempotency key. Must be unique per API key for each purchase request. Used to prevent duplicate transactions. |
| countryCode | body | string | Required | Country code for the destination of the purchased product, Represented as ISO 3166-1 alpha-2 code (2 uppercase letters). This is required for validating product availability and ensuring correct pricing/commission for products. |
Request Example
curl -u "API_KEY_ID:API_KEY_SECRET" \
-X POST \
-H "Content-Type: application/json" \
-d '{"validateOnly":false,"skuCode":"LYCA-EUR-10","quantity":1,"transferRef":"partner-ord-20260327-0001","countryCode":"BE"}' \
"https://api.dev.wallet.milta.be/api/v1/partner/transactions/purchase"Response
messagestringrequiredMessage indicating the result of the purchase operation
Product purchased successfullydataobjectrequiredAuthentication Required
All requests require HTTP Basic Auth — your API Key ID as username and API Key Secret as password.
/transactions/international/validate-convert-reload-amountValidate and convert international reload amount
Validates whether sendValue is valid for the given international skuCode and destinationNumber.
Request Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| skuCode | body | string | Required | SKU code of the international top-up product. Only letters, numbers, hyphens, or underscores are allowed. |
| sendValue | body | number | Required | Sent amount used for validation. |
| destinationNumber | body | string | Required | Destination mobile number for international top-up validation. |
Request Example
curl -u "API_KEY_ID:API_KEY_SECRET" \
-X POST \
-H "Content-Type: application/json" \
-d '{"skuCode":"AF_DG_TopUp","sendValue":10,"destinationNumber":"32470000000"}' \
"https://api.dev.wallet.milta.be/api/v1/partner/transactions/international/validate-convert-reload-amount"Response
messagestringrequiredInternational reload amount validated successfullydataobjectrequiredAuthentication Required
All requests require HTTP Basic Auth — your API Key ID as username and API Key Secret as password.
/transactions/international-reloadCreate international reload order
Creates an international reload order for the authenticated partner API key. The transferRef field is an idempotency key and must be unique per API key.
Request Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| skuCode | body | string | Required | SKU code of the international top-up product. Only letters, numbers, hyphens, or underscores are allowed. |
| sentAmount | body | number | Required | Sent amount for the international reload order. |
| destinationNumber | body | string | Required | Destination mobile number for international reload. |
| transferRef | body | string | Required | Partner idempotency key. Must be unique per API key for each international reload request. |
Request Example
curl -u "API_KEY_ID:API_KEY_SECRET" \
-X POST \
-H "Content-Type: application/json" \
-d '{"skuCode":"AF_DG_TopUp","sentAmount":10,"destinationNumber":"32470000000","transferRef":"intl-reload-20260405-0001"}' \
"https://api.dev.wallet.milta.be/api/v1/partner/transactions/international-reload"Response
messagestringrequiredInternational reload order created successfullydataobjectrequiredAuthentication Required
All requests require HTTP Basic Auth — your API Key ID as username and API Key Secret as password.