{"info":{"_postman_id":"e7f30add-f7da-484d-ae4c-78f41f87d6ca","name":"Documentation","description":"<html><head></head><body><h1 id=\"lumonpay-developer-documentation\">📚 LumonPay Developer Documentation</h1>\n<p>Welcome to the LumonPay Developer Documentation.<br>Here, you'll find all the information needed to integrate with LumonPay's APIs, designed to support secure and efficient access to our services.</p>\n<p>This documentation covers key areas including:</p>\n<ul>\n<li><p><strong>Authentication</strong>: Obtain secure access tokens for protected endpoints using industry-standard OAuth 2.0 protocols.</p>\n</li>\n<li><p><strong>Lead Management</strong>: Create and manage prospect records to support onboarding and sales processes.</p>\n</li>\n<li><p><strong>Currency Rates</strong>: Retrieve up-to-date exchange rates for specific currency pairs or all supported currencies.</p>\n</li>\n</ul>\n<p>Each API is structured to provide a consistent, reliable, and secure experience for developers integrating with LumonPay.<br>Examples, required parameters, response formats, and authorization details are provided to help you implement and consume our services seamlessly.</p>\n<p>If you encounter any issues or have questions, please reach out to the LumonPay technical support team for assistance..</p>\n<hr>\n<p><strong>Happy Building! 🚀</strong></p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"📚 LumonPay Developer Documentation","slug":"lumonpay-developer-documentation"}],"owner":"44783697","collectionId":"e7f30add-f7da-484d-ae4c-78f41f87d6ca","publishedId":"2sBXc7K4Q8","public":true,"customColor":{"top-bar":"082b3d","right-sidebar":"082b3d","highlight":"ec5954"},"publishDate":"2026-02-12T13:13:24.000Z"},"item":[{"name":"Leads API","item":[{"name":"Get Token","event":[{"listen":"test","script":{"exec":["const responseJson = pm.response.json();\r","pm.environment.set(\"leadAuthToken\", responseJson.access_token);"],"type":"text/javascript","packages":{},"id":"efd093bc-b34a-4f3b-9947-f7a7a3a56804"}}],"id":"93fa34e7-dc0c-4c30-83d2-3313835ee3f5","protocolProfileBehavior":{"disabledSystemHeaders":{"content-type":true},"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"type":"text","key":"grant_type","value":"client_credentials"},{"type":"text","key":"client_id","value":"{{ClientId_Lead}}"},{"type":"text","key":"client_secret","value":"{{ClientSecret_Lead}}"},{"type":"text","key":"scope","value":"{{scopeClient_Lead}}"}]},"url":"{{identity_url}}/connect/token","description":"<h2 id=\"📄-description\">📄 Description</h2>\n<p>This API endpoint is used to obtain an authentication token necessary for accessing protected resources within the LumonPay environment.<br />The request must use the <code>client_credentials</code> grant type, providing a valid <code>client_id</code>, <code>client_secret</code>, and <code>scope</code>.</p>\n<h2 id=\"📤-request-body-x-www-form-urlencoded\">📤 Request Body (x-www-form-urlencoded)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>grant_type</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Must be set to <code>client_credentials</code>.</td>\n</tr>\n<tr>\n<td><code>client_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier assigned to the client requesting the token.</td>\n</tr>\n<tr>\n<td><code>client_secret</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The secret key associated with the client ID used for authentication.</td>\n</tr>\n<tr>\n<td><code>scope</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Specifies the level of access being requested.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📩-response\">📩 Response</h2>\n<p>On success, the API returns a JSON object containing the following:</p>\n<ul>\n<li><p><code>access_token</code>: The token to be used for authorized API requests.</p>\n</li>\n<li><p><code>token_type</code>: The type of the token issued (typically <code>Bearer</code>).</p>\n</li>\n<li><p><code>expires_in</code>: The duration (in seconds) before the token expires.</p>\n</li>\n<li><p><code>scope</code>: The access scope granted.</p>\n</li>\n</ul>\n<p>🔔 <strong>Note:</strong><br />The <code>access_token</code> must be included in the <code>Authorization</code> header as a Bearer token when making subsequent API requests:</p>\n","urlObject":{"path":["connect","token"],"host":["{{identity_url}}"],"query":[],"variable":[]}},"response":[{"id":"b04d41d5-2fdb-4711-915e-845f03dcf652","name":"Get Token","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"type":"text","key":"grant_type","value":"client_credentials"},{"type":"text","key":"client_id","value":"{{ClientId_Lead}}"},{"type":"text","key":"client_secret","value":"{{ClientSecret_Lead}}"},{"type":"text","key":"scope","value":"{{scopeClient_Lead}}"}]},"url":"{{identity_url}}/connect/token"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 02 Apr 2025 14:25:59 GMT"},{"key":"Content-Type","value":"application/json; charset=UTF-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"no-store, no-cache, max-age=0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Pragma","value":"no-cache"},{"key":"Vary","value":"Accept-Encoding"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Cross-Origin-Embedder-Policy","value":"unsafe-none"},{"key":"Permissions-Policy","value":"accelerometer=(),camera=(), display-capture=(), geolocation=(), gyroscope=(), microphone=(), midi=(), screen-wake-lock=()"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains; preload"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"92a0ffabac99e5fe-IAD"}],"cookie":[],"responseTime":null,"body":"{\n    \"access_token\": \"string\",\n    \"expires_in\": 0,\n    \"token_type\": \"string\",\n    \"scope\": \"string\"\n}"}],"_postman_id":"93fa34e7-dc0c-4c30-83d2-3313835ee3f5"},{"name":"Create Lead","event":[{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","packages":{},"id":"853a4407-b46d-41ef-93ee-d8779113e539"}}],"id":"584f95f1-51ec-4ab0-a0eb-e11bc2ed0089","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{leadAuthToken}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"[\r\n    {\r\n        \"title\": \"Mr\",\r\n        \"first_name\": \"First Name\",\r\n        \"last_name\": \"Last Name\",\r\n        \"mobile_phone_country\": \"+44\",\r\n        \"mobile_phone\": \"07400123456\",\r\n        \"email\": \"email_test@lumonpay.com\",\r\n        \"currency_sell\": \"EUR\",\r\n        \"currency_buy\": \"GBP\",\r\n        \"amount_you_want_buy\": \"100000\", \r\n        \"ref_id\": \"Ref Id Partnership\",\r\n        \"client_type\": \"Private\",\r\n        \"source\": \"Source\",\r\n        \"destination_of_funds\":\"UK\",\r\n        \"reason_for_transfer\": \"Property Purchase\"           \r\n    }\r\n]","options":{"raw":{"language":"json"}}},"url":"{{api_url}}/rest/leads","description":"<h2 id=\"📄-description\">📄 Description</h2>\n<p>This endpoint enables the creation of one or more lead records within the Lumon system.<br />It is intended for registering potential clients interested in currency exchange services.<br />The endpoint supports <strong>bulk lead creation</strong> by accepting an array of lead objects in the request body.</p>\n<h2 id=\"🔐-authorization\">🔐 Authorization</h2>\n<p>Authentication is required.<br />Include the following header in your request:</p>\n<h2 id=\"📩-response\">📩 Response</h2>\n<p>Upon successful submission, the API returns:</p>\n<ul>\n<li><strong>HTTP Status:</strong> <code>200 OK</code></li>\n<li><strong>Meaning:</strong> The lead(s) have been successfully created in the system.</li>\n</ul>\n","urlObject":{"path":["rest","leads"],"host":["{{api_url}}"],"query":[],"variable":[]}},"response":[{"id":"564fda02-fe0a-4a3d-bb60-b7fd908850b1","name":"Create Lead","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"[\r\n    {\r\n        \"title\": \"Mr\",\r\n        \"first_name\": \"First Name\",\r\n        \"last_name\": \"Last Name\",\r\n        \"mobile_phone_country\": \"+44\",\r\n        \"mobile_phone\": \"07400123456\",\r\n        \"email\": \"email_test@lumonpay.com\",\r\n        \"currency_sell\": \"EUR\",\r\n        \"currency_buy\": \"GBP\",\r\n        \"amount_you_want_buy\": \"100000\", \r\n        \"ref_id\": \"Ref Id Partnership\",\r\n        \"client_type\": \"Private\",\r\n        \"source\": \"Source\",\r\n        \"destination_of_funds\":\"UK\",\r\n        \"reason_for_transfer\": \"Property Purchase\"         \r\n    }\r\n]","options":{"raw":{"language":"json"}}},"url":"{{api_url}}/rest/leads"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": \"LED-0000123\",\n        \"title\": \"Mr\",\n        \"first_name\": \"First Name\",\n        \"last_name\": \"Last Name\",\n        \"email\": \"email_test@lumonpay.com\",\n        \"client_type\": \"Private\",\n        \"mobile_phone\": \"07400123456\",\n        \"mobile_phone_country\": \"+44\",\n        \"reason_for_transfer\": \"Property Purchase\",\n        \"currency_buy\": \"GBP\",\n        \"currency_sell\": \"EUR\",\n        \"amount_you_want_buy\": 100000,\n        \"destination_of_funds\": \"UK\",\n        \"ref_id\": \"Ref Id Partnership\",\n        \"source\": \"Source\",\n        \"lead_id\": \"63cc4256-07d8-4d0b-ad27-791fda0cffaa\"\n    }\n]"}],"_postman_id":"584f95f1-51ec-4ab0-a0eb-e11bc2ed0089"}],"id":"b9cb5e3c-8656-430c-ac4f-3358566a85d6","description":"<h2 id=\"📄-overview\">📄 Overview</h2>\n<p>This documentation describes the Leads API, which manages the endpoints responsible for lead creation within Lumon.<br />It enables the capture and registration of key prospect data, ensuring seamless integration with internal systems.<br />The API supports the onboarding and sales pipeline by providing a consistent, secure, and efficient process for handling lead information.</p>\n","_postman_id":"b9cb5e3c-8656-430c-ac4f-3358566a85d6"},{"name":"Rates API","item":[{"name":"Get Token","event":[{"listen":"test","script":{"exec":["const responseJson = pm.response.json();\r","pm.environment.set(\"rateAuthToken\", responseJson.access_token);"],"type":"text/javascript","packages":{},"id":"2fd9629a-0c56-4c11-8a33-17813c6f7028"}}],"id":"e4c8e128-77db-49f2-895e-65873690740b","protocolProfileBehavior":{"disabledSystemHeaders":{"content-type":true},"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"type":"text","key":"grant_type","value":"client_credentials"},{"type":"text","key":"client_id","value":"{{ClientId_Rate}}"},{"type":"text","key":"client_secret","value":"{{ClientSecret_Rate}}"},{"type":"text","key":"scope","value":"{{scopeClient_Rate}}"}]},"url":"{{identity_url}}/connect/token","description":"<h2 id=\"📄-description\">📄 Description</h2>\n<p>This API endpoint is used to obtain an authentication token required for accessing protected resources within the LumonPay environment.<br />The request must be made using the <code>client_credentials</code> grant type, providing a valid <code>client_id</code>, <code>client_secret</code>, and <code>scope</code>.</p>\n<h2 id=\"📤-request-body-x-www-form-urlencoded\">📤 Request Body (x-www-form-urlencoded)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>grant_type</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Must be set to <code>client_credentials</code>.</td>\n</tr>\n<tr>\n<td><code>client_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier for the client requesting the token.</td>\n</tr>\n<tr>\n<td><code>client_secret</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The secret key associated with the client ID for authentication.</td>\n</tr>\n<tr>\n<td><code>scope</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Defines the level of access required.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📩-response\">📩 Response</h2>\n<p>On success, the API returns a JSON object containing:</p>\n<ul>\n<li><code>access_token</code>: The token to be used for authorized API requests.</li>\n<li><code>token_type</code>: The type of token issued (typically <code>Bearer</code>).</li>\n<li><code>expires_in</code>: The time (in seconds) before the token expires.</li>\n<li><code>scope</code>: The granted access scope.</li>\n</ul>\n<p>🔔 <strong>Note:</strong><br />The <code>access_token</code> must be included in the <code>Authorization</code> header as a Bearer token in subsequent API requests:</p>\n","urlObject":{"path":["connect","token"],"host":["{{identity_url}}"],"query":[],"variable":[]}},"response":[{"id":"8c5f111a-4dd0-478f-a21d-758f97b31211","name":"Get Token","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"type":"text","key":"grant_type","value":"client_credentials"},{"type":"text","key":"client_id","value":"{{ClientId_Rate}}"},{"type":"text","key":"client_secret","value":"{{ClientSecret_Rate}}"},{"type":"text","key":"scope","value":"{{scopeClient_Rate}}"}]},"url":"{{identity_url}}/connect/token"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 02 Apr 2025 14:25:59 GMT"},{"key":"Content-Type","value":"application/json; charset=UTF-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"no-store, no-cache, max-age=0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Pragma","value":"no-cache"},{"key":"Vary","value":"Accept-Encoding"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Cross-Origin-Embedder-Policy","value":"unsafe-none"},{"key":"Permissions-Policy","value":"accelerometer=(),camera=(), display-capture=(), geolocation=(), gyroscope=(), microphone=(), midi=(), screen-wake-lock=()"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains; preload"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"92a0ffabac99e5fe-IAD"}],"cookie":[],"responseTime":null,"body":"{\n    \"access_token\": \"string\",\n    \"expires_in\": 0,\n    \"token_type\": \"string\",\n    \"scope\": \"string\"\n}"}],"_postman_id":"e4c8e128-77db-49f2-895e-65873690740b"},{"name":"Get All Currencies Rate","id":"2481b8b9-ba5a-478e-bec5-4dbb76e2b6f5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{rateAuthToken}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{api_url}}/rest/rate/api/rates/daily_rates","description":"<h2 id=\"📄-description\">📄 Description</h2>\n<p>This API endpoint retrieves the latest daily exchange rates for all supported currencies within the LumonPay environment.<br />The response provides exchange rate data, enabling clients to access and process up-to-date currency conversion rates.</p>\n<h2 id=\"🔐-authorization\">🔐 Authorization</h2>\n<p>Authentication is required.<br />Include the following header in your request:</p>\n<h2 id=\"📩-response\">📩 Response</h2>\n<p>On success, the API returns a JSON object containing the latest exchange rates for multiple currencies.</p>\n","urlObject":{"path":["rest","rate","api","rates","daily_rates"],"host":["{{api_url}}"],"query":[],"variable":[]}},"response":[{"id":"1c2d09c5-a0d0-4340-86f7-591ae48cc69f","name":"Get All Currencies Rate","originalRequest":{"method":"GET","header":[],"url":"{{api_url}}/rest/rate/api/rates/daily_rates"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 02 Apr 2025 14:26:13 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"gzip"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Request-Context","value":"appId=cid-v1:cbf9a874-28c0-4c17-ae66-0159b5b26b7d"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Cross-Origin-Embedder-Policy","value":"unsafe-none"},{"key":"Permissions-Policy","value":"accelerometer=(),camera=(), display-capture=(), geolocation=(), gyroscope=(), microphone=(), midi=(), screen-wake-lock=()"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains; preload"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"92a0fffb9910d6dd-IAD"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"base\": \"AED\",\n        \"to\": \"AUD\",\n        \"rate\": 0.4307,\n        \"date\": \"2025-04-02\",\n        \"status\": {\n            \"code\": \"RATE_UPDATED\",\n            \"response\": \"rate is up-to-date\"\n        }\n    },\n    {\n        \"base\": \"AED\",\n        \"to\": \"BBD\",\n        \"rate\": 0.5435,\n        \"date\": \"2025-04-02\",\n        \"status\": {\n            \"code\": \"RATE_UPDATED\",\n            \"response\": \"rate is up-to-date\"\n        }\n    }\n]"}],"_postman_id":"2481b8b9-ba5a-478e-bec5-4dbb76e2b6f5"},{"name":"Get Currency Pair Rate","id":"82e4d27e-429c-4c57-b2b7-585a50750b15","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{rateAuthToken}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{api_url}}/rest/rate/api/rates/rate_by_currencies?currencyFrom=USD&currencyTo=EUR","description":"<h2 id=\"📄-description\">📄 Description</h2>\n<p>This API endpoint retrieves the exchange rate for a specific currency pair within the LumonPay environment.<br />By providing the source (<code>currencyFrom</code>) and target (<code>currencyTo</code>) currencies as query parameters, clients can obtain the latest conversion rate between them.</p>\n<h2 id=\"🔐-authorization\">🔐 Authorization</h2>\n<p>Authentication is required.<br />Include the following header in your request:</p>\n<h2 id=\"🔎-query-parameters\">🔎 Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>currencyFrom</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The currency code of the source currency (e.g., <code>USD</code> for United States Dollar).</td>\n</tr>\n<tr>\n<td><code>currencyTo</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The currency code of the target currency (e.g., <code>EUR</code> for Euro).</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📩-response\">📩 Response</h2>\n<p>On success, the API returns a JSON object containing the exchange rate for the specified currency pair.</p>\n","urlObject":{"path":["rest","rate","api","rates","rate_by_currencies"],"host":["{{api_url}}"],"query":[{"key":"currencyFrom","value":"USD"},{"key":"currencyTo","value":"EUR"}],"variable":[]}},"response":[{"id":"8dbff9b4-4149-48da-a454-5e9a4253f4b1","name":"Get Currency Pair Rate","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{api_url}}/rest/rate/api/rates/rate_by_currencies?currencyFrom=USD&currencyTo=EUR","host":["{{api_url}}"],"path":["rest","rate","api","rates","rate_by_currencies"],"query":[{"key":"currencyFrom","value":"USD"},{"key":"currencyTo","value":"EUR"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 02 Apr 2025 14:27:16 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"gzip"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Request-Context","value":"appId=cid-v1:cbf9a874-28c0-4c17-ae66-0159b5b26b7d"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Cross-Origin-Embedder-Policy","value":"unsafe-none"},{"key":"Permissions-Policy","value":"accelerometer=(),camera=(), display-capture=(), geolocation=(), gyroscope=(), microphone=(), midi=(), screen-wake-lock=()"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains; preload"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"92a1018cf844b964-IAD"}],"cookie":[],"responseTime":null,"body":"{\n    \"base\": \"USD\",\n    \"to\": \"EUR\",\n    \"rate\": 0.919,\n    \"date\": \"2025-04-02\",\n    \"status\": {\n        \"code\": \"RATE_UPDATED\",\n        \"response\": \"rate is up-to-date\"\n    }\n}"}],"_postman_id":"82e4d27e-429c-4c57-b2b7-585a50750b15"}],"id":"c5eac61e-f1e6-49e2-a8e1-9ad4c10f4041","description":"<h2 id=\"📄-overview\">📄 Overview</h2>\n<p>This documentation covers the Rates endpoint, which provides the latest exchange rate for a specific currency pair within the LumonPay environment.<br />It allows clients to retrieve the most up-to-date conversion value between two currencies by supplying them as parameters in the request.</p>\n","_postman_id":"c5eac61e-f1e6-49e2-a8e1-9ad4c10f4041"},{"name":"Soldo Orchestrator API","item":[{"name":"Soldo Account","item":[{"name":"Create Soldo Account","id":"f967d806-2770-4bae-9061-7efa005e3078","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"idempotency-key","value":"string","description":"<p>The idempotency key to ensure that the request is processed only once.</p>\n"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"string\",\n  \"middle_name\": \"string\",\n  \"surname\": \"string\",\n  \"email\": \"string\",\n  \"card_type\": \"string\",\n  \"card_currency_code\": \"string\",\n  \"affiliate_code\": \"string\",\n  \"mobile_prefix\": \"string\",\n  \"mobile_number\": \"string\",\n  \"job_title\": \"string\",\n  \"department\": \"string\",\n  \"address_line1\": \"string\",\n  \"address_city\": \"string\",\n  \"address_post_code\": \"string\",\n  \"address_country\": \"string\",\n  \"address_line2\": \"string\",\n  \"address_county\": \"string\",\n  \"delivery_phone_number\": \"string\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/rest/soldo-orchestrator/api/Account","description":"<h1 id=\"create-soldo-account\">Create Soldo Account</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint creates a new Soldo account for a user. It provisions an account with personal details, contact information, address, and card preferences. The account creation process includes setting up the user's profile and optionally issuing a payment card.</p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\n<h3 id=\"personal-information\">Personal Information</h3>\n<ul>\n<li><p><strong>name</strong> (string): The first name of the account holder</p>\n</li>\n<li><p><strong>middle_name</strong> (string): The middle name of the account holder (optional)</p>\n</li>\n<li><p><strong>surname</strong> (string): The last name/surname of the account holder</p>\n</li>\n<li><p><strong>email</strong> (string): Email address for the account holder</p>\n</li>\n</ul>\n<h3 id=\"card-details\">Card Details</h3>\n<ul>\n<li><p><strong>card_type</strong> (string): The type of card to be issued (e.g., physical, virtual)</p>\n</li>\n<li><p><strong>card_currency_code</strong> (string): The currency code for the card (e.g., USD, EUR, GBP)</p>\n</li>\n</ul>\n<h3 id=\"contact-information\">Contact Information</h3>\n<ul>\n<li><p><strong>mobile_prefix</strong> (string): International dialing prefix for the mobile number (e.g., +44, +1)</p>\n</li>\n<li><p><strong>mobile_number</strong> (string): Mobile phone number without the prefix</p>\n</li>\n<li><p><strong>delivery_phone_number</strong> (string): Contact phone number for card delivery</p>\n</li>\n</ul>\n<h3 id=\"professional-details\">Professional Details</h3>\n<ul>\n<li><p><strong>job_title</strong> (string): The job title or position of the account holder (optional)</p>\n</li>\n<li><p><strong>department</strong> (string): The department or team the account holder belongs to (optional)</p>\n</li>\n</ul>\n<h3 id=\"address-information\">Address Information</h3>\n<ul>\n<li><p><strong>address_line1</strong> (string): Primary address line (street address)</p>\n</li>\n<li><p><strong>address_line2</strong> (string): Secondary address line (apartment, suite, etc.) (optional)</p>\n</li>\n<li><p><strong>address_city</strong> (string): City name</p>\n</li>\n<li><p><strong>address_county</strong> (string): County or state (optional)</p>\n</li>\n<li><p><strong>address_post_code</strong> (string): Postal or ZIP code</p>\n</li>\n<li><p><strong>address_country</strong> (string): Country name or code</p>\n</li>\n</ul>\n<h3 id=\"additional-fields\">Additional Fields</h3>\n<ul>\n<li><p><strong>affiliate_code</strong> (string): Optional affiliate or referral code</p>\n</li>\n<li><p><strong>idempotency_key</strong> (string): A unique identifier to ensure idempotent request processing</p>\n</li>\n</ul>\n<h2 id=\"idempotency-key\">Idempotency Key</h2>\n<p>The <code>idempotency_key</code> field is crucial for preventing duplicate account creation. When you provide an idempotency key, the API will recognize repeated requests with the same key and return the original response instead of creating duplicate accounts. This is especially important in scenarios where network issues might cause request retries.</p>\n<p><strong>Best Practice</strong>: Generate a unique UUID or similar identifier for each account creation attempt and include it as the idempotency key.</p>\n<h2 id=\"response-scenarios\">Response Scenarios</h2>\n<h3 id=\"success-response\">Success Response</h3>\n<p>When the account is successfully created, you'll receive a confirmation with the account details.</p>\n<h3 id=\"bad-request-400\">Bad Request (400)</h3>\n<p>This response indicates that the request was malformed or contained invalid data. Common causes include:</p>\n<ul>\n<li><p>Missing required fields (name, surname, email, etc.)</p>\n</li>\n<li><p>Invalid email format</p>\n</li>\n<li><p>Invalid currency code</p>\n</li>\n<li><p>Invalid country code</p>\n</li>\n<li><p>Malformed phone numbers</p>\n</li>\n</ul>\n<p><strong>Action</strong>: Review the error message in the response body to identify which field(s) need correction.</p>\n<h3 id=\"internal-server-error-500\">Internal Server Error (500)</h3>\n<p>This response indicates a server-side error occurred during account creation. This could be due to:</p>\n<ul>\n<li><p>Database connectivity issues</p>\n</li>\n<li><p>Third-party service failures</p>\n</li>\n<li><p>Unexpected system errors</p>\n</li>\n</ul>\n<p><strong>Action</strong>: Retry the request with the same idempotency key. If the issue persists, contact support.</p>\n<h2 id=\"notes\">Notes</h2>\n<ul>\n<li><p>Ensure all required fields are populated before submitting the request</p>\n</li>\n<li><p>Use valid ISO country codes and currency codes</p>\n</li>\n<li><p>The mobile number should be provided without the international prefix (use mobile_prefix separately)</p>\n</li>\n<li><p>Address information should be complete and accurate for card delivery purposes</p>\n</li>\n</ul>\n","urlObject":{"path":["rest","soldo-orchestrator","api","Account"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"49e9ad06-f77a-4013-8e36-1cc07d02dd01","name":"OK","originalRequest":{"method":"POST","header":[{"description":"The idempotency key to ensure that the request is processed only once.","key":"idempotency-key","value":"string"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: oauth2","key":"Authorization","value":"<token>"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"string\",\n  \"middle_name\": \"string\",\n  \"surname\": \"string\",\n  \"email\": \"string\",\n  \"card_type\": \"string\",\n  \"card_currency_code\": \"string\",\n  \"affiliate_code\": \"string\",\n  \"mobile_prefix\": \"string\",\n  \"mobile_number\": \"string\",\n  \"job_title\": \"string\",\n  \"department\": \"string\",\n  \"address_line1\": \"string\",\n  \"address_city\": \"string\",\n  \"address_post_code\": \"string\",\n  \"address_country\": \"string\",\n  \"address_line2\": \"string\",\n  \"address_county\": \"string\",\n  \"delivery_phone_number\": \"string\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/api/Account"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"user\": {\n    \"id\": \"string\",\n    \"name\": \"string\",\n    \"surname\": \"string\",\n    \"middle_name\": \"string\",\n    \"email\": \"string\",\n    \"status\": \"string\",\n    \"full_name\": \"string\"\n  },\n  \"address\": {\n    \"id\": \"string\",\n    \"name\": \"string\",\n    \"recipient_name\": \"string\",\n    \"line1\": \"string\",\n    \"line2\": \"string\",\n    \"city\": \"string\",\n    \"post_code\": \"string\",\n    \"country\": \"string\",\n    \"category\": \"string\"\n  },\n  \"card\": {\n    \"id\": \"string\",\n    \"status\": \"string\",\n    \"creation_time\": \"1947-01-08T17:40:46.602Z\"\n  }\n}"},{"id":"abd64d76-f706-45fc-b415-b395206e7870","name":"Bad Request","originalRequest":{"method":"POST","header":[{"description":"The idempotency key to ensure that the request is processed only once.","key":"idempotency-key","value":"string"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: oauth2","key":"Authorization","value":"<token>"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"string\",\n  \"middle_name\": \"string\",\n  \"surname\": \"string\",\n  \"email\": \"string\",\n  \"card_type\": \"string\",\n  \"card_currency_code\": \"string\",\n  \"affiliate_code\": \"string\",\n  \"mobile_prefix\": \"string\",\n  \"mobile_number\": \"string\",\n  \"job_title\": \"string\",\n  \"department\": \"string\",\n  \"address_line1\": \"string\",\n  \"address_city\": \"string\",\n  \"address_post_code\": \"string\",\n  \"address_country\": \"string\",\n  \"address_line2\": \"string\",\n  \"address_county\": \"string\",\n  \"delivery_phone_number\": \"string\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/api/Account"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"problem_details\": {\n    \"type\": \"string\",\n    \"title\": \"string\",\n    \"status\": 5250,\n    \"detail\": \"string\",\n    \"instance\": \"string\"\n  },\n  \"content_type\": \"string\",\n  \"status_code\": 2128\n}"},{"id":"adabd99e-993e-46e3-9132-73774dd4e676","name":"Internal Server Error","originalRequest":{"method":"POST","header":[{"description":"The idempotency key to ensure that the request is processed only once.","key":"idempotency-key","value":"string"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: oauth2","key":"Authorization","value":"<token>"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"string\",\n  \"middle_name\": \"string\",\n  \"surname\": \"string\",\n  \"email\": \"string\",\n  \"card_type\": \"string\",\n  \"card_currency_code\": \"string\",\n  \"affiliate_code\": \"string\",\n  \"mobile_prefix\": \"string\",\n  \"mobile_number\": \"string\",\n  \"job_title\": \"string\",\n  \"department\": \"string\",\n  \"address_line1\": \"string\",\n  \"address_city\": \"string\",\n  \"address_post_code\": \"string\",\n  \"address_country\": \"string\",\n  \"address_line2\": \"string\",\n  \"address_county\": \"string\",\n  \"delivery_phone_number\": \"string\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/api/Account"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"problem_details\": {\n    \"type\": \"string\",\n    \"title\": \"string\",\n    \"status\": 5250,\n    \"detail\": \"string\",\n    \"instance\": \"string\"\n  },\n  \"content_type\": \"string\",\n  \"status_code\": 2128\n}"}],"_postman_id":"f967d806-2770-4bae-9061-7efa005e3078"}],"id":"3b729bcc-b437-4373-8cc1-7ea12a1961ff","_postman_id":"3b729bcc-b437-4373-8cc1-7ea12a1961ff","description":""},{"name":"Wallet","item":[{"name":"Wallet Transfer","id":"11127e31-4c82-4db2-9a06-1b495335deb5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"batch_id\": \"string\",\n  \"wallet_transfers\": [\n    {\n      \"external_identifier\": \"string\",\n      \"from_wallet_id\": \"string\",\n      \"to_wallet_id\": \"string\",\n      \"amount\": 7640.368365660961,\n      \"currency_code\": \"string\"\n    },\n    {\n      \"external_identifier\": \"string\",\n      \"from_wallet_id\": \"string\",\n      \"to_wallet_id\": \"string\",\n      \"amount\": 345.07547638315873,\n      \"currency_code\": \"string\"\n    }\n  ]\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/rest/soldo-orchestrator/api/Wallet/batch-transfer","description":"<h1 id=\"batch-wallet-transfer\">Batch Wallet Transfer</h1>\n<p>This endpoint enables you to execute multiple wallet-to-wallet transfers in a single batch operation. It's designed to efficiently process bulk transfer requests while maintaining transaction integrity and traceability.</p>\n<h2 id=\"overview\">Overview</h2>\n<p>The Batch Wallet Transfer endpoint allows you to transfer funds between multiple wallet pairs simultaneously. Each batch is identified by a unique <code>batch_id</code> and can contain multiple individual wallet transfer operations. This is particularly useful for:</p>\n<ul>\n<li><p>Processing payroll or bulk payments</p>\n</li>\n<li><p>Executing multiple transfers as part of a single business operation</p>\n</li>\n<li><p>Maintaining atomicity across related transfers</p>\n</li>\n<li><p>Reducing API calls when handling multiple transfers</p>\n</li>\n</ul>\n<h2 id=\"request-body-structure\">Request Body Structure</h2>\n<p>The request body consists of two main components:</p>\n<h3 id=\"batch_id-string-required\"><code>batch_id</code> (string, required)</h3>\n<p>A unique identifier for this batch of transfers. This ID is used to track and reference the entire batch operation, enabling you to:</p>\n<ul>\n<li><p>Query the status of all transfers in the batch response</p>\n</li>\n<li><p>Maintain idempotency for retry scenarios</p>\n</li>\n<li><p>Audit and reconcile batch operations</p>\n</li>\n</ul>\n<h3 id=\"wallet_transfers-array-required\"><code>wallet_transfers</code> (array, required)</h3>\n<p>An array of individual wallet transfer objects. Each transfer in the array represents a single wallet-to-wallet transaction with the following fields:</p>\n<h4 id=\"transfer-object-fields\">Transfer Object Fields</h4>\n<ul>\n<li><p><strong><code>external_identifier</code></strong> (string, required)<br />  A unique reference ID for this specific transfer within the batch. Use this to track individual transfers in your system and correlate them with the batch operation.</p>\n</li>\n<li><p><strong><code>from_wallet_id</code></strong> (string, required)<br />  The unique identifier of the source wallet from which funds will be debited. Ensure this wallet has sufficient balance to complete the transfer.</p>\n</li>\n<li><p><strong><code>to_wallet_id</code></strong> (string, required)<br />  The unique identifier of the destination wallet that will receive the funds. The wallet must be active and able to receive transfers.</p>\n</li>\n<li><p><strong><code>amount</code></strong> (number, required)<br />  The transfer amount in the specified currency. This should be a positive decimal number representing the exact amount to transfer (e.g., 100.50 for one hundred and fifty cents).</p>\n</li>\n<li><p><strong><code>currency_code</code></strong> (string, required)<br />  The ISO 4217 three-letter currency code for the transfer (e.g., \"USD\", \"EUR\", \"GBP\"). All transfers within a batch can use different currencies if supported by the wallets.</p>\n</li>\n</ul>\n<h2 id=\"response-codes\">Response Codes</h2>\n<h3 id=\"200-ok\">200 OK</h3>\n<p>The batch transfer request was successfully processed. All transfers in the batch have been validated and executed. The response will contain details about the completed batch operation.</p>\n<h3 id=\"400-bad-request\">400 Bad Request</h3>\n<p>The batch transfer request failed validation. This can occur due to:</p>\n<ul>\n<li><p>Invalid or missing required fields</p>\n</li>\n<li><p>Malformed <code>batch_id</code> or wallet identifiers</p>\n</li>\n<li><p>Insufficient funds in source wallets</p>\n</li>\n<li><p>Invalid currency codes</p>\n</li>\n<li><p>Duplicate <code>external_identifier</code> values within the batch</p>\n</li>\n<li><p>Inactive or non-existent wallet IDs</p>\n</li>\n</ul>\n<p>Check the error response body for specific validation failure details.</p>\n<h2 id=\"important-notes\">Important Notes</h2>\n<h3 id=\"batch-processing\">Batch Processing</h3>\n<ul>\n<li><p>All transfers within a batch are processed together</p>\n</li>\n<li><p>If any transfer in the batch fails validation, the entire batch may be rejected (depending on your configuration)</p>\n</li>\n<li><p>Use unique <code>external_identifier</code> values for each transfer to ensure proper tracking</p>\n</li>\n<li><p>The <code>batch_id</code> should be unique across all batch operations to prevent duplicate processing</p>\n</li>\n</ul>\n<h3 id=\"transfer-requirements\">Transfer Requirements</h3>\n<ul>\n<li><p>Source wallets must have sufficient balance for their respective transfers</p>\n</li>\n<li><p>Both source and destination wallets must be active and in good standing</p>\n</li>\n<li><p>Currency codes must be supported by both the source and destination wallets</p>\n</li>\n<li><p>Transfer amounts must be positive values and respect any minimum/maximum limits</p>\n</li>\n<li><p>Ensure proper authorization and permissions for the wallets involved in the transfers</p>\n</li>\n</ul>\n<h3 id=\"best-practices\">Best Practices</h3>\n<ul>\n<li><p>Validate wallet balances before submitting the batch</p>\n</li>\n<li><p>Use meaningful <code>batch_id</code> and <code>external_identifier</code> values for easier tracking</p>\n</li>\n<li><p>Implement retry logic with the same <code>batch_id</code> to ensure idempotency</p>\n</li>\n<li><p>Monitor batch operations and handle failures appropriately</p>\n</li>\n<li><p>Keep batch sizes reasonable to avoid timeout issues</p>\n</li>\n</ul>\n","urlObject":{"path":["rest","soldo-orchestrator","api","Wallet","batch-transfer"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"1ad21334-2dc9-44d3-8edb-90d71d5aec68","name":"OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: oauth2","key":"Authorization","value":"<token>"}],"body":{"mode":"raw","raw":"{\n  \"batch_id\": \"string\",\n  \"wallet_transfers\": [\n    {\n      \"external_identifier\": \"string\",\n      \"from_wallet_id\": \"string\",\n      \"to_wallet_id\": \"string\",\n      \"amount\": 7640.368365660961,\n      \"currency_code\": \"string\"\n    },\n    {\n      \"external_identifier\": \"string\",\n      \"from_wallet_id\": \"string\",\n      \"to_wallet_id\": \"string\",\n      \"amount\": 345.07547638315873,\n      \"currency_code\": \"string\"\n    }\n  ]\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/api/Wallet/batch-transfer"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success_results\": [\n    {\n      \"id\": \"56ab9734-2240-f7a0-9b14-816319f77dc1\",\n      \"batch_id\": \"string\",\n      \"external_identifier\": \"string\",\n      \"from_wallet_id\": \"string\",\n      \"to_wallet_id\": \"string\",\n      \"currency_code\": \"string\",\n      \"amount\": 7285.271660672083,\n      \"status\": \"string\",\n      \"error_details\": \"string\",\n      \"error_code\": \"string\",\n      \"created_by\": \"string\",\n      \"created_date_utc\": \"2016-06-02T04:59:50.829Z\",\n      \"updated_date_utc\": \"1952-06-21T11:26:18.019Z\"\n    },\n    {\n      \"id\": \"9efc87f0-ae54-9334-592f-d6b0d0fa5847\",\n      \"batch_id\": \"string\",\n      \"external_identifier\": \"string\",\n      \"from_wallet_id\": \"string\",\n      \"to_wallet_id\": \"string\",\n      \"currency_code\": \"string\",\n      \"amount\": 4353.523333737177,\n      \"status\": \"string\",\n      \"error_details\": \"string\",\n      \"error_code\": \"string\",\n      \"created_by\": \"string\",\n      \"created_date_utc\": \"1974-07-25T10:22:44.355Z\",\n      \"updated_date_utc\": \"1961-07-22T11:08:54.678Z\"\n    }\n  ],\n  \"error_results\": [\n    {\n      \"id\": \"118e6a3c-ce16-67ca-8f03-5282033c7903\",\n      \"batch_id\": \"string\",\n      \"external_identifier\": \"string\",\n      \"from_wallet_id\": \"string\",\n      \"to_wallet_id\": \"string\",\n      \"currency_code\": \"string\",\n      \"amount\": 8506.257894696992,\n      \"status\": \"string\",\n      \"error_details\": \"string\",\n      \"error_code\": \"string\",\n      \"created_by\": \"string\",\n      \"created_date_utc\": \"1960-03-21T01:02:46.030Z\",\n      \"updated_date_utc\": \"2009-09-06T00:39:36.951Z\"\n    },\n    {\n      \"id\": \"f84b2c5d-5bc0-b270-a999-f49af98135c9\",\n      \"batch_id\": \"string\",\n      \"external_identifier\": \"string\",\n      \"from_wallet_id\": \"string\",\n      \"to_wallet_id\": \"string\",\n      \"currency_code\": \"string\",\n      \"amount\": 5668.808682081308,\n      \"status\": \"string\",\n      \"error_details\": \"string\",\n      \"error_code\": \"string\",\n      \"created_by\": \"string\",\n      \"created_date_utc\": \"1995-04-22T10:13:46.520Z\",\n      \"updated_date_utc\": \"1963-09-10T02:56:47.844Z\"\n    }\n  ]\n}"},{"id":"9aa5a969-fbf7-43c3-ab81-bf5bd036ec2a","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: oauth2","key":"Authorization","value":"<token>"}],"body":{"mode":"raw","raw":"{\n  \"batch_id\": \"string\",\n  \"wallet_transfers\": [\n    {\n      \"external_identifier\": \"string\",\n      \"from_wallet_id\": \"string\",\n      \"to_wallet_id\": \"string\",\n      \"amount\": 7640.368365660961,\n      \"currency_code\": \"string\"\n    },\n    {\n      \"external_identifier\": \"string\",\n      \"from_wallet_id\": \"string\",\n      \"to_wallet_id\": \"string\",\n      \"amount\": 345.07547638315873,\n      \"currency_code\": \"string\"\n    }\n  ]\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/api/Wallet/batch-transfer"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"problem_details\": {\n    \"type\": \"string\",\n    \"title\": \"string\",\n    \"status\": 5250,\n    \"detail\": \"string\",\n    \"instance\": \"string\"\n  },\n  \"content_type\": \"string\",\n  \"status_code\": 2128\n}"},{"id":"c9de7b14-5b7f-4c5e-b074-5e20ce3bca8e","name":"Internal Server Error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: oauth2","key":"Authorization","value":"<token>"}],"body":{"mode":"raw","raw":"{\n  \"batch_id\": \"string\",\n  \"wallet_transfers\": [\n    {\n      \"external_identifier\": \"string\",\n      \"from_wallet_id\": \"string\",\n      \"to_wallet_id\": \"string\",\n      \"amount\": 7640.368365660961,\n      \"currency_code\": \"string\"\n    },\n    {\n      \"external_identifier\": \"string\",\n      \"from_wallet_id\": \"string\",\n      \"to_wallet_id\": \"string\",\n      \"amount\": 345.07547638315873,\n      \"currency_code\": \"string\"\n    }\n  ]\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/api/Wallet/batch-transfer"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"problem_details\": {\n    \"type\": \"string\",\n    \"title\": \"string\",\n    \"status\": 5250,\n    \"detail\": \"string\",\n    \"instance\": \"string\"\n  },\n  \"content_type\": \"string\",\n  \"status_code\": 2128\n}"}],"_postman_id":"11127e31-4c82-4db2-9a06-1b495335deb5"}],"id":"e4a5561b-bd8e-4bb5-9c11-cb7143334901","_postman_id":"e4a5561b-bd8e-4bb5-9c11-cb7143334901","description":""}],"id":"52bb950a-49bd-4f63-8c6c-cc0d502ca811","description":"<h2 id=\"soldo-account-orchestration-service\"><strong>Soldo Account Orchestration Service</strong></h2>\n<p>A secure REST API for creating and managing Soldo accounts and wallet transfers with automated card provisioning.</p>\n<p><strong>Key Features:</strong></p>\n<ul>\n<li><p>🔐 Automated account creation with single API call</p>\n</li>\n<li><p>💳 Batch wallet transfers with auto-retries and rate limit handling</p>\n</li>\n<li><p>💳 Multi-card support (VIRTUAL or PHYSICAL)</p>\n</li>\n<li><p>💱 Multi-currency support (GBP, EUR)</p>\n</li>\n<li><p>🔄 Idempotent operations for safe retries</p>\n</li>\n<li><p>🔒 JWT Bearer authentication with role-based authorization</p>\n</li>\n</ul>\n<p><strong>Base URL's:</strong></p>\n<p>The base URL's for the pre-preoduction and production environment are the following:</p>\n<ul>\n<li><p><strong>pre-production</strong>: <a href=\"https://uat-api.lumonpay.com/\">https://uat-api.lumonpay.com/</a></p>\n</li>\n<li><p><strong>production</strong>: <a href=\"https://api.lumonpay.com/\">https://api.lumonpay.com/</a></p>\n</li>\n</ul>\n<p><strong>Getting Started:</strong></p>\n<ol>\n<li><p>Obtain a JWT Bearer token from the identity server</p>\n</li>\n<li><p>Add the token to the Authorization header: <code>Bearer {your_token}</code></p>\n</li>\n<li><p>Make API calls using the available endpoints below</p>\n</li>\n</ol>\n<p>The request must use the <code>client_credentials</code> grant type, providing a valid <code>client_id</code>, <code>client_secret</code>, and <code>scope</code>.</p>\n<h2 id=\"🔒-authentication\">🔒 Authentication</h2>\n<h3 id=\"url\">URL</h3>\n<ul>\n<li><p><strong>pre-production</strong>: <a href=\"https://uat-identity.lumonpay.com/\">https://uat-identity.lumonpay.com/connect/token</a></p>\n</li>\n<li><p><strong>production</strong>: <a href=\"https://identity.lumonpay.com/connect/token\">https://identity.lumonpay.com/connect/token</a></p>\n</li>\n</ul>\n<h3 id=\"request-body-x-www-form-urlencoded\">Request Body (x-www-form-urlencoded)</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>grant_type</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Must be set to <code>client_credentials</code>.</td>\n</tr>\n<tr>\n<td><code>client_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier assigned to the client requesting the token.</td>\n</tr>\n<tr>\n<td><code>client_secret</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The secret key associated with the client ID used for authentication.</td>\n</tr>\n<tr>\n<td><code>scope</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Specifies the level of access being requested.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📩-response\">📩 Response</h2>\n<p>On success, the API returns a JSON object containing the following:</p>\n<ul>\n<li><p><code>access_token</code>: The token to be used for authorized API requests.</p>\n</li>\n<li><p><code>token_type</code>: The type of the token issued (typically <code>Bearer</code>).</p>\n</li>\n<li><p><code>expires_in</code>: The duration (in seconds) before the token expires.</p>\n</li>\n<li><p><code>scope</code>: The access scope granted.</p>\n</li>\n</ul>\n<p>🔔 <strong>Note:</strong><br />The <code>access_token</code> must be included in the <code>Authorization</code> header as a Bearer token when making subsequent API requests:</p>\n<h2 id=\"contact-support\">Contact Support:</h2>\n<p>Page: <a href=\"https://www.lumonpay.com/get-in-touch/\">https://www.lumonpay.com/get-in-touch/</a><br />Email: <a href=\"https://mailto:support@lumonpay.com\">support@lumonpay.com</a></p>\n","_postman_id":"52bb950a-49bd-4f63-8c6c-cc0d502ca811"}]}