{"info":{"name":"Deripay Partner API","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json","description":"Server-side integration examples. baseUrl is the production API origin. Set apiKey privately. Do not publish credentials."},"variable":[{"key":"baseUrl","value":"https://api.edgepro.site"},{"key":"apiKey","value":""}],"item":[{"name":"Health check","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/ping","description":""},"response":[{"name":"Successful request.","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/ping","description":""},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"message\": \"pong\"\n}"}]},{"name":"Authorize customer","request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/customers/authorize","description":"Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.","body":{"mode":"raw","raw":"{\n  \"client_id\": \"your-registered-client-id\",\n  \"external_customer_id\": \"customer-1001\",\n  \"deriv_api_token\": \"customer-oauth-access-token\",\n  \"preferred_account_id\": \"CR123456\",\n  \"token_expires_in\": 3600\n}","options":{"raw":{"language":"json"}}}},"response":[{"name":"Successful request.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/customers/authorize","description":"Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.","body":{"mode":"raw","raw":"{\n  \"client_id\": \"your-registered-client-id\",\n  \"external_customer_id\": \"customer-1001\",\n  \"deriv_api_token\": \"customer-oauth-access-token\",\n  \"preferred_account_id\": \"CR123456\",\n  \"token_expires_in\": 3600\n}","options":{"raw":{"language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Deriv customer authorized successfully\",\n  \"data\": {\n    \"connection_id\": \"conn_example_01\",\n    \"external_customer_id\": \"customer-1001\",\n    \"id\": \"customer_example_01\",\n    \"email\": \"customer@example.com\",\n    \"name\": \"Example Customer\",\n    \"first_name\": \"Example\",\n    \"last_name\": \"Customer\",\n    \"profile_completed\": true,\n    \"role\": \"user\",\n    \"default_phone_number\": \"254712345678\",\n    \"payment_methods\": [],\n    \"deriv_account\": {\n      \"client_id\": \"your-registered-client-id\",\n      \"user_id\": 123456,\n      \"fullname\": \"Example Customer\",\n      \"country\": \"ke\",\n      \"primary_login_id\": \"CR123456\",\n      \"selected_account\": \"CR123456\",\n      \"account_count\": 1,\n      \"accounts\": [\n        {\n          \"login_id\": \"CR123456\",\n          \"currency\": \"USD\",\n          \"is_virtual\": false\n        }\n      ],\n      \"token_expires_at\": \"2026-10-12T10:00:00Z\",\n      \"authorization_status\": \"active\"\n    }\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/customers/authorize","description":"Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.","body":{"mode":"raw","raw":"{\n  \"client_id\": \"your-registered-client-id\",\n  \"external_customer_id\": \"customer-1001\",\n  \"deriv_api_token\": \"customer-oauth-access-token\",\n  \"preferred_account_id\": \"CR123456\",\n  \"token_expires_in\": 3600\n}","options":{"raw":{"language":"json"}}}},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/customers/authorize","description":"Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.","body":{"mode":"raw","raw":"{\n  \"client_id\": \"your-registered-client-id\",\n  \"external_customer_id\": \"customer-1001\",\n  \"deriv_api_token\": \"customer-oauth-access-token\",\n  \"preferred_account_id\": \"CR123456\",\n  \"token_expires_in\": 3600\n}","options":{"raw":{"language":"json"}}}},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/customers/authorize","description":"Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.","body":{"mode":"raw","raw":"{\n  \"client_id\": \"your-registered-client-id\",\n  \"external_customer_id\": \"customer-1001\",\n  \"deriv_api_token\": \"customer-oauth-access-token\",\n  \"preferred_account_id\": \"CR123456\",\n  \"token_expires_in\": 3600\n}","options":{"raw":{"language":"json"}}}},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/customers/authorize","description":"Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.","body":{"mode":"raw","raw":"{\n  \"client_id\": \"your-registered-client-id\",\n  \"external_customer_id\": \"customer-1001\",\n  \"deriv_api_token\": \"customer-oauth-access-token\",\n  \"preferred_account_id\": \"CR123456\",\n  \"token_expires_in\": 3600\n}","options":{"raw":{"language":"json"}}}},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Read the existing operation and resolve it before retrying. Reuse its original identity and request.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/customers/authorize","description":"Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.","body":{"mode":"raw","raw":"{\n  \"client_id\": \"your-registered-client-id\",\n  \"external_customer_id\": \"customer-1001\",\n  \"deriv_api_token\": \"customer-oauth-access-token\",\n  \"preferred_account_id\": \"CR123456\",\n  \"token_expires_in\": 3600\n}","options":{"raw":{"language":"json"}}}},"status":"OPERATION_CONFLICT","code":409,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OPERATION_CONFLICT\",\n    \"message\": \"Read the existing operation and resolve it before retrying. Reuse its original identity and request.\"\n  }\n}"},{"name":"The requested operation has expired. Read its current state before starting another.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/customers/authorize","description":"Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.","body":{"mode":"raw","raw":"{\n  \"client_id\": \"your-registered-client-id\",\n  \"external_customer_id\": \"customer-1001\",\n  \"deriv_api_token\": \"customer-oauth-access-token\",\n  \"preferred_account_id\": \"CR123456\",\n  \"token_expires_in\": 3600\n}","options":{"raw":{"language":"json"}}}},"status":"EXPIRED","code":410,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"EXPIRED\",\n    \"message\": \"The requested operation has expired. Read its current state before starting another.\"\n  }\n}"},{"name":"Check the customer's account permissions, verification, balance, and payment limits.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/customers/authorize","description":"Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.","body":{"mode":"raw","raw":"{\n  \"client_id\": \"your-registered-client-id\",\n  \"external_customer_id\": \"customer-1001\",\n  \"deriv_api_token\": \"customer-oauth-access-token\",\n  \"preferred_account_id\": \"CR123456\",\n  \"token_expires_in\": 3600\n}","options":{"raw":{"language":"json"}}}},"status":"ACCOUNT_NOT_ELIGIBLE","code":412,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCOUNT_NOT_ELIGIBLE\",\n    \"message\": \"Check the customer's account permissions, verification, balance, and payment limits.\"\n  }\n}"},{"name":"The payment could not be accepted. Check account eligibility, balance, and limits.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/customers/authorize","description":"Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.","body":{"mode":"raw","raw":"{\n  \"client_id\": \"your-registered-client-id\",\n  \"external_customer_id\": \"customer-1001\",\n  \"deriv_api_token\": \"customer-oauth-access-token\",\n  \"preferred_account_id\": \"CR123456\",\n  \"token_expires_in\": 3600\n}","options":{"raw":{"language":"json"}}}},"status":"PAYMENT_REJECTED","code":422,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_REJECTED\",\n    \"message\": \"The payment could not be accepted. Check account eligibility, balance, and limits.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/customers/authorize","description":"Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.","body":{"mode":"raw","raw":"{\n  \"client_id\": \"your-registered-client-id\",\n  \"external_customer_id\": \"customer-1001\",\n  \"deriv_api_token\": \"customer-oauth-access-token\",\n  \"preferred_account_id\": \"CR123456\",\n  \"token_expires_in\": 3600\n}","options":{"raw":{"language":"json"}}}},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/customers/authorize","description":"Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.","body":{"mode":"raw","raw":"{\n  \"client_id\": \"your-registered-client-id\",\n  \"external_customer_id\": \"customer-1001\",\n  \"deriv_api_token\": \"customer-oauth-access-token\",\n  \"preferred_account_id\": \"CR123456\",\n  \"token_expires_in\": 3600\n}","options":{"raw":{"language":"json"}}}},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/customers/authorize","description":"Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.","body":{"mode":"raw","raw":"{\n  \"client_id\": \"your-registered-client-id\",\n  \"external_customer_id\": \"customer-1001\",\n  \"deriv_api_token\": \"customer-oauth-access-token\",\n  \"preferred_account_id\": \"CR123456\",\n  \"token_expires_in\": 3600\n}","options":{"raw":{"language":"json"}}}},"status":"PAYMENT_UNCONFIRMED","code":502,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_UNCONFIRMED\",\n    \"message\": \"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/customers/authorize","description":"Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.","body":{"mode":"raw","raw":"{\n  \"client_id\": \"your-registered-client-id\",\n  \"external_customer_id\": \"customer-1001\",\n  \"deriv_api_token\": \"customer-oauth-access-token\",\n  \"preferred_account_id\": \"CR123456\",\n  \"token_expires_in\": 3600\n}","options":{"raw":{"language":"json"}}}},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"},{"name":"The request timed out. Read the existing operation; do not create a replacement.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/customers/authorize","description":"Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.","body":{"mode":"raw","raw":"{\n  \"client_id\": \"your-registered-client-id\",\n  \"external_customer_id\": \"customer-1001\",\n  \"deriv_api_token\": \"customer-oauth-access-token\",\n  \"preferred_account_id\": \"CR123456\",\n  \"token_expires_in\": 3600\n}","options":{"raw":{"language":"json"}}}},"status":"OUTCOME_UNKNOWN","code":504,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OUTCOME_UNKNOWN\",\n    \"message\": \"The request timed out. Read the existing operation; do not create a replacement.\"\n  }\n}"}]},{"name":"Get connection","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01","description":"Get customer details and linked Deriv accounts. Check authorization_status before requesting payments. The payment_methods array is normally empty for partner connections."},"response":[{"name":"Successful request.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01","description":"Get customer details and linked Deriv accounts. Check authorization_status before requesting payments. The payment_methods array is normally empty for partner connections."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Deriv connection retrieved successfully\",\n  \"data\": {\n    \"connection_id\": \"conn_example_01\",\n    \"external_customer_id\": \"customer-1001\",\n    \"id\": \"customer_example_01\",\n    \"email\": \"customer@example.com\",\n    \"name\": \"Example Customer\",\n    \"first_name\": \"Example\",\n    \"last_name\": \"Customer\",\n    \"profile_completed\": true,\n    \"role\": \"user\",\n    \"default_phone_number\": \"254712345678\",\n    \"payment_methods\": [],\n    \"deriv_account\": {\n      \"client_id\": \"your-registered-client-id\",\n      \"user_id\": 123456,\n      \"fullname\": \"Example Customer\",\n      \"country\": \"ke\",\n      \"primary_login_id\": \"CR123456\",\n      \"selected_account\": \"CR123456\",\n      \"account_count\": 1,\n      \"accounts\": [\n        {\n          \"login_id\": \"CR123456\",\n          \"currency\": \"USD\",\n          \"is_virtual\": false\n        }\n      ],\n      \"token_expires_at\": \"2026-10-12T10:00:00Z\",\n      \"authorization_status\": \"active\"\n    }\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01","description":"Get customer details and linked Deriv accounts. Check authorization_status before requesting payments. The payment_methods array is normally empty for partner connections."},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01","description":"Get customer details and linked Deriv accounts. Check authorization_status before requesting payments. The payment_methods array is normally empty for partner connections."},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01","description":"Get customer details and linked Deriv accounts. Check authorization_status before requesting payments. The payment_methods array is normally empty for partner connections."},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01","description":"Get customer details and linked Deriv accounts. Check authorization_status before requesting payments. The payment_methods array is normally empty for partner connections."},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01","description":"Get customer details and linked Deriv accounts. Check authorization_status before requesting payments. The payment_methods array is normally empty for partner connections."},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01","description":"Get customer details and linked Deriv accounts. Check authorization_status before requesting payments. The payment_methods array is normally empty for partner connections."},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01","description":"Get customer details and linked Deriv accounts. Check authorization_status before requesting payments. The payment_methods array is normally empty for partner connections."},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"}]},{"name":"Save default phone","request":{"method":"PATCH","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/default-phone","description":"Save a default phone number for this connection. Include country if it differs from your workspace default. Saving the number does not verify its owner. Payment requests still require phone_number and customer consent.","body":{"mode":"raw","raw":"{\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\"\n}","options":{"raw":{"language":"json"}}}},"response":[{"name":"Successful request.","originalRequest":{"method":"PATCH","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/default-phone","description":"Save a default phone number for this connection. Include country if it differs from your workspace default. Saving the number does not verify its owner. Payment requests still require phone_number and customer consent.","body":{"mode":"raw","raw":"{\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\"\n}","options":{"raw":{"language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Default phone number saved\",\n  \"data\": {\n    \"connection_id\": \"conn_example_01\",\n    \"external_customer_id\": \"customer-1001\",\n    \"id\": \"customer_example_01\",\n    \"email\": \"customer@example.com\",\n    \"name\": \"Example Customer\",\n    \"first_name\": \"Example\",\n    \"last_name\": \"Customer\",\n    \"profile_completed\": true,\n    \"role\": \"user\",\n    \"default_phone_number\": \"254712345678\",\n    \"payment_methods\": [],\n    \"deriv_account\": {\n      \"client_id\": \"your-registered-client-id\",\n      \"user_id\": 123456,\n      \"fullname\": \"Example Customer\",\n      \"country\": \"ke\",\n      \"primary_login_id\": \"CR123456\",\n      \"selected_account\": \"CR123456\",\n      \"account_count\": 1,\n      \"accounts\": [\n        {\n          \"login_id\": \"CR123456\",\n          \"currency\": \"USD\",\n          \"is_virtual\": false\n        }\n      ],\n      \"token_expires_at\": \"2026-10-12T10:00:00Z\",\n      \"authorization_status\": \"active\"\n    }\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"PATCH","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/default-phone","description":"Save a default phone number for this connection. Include country if it differs from your workspace default. Saving the number does not verify its owner. Payment requests still require phone_number and customer consent.","body":{"mode":"raw","raw":"{\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\"\n}","options":{"raw":{"language":"json"}}}},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"PATCH","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/default-phone","description":"Save a default phone number for this connection. Include country if it differs from your workspace default. Saving the number does not verify its owner. Payment requests still require phone_number and customer consent.","body":{"mode":"raw","raw":"{\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\"\n}","options":{"raw":{"language":"json"}}}},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"PATCH","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/default-phone","description":"Save a default phone number for this connection. Include country if it differs from your workspace default. Saving the number does not verify its owner. Payment requests still require phone_number and customer consent.","body":{"mode":"raw","raw":"{\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\"\n}","options":{"raw":{"language":"json"}}}},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"PATCH","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/default-phone","description":"Save a default phone number for this connection. Include country if it differs from your workspace default. Saving the number does not verify its owner. Payment requests still require phone_number and customer consent.","body":{"mode":"raw","raw":"{\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\"\n}","options":{"raw":{"language":"json"}}}},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Read the existing operation and resolve it before retrying. Reuse its original identity and request.","originalRequest":{"method":"PATCH","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/default-phone","description":"Save a default phone number for this connection. Include country if it differs from your workspace default. Saving the number does not verify its owner. Payment requests still require phone_number and customer consent.","body":{"mode":"raw","raw":"{\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\"\n}","options":{"raw":{"language":"json"}}}},"status":"OPERATION_CONFLICT","code":409,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OPERATION_CONFLICT\",\n    \"message\": \"Read the existing operation and resolve it before retrying. Reuse its original identity and request.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"PATCH","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/default-phone","description":"Save a default phone number for this connection. Include country if it differs from your workspace default. Saving the number does not verify its owner. Payment requests still require phone_number and customer consent.","body":{"mode":"raw","raw":"{\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\"\n}","options":{"raw":{"language":"json"}}}},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"PATCH","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/default-phone","description":"Save a default phone number for this connection. Include country if it differs from your workspace default. Saving the number does not verify its owner. Payment requests still require phone_number and customer consent.","body":{"mode":"raw","raw":"{\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\"\n}","options":{"raw":{"language":"json"}}}},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"PATCH","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/default-phone","description":"Save a default phone number for this connection. Include country if it differs from your workspace default. Saving the number does not verify its owner. Payment requests still require phone_number and customer consent.","body":{"mode":"raw","raw":"{\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\"\n}","options":{"raw":{"language":"json"}}}},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"}]},{"name":"Get balances","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/balance","description":"Get the Wallet balance and, when available, the Options balance. Withdrawals use the Wallet balance. This response represents amounts as JSON numbers."},"response":[{"name":"Successful request.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/balance","description":"Get the Wallet balance and, when available, the Options balance. Withdrawals use the Wallet balance. This response represents amounts as JSON numbers."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Deriv wallet balances retrieved successfully\",\n  \"data\": {\n    \"account_id\": \"CR123456\",\n    \"currency\": \"USD\",\n    \"balance\": 25,\n    \"wallet_type\": \"main\",\n    \"total_wallet_usd\": 25,\n    \"wallets\": [\n      {\n        \"type\": \"main\",\n        \"balances\": {\n          \"USD\": {\n            \"balance\": 25\n          }\n        }\n      }\n    ],\n    \"options_account\": {\n      \"account_id\": \"CR123456\",\n      \"currency\": \"USD\",\n      \"balance\": 10\n    }\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/balance","description":"Get the Wallet balance and, when available, the Options balance. Withdrawals use the Wallet balance. This response represents amounts as JSON numbers."},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/balance","description":"Get the Wallet balance and, when available, the Options balance. Withdrawals use the Wallet balance. This response represents amounts as JSON numbers."},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/balance","description":"Get the Wallet balance and, when available, the Options balance. Withdrawals use the Wallet balance. This response represents amounts as JSON numbers."},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/balance","description":"Get the Wallet balance and, when available, the Options balance. Withdrawals use the Wallet balance. This response represents amounts as JSON numbers."},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"The requested operation has expired. Read its current state before starting another.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/balance","description":"Get the Wallet balance and, when available, the Options balance. Withdrawals use the Wallet balance. This response represents amounts as JSON numbers."},"status":"EXPIRED","code":410,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"EXPIRED\",\n    \"message\": \"The requested operation has expired. Read its current state before starting another.\"\n  }\n}"},{"name":"Check the customer's account permissions, verification, balance, and payment limits.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/balance","description":"Get the Wallet balance and, when available, the Options balance. Withdrawals use the Wallet balance. This response represents amounts as JSON numbers."},"status":"ACCOUNT_NOT_ELIGIBLE","code":412,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCOUNT_NOT_ELIGIBLE\",\n    \"message\": \"Check the customer's account permissions, verification, balance, and payment limits.\"\n  }\n}"},{"name":"The payment could not be accepted. Check account eligibility, balance, and limits.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/balance","description":"Get the Wallet balance and, when available, the Options balance. Withdrawals use the Wallet balance. This response represents amounts as JSON numbers."},"status":"PAYMENT_REJECTED","code":422,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_REJECTED\",\n    \"message\": \"The payment could not be accepted. Check account eligibility, balance, and limits.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/balance","description":"Get the Wallet balance and, when available, the Options balance. Withdrawals use the Wallet balance. This response represents amounts as JSON numbers."},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/balance","description":"Get the Wallet balance and, when available, the Options balance. Withdrawals use the Wallet balance. This response represents amounts as JSON numbers."},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/balance","description":"Get the Wallet balance and, when available, the Options balance. Withdrawals use the Wallet balance. This response represents amounts as JSON numbers."},"status":"PAYMENT_UNCONFIRMED","code":502,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_UNCONFIRMED\",\n    \"message\": \"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/balance","description":"Get the Wallet balance and, when available, the Options balance. Withdrawals use the Wallet balance. This response represents amounts as JSON numbers."},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"},{"name":"The request timed out. Read the existing operation; do not create a replacement.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/balance","description":"Get the Wallet balance and, when available, the Options balance. Withdrawals use the Wallet balance. This response represents amounts as JSON numbers."},"status":"OUTCOME_UNKNOWN","code":504,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OUTCOME_UNKNOWN\",\n    \"message\": \"The request timed out. Read the existing operation; do not create a replacement.\"\n  }\n}"}]},{"name":"List payment corridors","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/corridors","description":"List available mobile money countries, networks and deposit or withdrawal support. Payment requests must follow your workspace country permissions. An empty list means no mobile money markets are currently available."},"response":[{"name":"Successful request.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/corridors","description":"List available mobile money countries, networks and deposit or withdrawal support. Payment requests must follow your workspace country permissions. An empty list means no mobile money markets are currently available."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Corridors retrieved successfully\",\n  \"data\": {\n    \"corridors\": [\n      {\n        \"country\": \"KE\",\n        \"name\": \"Kenya\",\n        \"currency\": \"KES\",\n        \"payment_method\": \"mobile_money\",\n        \"deposit_enabled\": true,\n        \"withdrawal_enabled\": true,\n        \"dialing_code\": \"254\",\n        \"national_number_length\": 9,\n        \"operators\": [\n          {\n            \"code\": \"mpesa\",\n            \"name\": \"M-Pesa\"\n          }\n        ],\n        \"requires_operator\": false,\n        \"confirms_recipient_name\": true\n      }\n    ]\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/corridors","description":"List available mobile money countries, networks and deposit or withdrawal support. Payment requests must follow your workspace country permissions. An empty list means no mobile money markets are currently available."},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/corridors","description":"List available mobile money countries, networks and deposit or withdrawal support. Payment requests must follow your workspace country permissions. An empty list means no mobile money markets are currently available."},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/corridors","description":"List available mobile money countries, networks and deposit or withdrawal support. Payment requests must follow your workspace country permissions. An empty list means no mobile money markets are currently available."},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/corridors","description":"List available mobile money countries, networks and deposit or withdrawal support. Payment requests must follow your workspace country permissions. An empty list means no mobile money markets are currently available."},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/corridors","description":"List available mobile money countries, networks and deposit or withdrawal support. Payment requests must follow your workspace country permissions. An empty list means no mobile money markets are currently available."},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/corridors","description":"List available mobile money countries, networks and deposit or withdrawal support. Payment requests must follow your workspace country permissions. An empty list means no mobile money markets are currently available."},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"}]},{"name":"Get exchange rate and limits","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates?country=KE","description":"Get exchange rates and payment limits for the selected country. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. An unsupported country returns 404."},"response":[{"name":"Successful request.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates?country=KE","description":"Get exchange rates and payment limits for the selected country. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. An unsupported country returns 404."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Exchange rate retrieved successfully\",\n  \"data\": {\n    \"country\": \"KE\",\n    \"base_currency\": \"USD\",\n    \"quote_currency\": \"KES\",\n    \"deposit_rate\": 140,\n    \"withdrawal_rate\": 130,\n    \"crypto_payment_rate\": 135,\n    \"min_deposit\": 140,\n    \"max_deposit\": 150000,\n    \"min_withdrawal_usd\": 1,\n    \"max_withdrawal_usd\": 1000,\n    \"effective_date\": \"2026-10-12\",\n    \"fetched_at\": \"2026-10-12T09:00:00Z\"\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates?country=KE","description":"Get exchange rates and payment limits for the selected country. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. An unsupported country returns 404."},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates?country=KE","description":"Get exchange rates and payment limits for the selected country. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. An unsupported country returns 404."},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates?country=KE","description":"Get exchange rates and payment limits for the selected country. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. An unsupported country returns 404."},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates?country=KE","description":"Get exchange rates and payment limits for the selected country. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. An unsupported country returns 404."},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates?country=KE","description":"Get exchange rates and payment limits for the selected country. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. An unsupported country returns 404."},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates?country=KE","description":"Get exchange rates and payment limits for the selected country. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. An unsupported country returns 404."},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates?country=KE","description":"Get exchange rates and payment limits for the selected country. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. An unsupported country returns 404."},"status":"PAYMENT_UNCONFIRMED","code":502,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_UNCONFIRMED\",\n    \"message\": \"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates?country=KE","description":"Get exchange rates and payment limits for the selected country. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. An unsupported country returns 404."},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"}]},{"name":"Get Kenya exchange rate and limits","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates/usdkes","description":"Get exchange rates and payment limits for Kenya. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. This endpoint always returns the USD/KES quote."},"response":[{"name":"Successful request.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates/usdkes","description":"Get exchange rates and payment limits for Kenya. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. This endpoint always returns the USD/KES quote."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Exchange rate retrieved successfully\",\n  \"data\": {\n    \"country\": \"KE\",\n    \"base_currency\": \"USD\",\n    \"quote_currency\": \"KES\",\n    \"deposit_rate\": 140,\n    \"withdrawal_rate\": 130,\n    \"crypto_payment_rate\": 135,\n    \"min_deposit\": 140,\n    \"max_deposit\": 150000,\n    \"min_withdrawal_usd\": 1,\n    \"max_withdrawal_usd\": 1000,\n    \"effective_date\": \"2026-10-12\",\n    \"fetched_at\": \"2026-10-12T09:00:00Z\"\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates/usdkes","description":"Get exchange rates and payment limits for Kenya. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. This endpoint always returns the USD/KES quote."},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates/usdkes","description":"Get exchange rates and payment limits for Kenya. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. This endpoint always returns the USD/KES quote."},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates/usdkes","description":"Get exchange rates and payment limits for Kenya. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. This endpoint always returns the USD/KES quote."},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates/usdkes","description":"Get exchange rates and payment limits for Kenya. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. This endpoint always returns the USD/KES quote."},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates/usdkes","description":"Get exchange rates and payment limits for Kenya. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. This endpoint always returns the USD/KES quote."},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates/usdkes","description":"Get exchange rates and payment limits for Kenya. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. This endpoint always returns the USD/KES quote."},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates/usdkes","description":"Get exchange rates and payment limits for Kenya. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. This endpoint always returns the USD/KES quote."},"status":"PAYMENT_UNCONFIRMED","code":502,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_UNCONFIRMED\",\n    \"message\": \"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/rates/usdkes","description":"Get exchange rates and payment limits for Kenya. Rates are local currency units per USD. Use deposit_rate to calculate the USD credited by a deposit and withdrawal_rate for withdrawals. Kenya also returns crypto_payment_rate: divide the KES deposit amount by this rate to estimate the USD to pay at crypto checkout. The checkout confirms the final payment amount. Rates and limits can change before submission. This endpoint always returns the USD/KES quote."},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"}]},{"name":"Create mobile money deposit","request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/mpesa/deposit","description":"Collect mobile money and fund the customer’s Deriv Wallet. Send connection_id, phone_number, amount and an idempotency key. Kenya also accepts amount_kes. Follow next_action when present and monitor until the status is completed.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"response":[{"name":"Request accepted. Check the transaction status to confirm payment completion.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/mpesa/deposit","description":"Collect mobile money and fund the customer’s Deriv Wallet. Send connection_id, phone_number, amount and an idempotency key. Kenya also accepts amount_kes. Follow next_action when present and monitor until the status is completed.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Deposit initiated successfully\",\n  \"data\": {\n    \"id\": \"507f1f77bcf86cd799439011\",\n    \"connection_id\": \"conn_example_01\",\n    \"type\": \"deposit\",\n    \"payment_method\": \"mobile_money\",\n    \"status\": \"pending\",\n    \"country\": \"KE\",\n    \"network\": \"mpesa\",\n    \"local\": {\n      \"amount\": \"700\",\n      \"currency\": \"KES\"\n    },\n    \"settlement\": {\n      \"amount\": \"5.00\",\n      \"currency\": \"USD\"\n    },\n    \"idempotency_key\": \"order-1001\",\n    \"account_login_id\": \"CR123456\",\n    \"next_action\": null,\n    \"failure\": null,\n    \"created_at\": \"2026-10-12T09:00:00Z\",\n    \"updated_at\": \"2026-10-12T09:00:00Z\",\n    \"completed_at\": null\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/mpesa/deposit","description":"Collect mobile money and fund the customer’s Deriv Wallet. Send connection_id, phone_number, amount and an idempotency key. Kenya also accepts amount_kes. Follow next_action when present and monitor until the status is completed.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/mpesa/deposit","description":"Collect mobile money and fund the customer’s Deriv Wallet. Send connection_id, phone_number, amount and an idempotency key. Kenya also accepts amount_kes. Follow next_action when present and monitor until the status is completed.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/mpesa/deposit","description":"Collect mobile money and fund the customer’s Deriv Wallet. Send connection_id, phone_number, amount and an idempotency key. Kenya also accepts amount_kes. Follow next_action when present and monitor until the status is completed.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/mpesa/deposit","description":"Collect mobile money and fund the customer’s Deriv Wallet. Send connection_id, phone_number, amount and an idempotency key. Kenya also accepts amount_kes. Follow next_action when present and monitor until the status is completed.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Read the existing operation and resolve it before retrying. Reuse its original identity and request.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/mpesa/deposit","description":"Collect mobile money and fund the customer’s Deriv Wallet. Send connection_id, phone_number, amount and an idempotency key. Kenya also accepts amount_kes. Follow next_action when present and monitor until the status is completed.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"OPERATION_CONFLICT","code":409,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OPERATION_CONFLICT\",\n    \"message\": \"Read the existing operation and resolve it before retrying. Reuse its original identity and request.\"\n  }\n}"},{"name":"Check the customer's account permissions, verification, balance, and payment limits.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/mpesa/deposit","description":"Collect mobile money and fund the customer’s Deriv Wallet. Send connection_id, phone_number, amount and an idempotency key. Kenya also accepts amount_kes. Follow next_action when present and monitor until the status is completed.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"ACCOUNT_NOT_ELIGIBLE","code":412,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCOUNT_NOT_ELIGIBLE\",\n    \"message\": \"Check the customer's account permissions, verification, balance, and payment limits.\"\n  }\n}"},{"name":"Reduce the request body size.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/mpesa/deposit","description":"Collect mobile money and fund the customer’s Deriv Wallet. Send connection_id, phone_number, amount and an idempotency key. Kenya also accepts amount_kes. Follow next_action when present and monitor until the status is completed.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"REQUEST_TOO_LARGE","code":413,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"REQUEST_TOO_LARGE\",\n    \"message\": \"Reduce the request body size.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/mpesa/deposit","description":"Collect mobile money and fund the customer’s Deriv Wallet. Send connection_id, phone_number, amount and an idempotency key. Kenya also accepts amount_kes. Follow next_action when present and monitor until the status is completed.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/mpesa/deposit","description":"Collect mobile money and fund the customer’s Deriv Wallet. Send connection_id, phone_number, amount and an idempotency key. Kenya also accepts amount_kes. Follow next_action when present and monitor until the status is completed.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/mpesa/deposit","description":"Collect mobile money and fund the customer’s Deriv Wallet. Send connection_id, phone_number, amount and an idempotency key. Kenya also accepts amount_kes. Follow next_action when present and monitor until the status is completed.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"PAYMENT_UNCONFIRMED","code":502,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_UNCONFIRMED\",\n    \"message\": \"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/mpesa/deposit","description":"Collect mobile money and fund the customer’s Deriv Wallet. Send connection_id, phone_number, amount and an idempotency key. Kenya also accepts amount_kes. Follow next_action when present and monitor until the status is completed.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"},{"name":"The request timed out. Read the existing operation; do not create a replacement.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/mpesa/deposit","description":"Collect mobile money and fund the customer’s Deriv Wallet. Send connection_id, phone_number, amount and an idempotency key. Kenya also accepts amount_kes. Follow next_action when present and monitor until the status is completed.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"OUTCOME_UNKNOWN","code":504,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OUTCOME_UNKNOWN\",\n    \"message\": \"The request timed out. Read the existing operation; do not create a replacement.\"\n  }\n}"}]},{"name":"Create crypto deposit","request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/crypto/deposit","description":"Create a crypto checkout with a quote in KES. Open next_action.url so the customer can choose an asset and network. Check the transaction after checkout and wait for completed to confirm Wallet funding.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"amount_kes\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"response":[{"name":"Request accepted. Check the transaction status to confirm payment completion.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/crypto/deposit","description":"Create a crypto checkout with a quote in KES. Open next_action.url so the customer can choose an asset and network. Check the transaction after checkout and wait for completed to confirm Wallet funding.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"amount_kes\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Crypto checkout created successfully\",\n  \"data\": {\n    \"id\": \"507f1f77bcf86cd799439011\",\n    \"connection_id\": \"conn_example_01\",\n    \"type\": \"deposit\",\n    \"payment_method\": \"crypto\",\n    \"status\": \"action_required\",\n    \"country\": \"KE\",\n    \"local\": {\n      \"amount\": \"700\",\n      \"currency\": \"KES\"\n    },\n    \"settlement\": {\n      \"amount\": \"5.00\",\n      \"currency\": \"USD\"\n    },\n    \"idempotency_key\": \"order-1001\",\n    \"account_login_id\": \"CR123456\",\n    \"next_action\": {\n      \"type\": \"redirect\",\n      \"url\": \"https://checkout.example.com/pay/example\"\n    },\n    \"failure\": null,\n    \"created_at\": \"2026-10-12T09:00:00Z\",\n    \"updated_at\": \"2026-10-12T09:00:00Z\",\n    \"completed_at\": null\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/crypto/deposit","description":"Create a crypto checkout with a quote in KES. Open next_action.url so the customer can choose an asset and network. Check the transaction after checkout and wait for completed to confirm Wallet funding.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"amount_kes\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/crypto/deposit","description":"Create a crypto checkout with a quote in KES. Open next_action.url so the customer can choose an asset and network. Check the transaction after checkout and wait for completed to confirm Wallet funding.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"amount_kes\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/crypto/deposit","description":"Create a crypto checkout with a quote in KES. Open next_action.url so the customer can choose an asset and network. Check the transaction after checkout and wait for completed to confirm Wallet funding.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"amount_kes\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/crypto/deposit","description":"Create a crypto checkout with a quote in KES. Open next_action.url so the customer can choose an asset and network. Check the transaction after checkout and wait for completed to confirm Wallet funding.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"amount_kes\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Read the existing operation and resolve it before retrying. Reuse its original identity and request.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/crypto/deposit","description":"Create a crypto checkout with a quote in KES. Open next_action.url so the customer can choose an asset and network. Check the transaction after checkout and wait for completed to confirm Wallet funding.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"amount_kes\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"OPERATION_CONFLICT","code":409,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OPERATION_CONFLICT\",\n    \"message\": \"Read the existing operation and resolve it before retrying. Reuse its original identity and request.\"\n  }\n}"},{"name":"Check the customer's account permissions, verification, balance, and payment limits.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/crypto/deposit","description":"Create a crypto checkout with a quote in KES. Open next_action.url so the customer can choose an asset and network. Check the transaction after checkout and wait for completed to confirm Wallet funding.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"amount_kes\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"ACCOUNT_NOT_ELIGIBLE","code":412,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCOUNT_NOT_ELIGIBLE\",\n    \"message\": \"Check the customer's account permissions, verification, balance, and payment limits.\"\n  }\n}"},{"name":"Reduce the request body size.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/crypto/deposit","description":"Create a crypto checkout with a quote in KES. Open next_action.url so the customer can choose an asset and network. Check the transaction after checkout and wait for completed to confirm Wallet funding.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"amount_kes\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"REQUEST_TOO_LARGE","code":413,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"REQUEST_TOO_LARGE\",\n    \"message\": \"Reduce the request body size.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/crypto/deposit","description":"Create a crypto checkout with a quote in KES. Open next_action.url so the customer can choose an asset and network. Check the transaction after checkout and wait for completed to confirm Wallet funding.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"amount_kes\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/crypto/deposit","description":"Create a crypto checkout with a quote in KES. Open next_action.url so the customer can choose an asset and network. Check the transaction after checkout and wait for completed to confirm Wallet funding.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"amount_kes\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/crypto/deposit","description":"Create a crypto checkout with a quote in KES. Open next_action.url so the customer can choose an asset and network. Check the transaction after checkout and wait for completed to confirm Wallet funding.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"amount_kes\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"PAYMENT_UNCONFIRMED","code":502,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_UNCONFIRMED\",\n    \"message\": \"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/crypto/deposit","description":"Create a crypto checkout with a quote in KES. Open next_action.url so the customer can choose an asset and network. Check the transaction after checkout and wait for completed to confirm Wallet funding.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"amount_kes\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"},{"name":"The request timed out. Read the existing operation; do not create a replacement.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"order-1001"}],"url":"{{baseUrl}}/api/crypto/deposit","description":"Create a crypto checkout with a quote in KES. Open next_action.url so the customer can choose an asset and network. Check the transaction after checkout and wait for completed to confirm Wallet funding.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"amount_kes\": 700,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"OUTCOME_UNKNOWN","code":504,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OUTCOME_UNKNOWN\",\n    \"message\": \"The request timed out. Read the existing operation; do not create a replacement.\"\n  }\n}"}]},{"name":"Submit deposit verification","request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/otp","description":"Submit the mobile network’s verification code while next_action.type is one_time_code. Keep the code as a string to preserve leading zeros. The existing otp field is also accepted instead of code. Follow any next_action returned. On 429, stop submitting codes and check the transaction.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"type\": \"one_time_code\",\n  \"code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"response":[{"name":"Successful request.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/otp","description":"Submit the mobile network’s verification code while next_action.type is one_time_code. Keep the code as a string to preserve leading zeros. The existing otp field is also accepted instead of code. Follow any next_action returned. On 429, stop submitting codes and check the transaction.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"type\": \"one_time_code\",\n  \"code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Verification submitted\",\n  \"data\": {\n    \"id\": \"507f1f77bcf86cd799439011\",\n    \"connection_id\": \"conn_example_01\",\n    \"type\": \"deposit\",\n    \"payment_method\": \"mobile_money\",\n    \"status\": \"pending\",\n    \"country\": \"KE\",\n    \"network\": \"mpesa\",\n    \"local\": {\n      \"amount\": \"700\",\n      \"currency\": \"KES\"\n    },\n    \"settlement\": {\n      \"amount\": \"5.00\",\n      \"currency\": \"USD\"\n    },\n    \"idempotency_key\": \"order-1001\",\n    \"account_login_id\": \"CR123456\",\n    \"next_action\": null,\n    \"failure\": null,\n    \"created_at\": \"2026-10-12T09:00:00Z\",\n    \"updated_at\": \"2026-10-12T09:00:00Z\",\n    \"completed_at\": null\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/otp","description":"Submit the mobile network’s verification code while next_action.type is one_time_code. Keep the code as a string to preserve leading zeros. The existing otp field is also accepted instead of code. Follow any next_action returned. On 429, stop submitting codes and check the transaction.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"type\": \"one_time_code\",\n  \"code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/otp","description":"Submit the mobile network’s verification code while next_action.type is one_time_code. Keep the code as a string to preserve leading zeros. The existing otp field is also accepted instead of code. Follow any next_action returned. On 429, stop submitting codes and check the transaction.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"type\": \"one_time_code\",\n  \"code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/otp","description":"Submit the mobile network’s verification code while next_action.type is one_time_code. Keep the code as a string to preserve leading zeros. The existing otp field is also accepted instead of code. Follow any next_action returned. On 429, stop submitting codes and check the transaction.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"type\": \"one_time_code\",\n  \"code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/otp","description":"Submit the mobile network’s verification code while next_action.type is one_time_code. Keep the code as a string to preserve leading zeros. The existing otp field is also accepted instead of code. Follow any next_action returned. On 429, stop submitting codes and check the transaction.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"type\": \"one_time_code\",\n  \"code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Read the existing operation and resolve it before retrying. Reuse its original identity and request.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/otp","description":"Submit the mobile network’s verification code while next_action.type is one_time_code. Keep the code as a string to preserve leading zeros. The existing otp field is also accepted instead of code. Follow any next_action returned. On 429, stop submitting codes and check the transaction.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"type\": \"one_time_code\",\n  \"code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"OPERATION_CONFLICT","code":409,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OPERATION_CONFLICT\",\n    \"message\": \"Read the existing operation and resolve it before retrying. Reuse its original identity and request.\"\n  }\n}"},{"name":"Reduce the request body size.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/otp","description":"Submit the mobile network’s verification code while next_action.type is one_time_code. Keep the code as a string to preserve leading zeros. The existing otp field is also accepted instead of code. Follow any next_action returned. On 429, stop submitting codes and check the transaction.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"type\": \"one_time_code\",\n  \"code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"REQUEST_TOO_LARGE","code":413,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"REQUEST_TOO_LARGE\",\n    \"message\": \"Reduce the request body size.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/otp","description":"Submit the mobile network’s verification code while next_action.type is one_time_code. Keep the code as a string to preserve leading zeros. The existing otp field is also accepted instead of code. Follow any next_action returned. On 429, stop submitting codes and check the transaction.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"type\": \"one_time_code\",\n  \"code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/otp","description":"Submit the mobile network’s verification code while next_action.type is one_time_code. Keep the code as a string to preserve leading zeros. The existing otp field is also accepted instead of code. Follow any next_action returned. On 429, stop submitting codes and check the transaction.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"type\": \"one_time_code\",\n  \"code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/otp","description":"Submit the mobile network’s verification code while next_action.type is one_time_code. Keep the code as a string to preserve leading zeros. The existing otp field is also accepted instead of code. Follow any next_action returned. On 429, stop submitting codes and check the transaction.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"type\": \"one_time_code\",\n  \"code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"PAYMENT_UNCONFIRMED","code":502,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_UNCONFIRMED\",\n    \"message\": \"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/otp","description":"Submit the mobile network’s verification code while next_action.type is one_time_code. Keep the code as a string to preserve leading zeros. The existing otp field is also accepted instead of code. Follow any next_action returned. On 429, stop submitting codes and check the transaction.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"type\": \"one_time_code\",\n  \"code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"}]},{"name":"Start withdrawal verification","request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"withdrawal-order-1002"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification","description":"Start withdrawal email verification after the customer confirms the destination number and network. Save an idempotency key before calling. The status can be pending while the email is prepared. Submit the email code to /api/mpesa/withdraw.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount_usd\": 5,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"response":[{"name":"Request accepted. Check the transaction status to confirm payment completion.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"withdrawal-order-1002"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification","description":"Start withdrawal email verification after the customer confirms the destination number and network. Save an idempotency key before calling. The status can be pending while the email is prepared. Submit the email code to /api/mpesa/withdraw.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount_usd\": 5,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Withdrawal verification email sent successfully\",\n  \"data\": {\n    \"id\": \"507f1f77bcf86cd799439011\",\n    \"connection_id\": \"conn_example_01\",\n    \"type\": \"withdrawal\",\n    \"payment_method\": \"mobile_money\",\n    \"status\": \"action_required\",\n    \"country\": \"KE\",\n    \"network\": \"mpesa\",\n    \"local\": {\n      \"amount\": \"650\",\n      \"currency\": \"KES\"\n    },\n    \"settlement\": {\n      \"amount\": \"5.00\",\n      \"currency\": \"USD\"\n    },\n    \"idempotency_key\": \"withdrawal-order-1002\",\n    \"account_login_id\": \"CR123456\",\n    \"next_action\": {\n      \"type\": \"email_code\"\n    },\n    \"failure\": null,\n    \"created_at\": \"2026-10-12T09:00:00Z\",\n    \"updated_at\": \"2026-10-12T09:00:00Z\",\n    \"completed_at\": null\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"withdrawal-order-1002"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification","description":"Start withdrawal email verification after the customer confirms the destination number and network. Save an idempotency key before calling. The status can be pending while the email is prepared. Submit the email code to /api/mpesa/withdraw.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount_usd\": 5,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"withdrawal-order-1002"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification","description":"Start withdrawal email verification after the customer confirms the destination number and network. Save an idempotency key before calling. The status can be pending while the email is prepared. Submit the email code to /api/mpesa/withdraw.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount_usd\": 5,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"withdrawal-order-1002"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification","description":"Start withdrawal email verification after the customer confirms the destination number and network. Save an idempotency key before calling. The status can be pending while the email is prepared. Submit the email code to /api/mpesa/withdraw.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount_usd\": 5,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"withdrawal-order-1002"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification","description":"Start withdrawal email verification after the customer confirms the destination number and network. Save an idempotency key before calling. The status can be pending while the email is prepared. Submit the email code to /api/mpesa/withdraw.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount_usd\": 5,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Read the existing operation and resolve it before retrying. Reuse its original identity and request.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"withdrawal-order-1002"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification","description":"Start withdrawal email verification after the customer confirms the destination number and network. Save an idempotency key before calling. The status can be pending while the email is prepared. Submit the email code to /api/mpesa/withdraw.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount_usd\": 5,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"OPERATION_CONFLICT","code":409,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OPERATION_CONFLICT\",\n    \"message\": \"Read the existing operation and resolve it before retrying. Reuse its original identity and request.\"\n  }\n}"},{"name":"Check the customer's account permissions, verification, balance, and payment limits.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"withdrawal-order-1002"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification","description":"Start withdrawal email verification after the customer confirms the destination number and network. Save an idempotency key before calling. The status can be pending while the email is prepared. Submit the email code to /api/mpesa/withdraw.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount_usd\": 5,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"ACCOUNT_NOT_ELIGIBLE","code":412,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCOUNT_NOT_ELIGIBLE\",\n    \"message\": \"Check the customer's account permissions, verification, balance, and payment limits.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"withdrawal-order-1002"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification","description":"Start withdrawal email verification after the customer confirms the destination number and network. Save an idempotency key before calling. The status can be pending while the email is prepared. Submit the email code to /api/mpesa/withdraw.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount_usd\": 5,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"withdrawal-order-1002"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification","description":"Start withdrawal email verification after the customer confirms the destination number and network. Save an idempotency key before calling. The status can be pending while the email is prepared. Submit the email code to /api/mpesa/withdraw.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount_usd\": 5,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"withdrawal-order-1002"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification","description":"Start withdrawal email verification after the customer confirms the destination number and network. Save an idempotency key before calling. The status can be pending while the email is prepared. Submit the email code to /api/mpesa/withdraw.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount_usd\": 5,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"PAYMENT_UNCONFIRMED","code":502,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_UNCONFIRMED\",\n    \"message\": \"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"withdrawal-order-1002"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification","description":"Start withdrawal email verification after the customer confirms the destination number and network. Save an idempotency key before calling. The status can be pending while the email is prepared. Submit the email code to /api/mpesa/withdraw.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount_usd\": 5,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"},{"name":"The request timed out. Read the existing operation; do not create a replacement.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"withdrawal-order-1002"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification","description":"Start withdrawal email verification after the customer confirms the destination number and network. Save an idempotency key before calling. The status can be pending while the email is prepared. Submit the email code to /api/mpesa/withdraw.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"phone_number\": \"254712345678\",\n  \"country\": \"KE\",\n  \"amount_usd\": 5,\n  \"account_login_id\": \"CR123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"OUTCOME_UNKNOWN","code":504,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OUTCOME_UNKNOWN\",\n    \"message\": \"The request timed out. Read the existing operation; do not create a replacement.\"\n  }\n}"}]},{"name":"Resend withdrawal verification","request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification/resend","description":"Resend the email code for the same withdrawal. Supply its connection and transaction IDs. If throttled, wait before retrying; keep using the existing withdrawal.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\"\n}","options":{"raw":{"language":"json"}}}},"response":[{"name":"Request accepted. Check the transaction status to confirm payment completion.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification/resend","description":"Resend the email code for the same withdrawal. Supply its connection and transaction IDs. If throttled, wait before retrying; keep using the existing withdrawal.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\"\n}","options":{"raw":{"language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Withdrawal verification email resent successfully\",\n  \"data\": {\n    \"id\": \"507f1f77bcf86cd799439011\",\n    \"connection_id\": \"conn_example_01\",\n    \"type\": \"withdrawal\",\n    \"payment_method\": \"mobile_money\",\n    \"status\": \"action_required\",\n    \"country\": \"KE\",\n    \"network\": \"mpesa\",\n    \"local\": {\n      \"amount\": \"650\",\n      \"currency\": \"KES\"\n    },\n    \"settlement\": {\n      \"amount\": \"5.00\",\n      \"currency\": \"USD\"\n    },\n    \"idempotency_key\": \"withdrawal-order-1002\",\n    \"account_login_id\": \"CR123456\",\n    \"next_action\": {\n      \"type\": \"email_code\"\n    },\n    \"failure\": null,\n    \"created_at\": \"2026-10-12T09:00:00Z\",\n    \"updated_at\": \"2026-10-12T09:00:00Z\",\n    \"completed_at\": null\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification/resend","description":"Resend the email code for the same withdrawal. Supply its connection and transaction IDs. If throttled, wait before retrying; keep using the existing withdrawal.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\"\n}","options":{"raw":{"language":"json"}}}},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification/resend","description":"Resend the email code for the same withdrawal. Supply its connection and transaction IDs. If throttled, wait before retrying; keep using the existing withdrawal.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\"\n}","options":{"raw":{"language":"json"}}}},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification/resend","description":"Resend the email code for the same withdrawal. Supply its connection and transaction IDs. If throttled, wait before retrying; keep using the existing withdrawal.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\"\n}","options":{"raw":{"language":"json"}}}},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification/resend","description":"Resend the email code for the same withdrawal. Supply its connection and transaction IDs. If throttled, wait before retrying; keep using the existing withdrawal.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\"\n}","options":{"raw":{"language":"json"}}}},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Read the existing operation and resolve it before retrying. Reuse its original identity and request.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification/resend","description":"Resend the email code for the same withdrawal. Supply its connection and transaction IDs. If throttled, wait before retrying; keep using the existing withdrawal.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\"\n}","options":{"raw":{"language":"json"}}}},"status":"OPERATION_CONFLICT","code":409,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OPERATION_CONFLICT\",\n    \"message\": \"Read the existing operation and resolve it before retrying. Reuse its original identity and request.\"\n  }\n}"},{"name":"Check the customer's account permissions, verification, balance, and payment limits.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification/resend","description":"Resend the email code for the same withdrawal. Supply its connection and transaction IDs. If throttled, wait before retrying; keep using the existing withdrawal.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\"\n}","options":{"raw":{"language":"json"}}}},"status":"ACCOUNT_NOT_ELIGIBLE","code":412,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCOUNT_NOT_ELIGIBLE\",\n    \"message\": \"Check the customer's account permissions, verification, balance, and payment limits.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification/resend","description":"Resend the email code for the same withdrawal. Supply its connection and transaction IDs. If throttled, wait before retrying; keep using the existing withdrawal.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\"\n}","options":{"raw":{"language":"json"}}}},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification/resend","description":"Resend the email code for the same withdrawal. Supply its connection and transaction IDs. If throttled, wait before retrying; keep using the existing withdrawal.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\"\n}","options":{"raw":{"language":"json"}}}},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification/resend","description":"Resend the email code for the same withdrawal. Supply its connection and transaction IDs. If throttled, wait before retrying; keep using the existing withdrawal.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\"\n}","options":{"raw":{"language":"json"}}}},"status":"PAYMENT_UNCONFIRMED","code":502,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_UNCONFIRMED\",\n    \"message\": \"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification/resend","description":"Resend the email code for the same withdrawal. Supply its connection and transaction IDs. If throttled, wait before retrying; keep using the existing withdrawal.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\"\n}","options":{"raw":{"language":"json"}}}},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"},{"name":"The request timed out. Read the existing operation; do not create a replacement.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdrawal-verification/resend","description":"Resend the email code for the same withdrawal. Supply its connection and transaction IDs. If throttled, wait before retrying; keep using the existing withdrawal.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\"\n}","options":{"raw":{"language":"json"}}}},"status":"OUTCOME_UNKNOWN","code":504,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OUTCOME_UNKNOWN\",\n    \"message\": \"The request timed out. Read the existing operation; do not create a replacement.\"\n  }\n}"}]},{"name":"Complete withdrawal","request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdraw","description":"Submit the email code to complete verification for this withdrawal. Payout may still be processing after a successful response. Monitor until completed. If reconciliation is required, keep the existing transaction and contact support.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\",\n  \"verification_code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"response":[{"name":"Request accepted. Check the transaction status to confirm payment completion.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdraw","description":"Submit the email code to complete verification for this withdrawal. Payout may still be processing after a successful response. Monitor until completed. If reconciliation is required, keep the existing transaction and contact support.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\",\n  \"verification_code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Withdrawal processed successfully\",\n  \"data\": {\n    \"id\": \"507f1f77bcf86cd799439011\",\n    \"connection_id\": \"conn_example_01\",\n    \"type\": \"withdrawal\",\n    \"payment_method\": \"mobile_money\",\n    \"status\": \"processing\",\n    \"country\": \"KE\",\n    \"network\": \"mpesa\",\n    \"local\": {\n      \"amount\": \"650\",\n      \"currency\": \"KES\"\n    },\n    \"settlement\": {\n      \"amount\": \"5.00\",\n      \"currency\": \"USD\"\n    },\n    \"idempotency_key\": \"withdrawal-order-1002\",\n    \"account_login_id\": \"CR123456\",\n    \"next_action\": null,\n    \"failure\": null,\n    \"created_at\": \"2026-10-12T09:00:00Z\",\n    \"updated_at\": \"2026-10-12T09:00:00Z\",\n    \"completed_at\": null\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdraw","description":"Submit the email code to complete verification for this withdrawal. Payout may still be processing after a successful response. Monitor until completed. If reconciliation is required, keep the existing transaction and contact support.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\",\n  \"verification_code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdraw","description":"Submit the email code to complete verification for this withdrawal. Payout may still be processing after a successful response. Monitor until completed. If reconciliation is required, keep the existing transaction and contact support.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\",\n  \"verification_code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdraw","description":"Submit the email code to complete verification for this withdrawal. Payout may still be processing after a successful response. Monitor until completed. If reconciliation is required, keep the existing transaction and contact support.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\",\n  \"verification_code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdraw","description":"Submit the email code to complete verification for this withdrawal. Payout may still be processing after a successful response. Monitor until completed. If reconciliation is required, keep the existing transaction and contact support.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\",\n  \"verification_code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Read the existing operation and resolve it before retrying. Reuse its original identity and request.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdraw","description":"Submit the email code to complete verification for this withdrawal. Payout may still be processing after a successful response. Monitor until completed. If reconciliation is required, keep the existing transaction and contact support.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\",\n  \"verification_code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"OPERATION_CONFLICT","code":409,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OPERATION_CONFLICT\",\n    \"message\": \"Read the existing operation and resolve it before retrying. Reuse its original identity and request.\"\n  }\n}"},{"name":"Check the customer's account permissions, verification, balance, and payment limits.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdraw","description":"Submit the email code to complete verification for this withdrawal. Payout may still be processing after a successful response. Monitor until completed. If reconciliation is required, keep the existing transaction and contact support.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\",\n  \"verification_code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"ACCOUNT_NOT_ELIGIBLE","code":412,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCOUNT_NOT_ELIGIBLE\",\n    \"message\": \"Check the customer's account permissions, verification, balance, and payment limits.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdraw","description":"Submit the email code to complete verification for this withdrawal. Payout may still be processing after a successful response. Monitor until completed. If reconciliation is required, keep the existing transaction and contact support.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\",\n  \"verification_code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdraw","description":"Submit the email code to complete verification for this withdrawal. Payout may still be processing after a successful response. Monitor until completed. If reconciliation is required, keep the existing transaction and contact support.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\",\n  \"verification_code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdraw","description":"Submit the email code to complete verification for this withdrawal. Payout may still be processing after a successful response. Monitor until completed. If reconciliation is required, keep the existing transaction and contact support.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\",\n  \"verification_code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"PAYMENT_UNCONFIRMED","code":502,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_UNCONFIRMED\",\n    \"message\": \"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdraw","description":"Submit the email code to complete verification for this withdrawal. Payout may still be processing after a successful response. Monitor until completed. If reconciliation is required, keep the existing transaction and contact support.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\",\n  \"verification_code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"},{"name":"The request timed out. Read the existing operation; do not create a replacement.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/withdraw","description":"Submit the email code to complete verification for this withdrawal. Payout may still be processing after a successful response. Monitor until completed. If reconciliation is required, keep the existing transaction and contact support.","body":{"mode":"raw","raw":"{\n  \"connection_id\": \"conn_example_01\",\n  \"transaction_id\": \"507f1f77bcf86cd799439011\",\n  \"verification_code\": \"123456\"\n}","options":{"raw":{"language":"json"}}}},"status":"OUTCOME_UNKNOWN","code":504,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OUTCOME_UNKNOWN\",\n    \"message\": \"The request timed out. Read the existing operation; do not create a replacement.\"\n  }\n}"}]},{"name":"List transactions","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions?connection_id=conn_example_01","description":"Get up to 20 of this connection’s newest transactions. This endpoint has no pagination parameters. Use statistics for payment totals and trends."},"response":[{"name":"Successful request.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions?connection_id=conn_example_01","description":"Get up to 20 of this connection’s newest transactions. This endpoint has no pagination parameters. Use statistics for payment totals and trends."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Transaction history retrieved successfully\",\n  \"data\": [\n    {\n      \"id\": \"507f1f77bcf86cd799439011\",\n      \"connection_id\": \"conn_example_01\",\n      \"type\": \"deposit\",\n      \"payment_method\": \"mobile_money\",\n      \"status\": \"pending\",\n      \"country\": \"KE\",\n      \"network\": \"mpesa\",\n      \"local\": {\n        \"amount\": \"700\",\n        \"currency\": \"KES\"\n      },\n      \"settlement\": {\n        \"amount\": \"5.00\",\n        \"currency\": \"USD\"\n      },\n      \"idempotency_key\": \"order-1001\",\n      \"account_login_id\": \"CR123456\",\n      \"next_action\": null,\n      \"failure\": null,\n      \"created_at\": \"2026-10-12T09:00:00Z\",\n      \"updated_at\": \"2026-10-12T09:00:00Z\",\n      \"completed_at\": null\n    }\n  ]\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions?connection_id=conn_example_01","description":"Get up to 20 of this connection’s newest transactions. This endpoint has no pagination parameters. Use statistics for payment totals and trends."},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions?connection_id=conn_example_01","description":"Get up to 20 of this connection’s newest transactions. This endpoint has no pagination parameters. Use statistics for payment totals and trends."},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions?connection_id=conn_example_01","description":"Get up to 20 of this connection’s newest transactions. This endpoint has no pagination parameters. Use statistics for payment totals and trends."},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions?connection_id=conn_example_01","description":"Get up to 20 of this connection’s newest transactions. This endpoint has no pagination parameters. Use statistics for payment totals and trends."},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions?connection_id=conn_example_01","description":"Get up to 20 of this connection’s newest transactions. This endpoint has no pagination parameters. Use statistics for payment totals and trends."},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions?connection_id=conn_example_01","description":"Get up to 20 of this connection’s newest transactions. This endpoint has no pagination parameters. Use statistics for payment totals and trends."},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions?connection_id=conn_example_01","description":"Get up to 20 of this connection’s newest transactions. This endpoint has no pagination parameters. Use statistics for payment totals and trends."},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"}]},{"name":"Get transaction","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011?connection_id=conn_example_01","description":"Get the current transaction status. This request can refresh an unresolved payment’s outcome. A completed status confirms Wallet funding for a deposit or payout for a withdrawal."},"response":[{"name":"Successful request.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011?connection_id=conn_example_01","description":"Get the current transaction status. This request can refresh an unresolved payment’s outcome. A completed status confirms Wallet funding for a deposit or payout for a withdrawal."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Transaction status retrieved successfully\",\n  \"data\": {\n    \"id\": \"507f1f77bcf86cd799439011\",\n    \"connection_id\": \"conn_example_01\",\n    \"type\": \"deposit\",\n    \"payment_method\": \"mobile_money\",\n    \"status\": \"completed\",\n    \"country\": \"KE\",\n    \"network\": \"mpesa\",\n    \"local\": {\n      \"amount\": \"700\",\n      \"currency\": \"KES\"\n    },\n    \"settlement\": {\n      \"amount\": \"5.00\",\n      \"currency\": \"USD\"\n    },\n    \"idempotency_key\": \"order-1001\",\n    \"account_login_id\": \"CR123456\",\n    \"next_action\": null,\n    \"failure\": null,\n    \"created_at\": \"2026-10-12T09:00:00Z\",\n    \"updated_at\": \"2026-10-12T09:00:00Z\",\n    \"completed_at\": \"2026-10-12T09:00:00Z\"\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011?connection_id=conn_example_01","description":"Get the current transaction status. This request can refresh an unresolved payment’s outcome. A completed status confirms Wallet funding for a deposit or payout for a withdrawal."},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011?connection_id=conn_example_01","description":"Get the current transaction status. This request can refresh an unresolved payment’s outcome. A completed status confirms Wallet funding for a deposit or payout for a withdrawal."},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011?connection_id=conn_example_01","description":"Get the current transaction status. This request can refresh an unresolved payment’s outcome. A completed status confirms Wallet funding for a deposit or payout for a withdrawal."},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011?connection_id=conn_example_01","description":"Get the current transaction status. This request can refresh an unresolved payment’s outcome. A completed status confirms Wallet funding for a deposit or payout for a withdrawal."},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011?connection_id=conn_example_01","description":"Get the current transaction status. This request can refresh an unresolved payment’s outcome. A completed status confirms Wallet funding for a deposit or payout for a withdrawal."},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011?connection_id=conn_example_01","description":"Get the current transaction status. This request can refresh an unresolved payment’s outcome. A completed status confirms Wallet funding for a deposit or payout for a withdrawal."},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011?connection_id=conn_example_01","description":"Get the current transaction status. This request can refresh an unresolved payment’s outcome. A completed status confirms Wallet funding for a deposit or payout for a withdrawal."},"status":"PAYMENT_UNCONFIRMED","code":502,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_UNCONFIRMED\",\n    \"message\": \"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011?connection_id=conn_example_01","description":"Get the current transaction status. This request can refresh an unresolved payment’s outcome. A completed status confirms Wallet funding for a deposit or payout for a withdrawal."},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"},{"name":"The request timed out. Read the existing operation; do not create a replacement.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011?connection_id=conn_example_01","description":"Get the current transaction status. This request can refresh an unresolved payment’s outcome. A completed status confirms Wallet funding for a deposit or payout for a withdrawal."},"status":"OUTCOME_UNKNOWN","code":504,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OUTCOME_UNKNOWN\",\n    \"message\": \"The request timed out. Read the existing operation; do not create a replacement.\"\n  }\n}"}]},{"name":"Monitor transaction","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"text/event-stream"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/monitor?connection_id=conn_example_01","description":"Receive server-sent events for one transaction. status and complete events contain the transaction object. heartbeat contains {\"ts\":1791795600}; timeout contains {\"message\":\"reconnect\"}. Reconnect to the same URL after a timeout. Once the stream opens, HTTP stays 200. A fatal lookup error ends the stream with an error event containing the standard JSON error response, such as {\"success\":false,\"error\":{\"code\":\"NOT_FOUND\",\"message\":\"The requested resource was not found for this connection.\"}}. Deripay retries temporary lookup failures within the stream. Reconnecting returns current state without replaying earlier events."},"response":[{"name":"Successful request.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"text/event-stream"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/monitor?connection_id=conn_example_01","description":"Receive server-sent events for one transaction. status and complete events contain the transaction object. heartbeat contains {\"ts\":1791795600}; timeout contains {\"message\":\"reconnect\"}. Reconnect to the same URL after a timeout. Once the stream opens, HTTP stays 200. A fatal lookup error ends the stream with an error event containing the standard JSON error response, such as {\"success\":false,\"error\":{\"code\":\"NOT_FOUND\",\"message\":\"The requested resource was not found for this connection.\"}}. Deripay retries temporary lookup failures within the stream. Reconnecting returns current state without replaying earlier events."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/event-stream"}],"body":"event: status\ndata: {\"id\":\"507f1f77bcf86cd799439011\",\"connection_id\":\"conn_example_01\",\"type\":\"deposit\",\"payment_method\":\"mobile_money\",\"status\":\"pending\",\"country\":\"KE\",\"network\":\"mpesa\",\"local\":{\"amount\":\"700\",\"currency\":\"KES\"},\"settlement\":{\"amount\":\"5.00\",\"currency\":\"USD\"},\"idempotency_key\":\"order-1001\",\"account_login_id\":\"CR123456\",\"next_action\":null,\"failure\":null,\"created_at\":\"2026-10-12T09:00:00Z\",\"updated_at\":\"2026-10-12T09:00:00Z\",\"completed_at\":null}\n\nevent: complete\ndata: {\"id\":\"507f1f77bcf86cd799439011\",\"connection_id\":\"conn_example_01\",\"type\":\"deposit\",\"payment_method\":\"mobile_money\",\"status\":\"completed\",\"country\":\"KE\",\"network\":\"mpesa\",\"local\":{\"amount\":\"700\",\"currency\":\"KES\"},\"settlement\":{\"amount\":\"5.00\",\"currency\":\"USD\"},\"idempotency_key\":\"order-1001\",\"account_login_id\":\"CR123456\",\"next_action\":null,\"failure\":null,\"created_at\":\"2026-10-12T09:00:00Z\",\"updated_at\":\"2026-10-12T09:00:00Z\",\"completed_at\":\"2026-10-12T09:00:00Z\"}\n\n"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"text/event-stream"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/monitor?connection_id=conn_example_01","description":"Receive server-sent events for one transaction. status and complete events contain the transaction object. heartbeat contains {\"ts\":1791795600}; timeout contains {\"message\":\"reconnect\"}. Reconnect to the same URL after a timeout. Once the stream opens, HTTP stays 200. A fatal lookup error ends the stream with an error event containing the standard JSON error response, such as {\"success\":false,\"error\":{\"code\":\"NOT_FOUND\",\"message\":\"The requested resource was not found for this connection.\"}}. Deripay retries temporary lookup failures within the stream. Reconnecting returns current state without replaying earlier events."},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"text/event-stream"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/monitor?connection_id=conn_example_01","description":"Receive server-sent events for one transaction. status and complete events contain the transaction object. heartbeat contains {\"ts\":1791795600}; timeout contains {\"message\":\"reconnect\"}. Reconnect to the same URL after a timeout. Once the stream opens, HTTP stays 200. A fatal lookup error ends the stream with an error event containing the standard JSON error response, such as {\"success\":false,\"error\":{\"code\":\"NOT_FOUND\",\"message\":\"The requested resource was not found for this connection.\"}}. Deripay retries temporary lookup failures within the stream. Reconnecting returns current state without replaying earlier events."},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"text/event-stream"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/monitor?connection_id=conn_example_01","description":"Receive server-sent events for one transaction. status and complete events contain the transaction object. heartbeat contains {\"ts\":1791795600}; timeout contains {\"message\":\"reconnect\"}. Reconnect to the same URL after a timeout. Once the stream opens, HTTP stays 200. A fatal lookup error ends the stream with an error event containing the standard JSON error response, such as {\"success\":false,\"error\":{\"code\":\"NOT_FOUND\",\"message\":\"The requested resource was not found for this connection.\"}}. Deripay retries temporary lookup failures within the stream. Reconnecting returns current state without replaying earlier events."},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"text/event-stream"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/monitor?connection_id=conn_example_01","description":"Receive server-sent events for one transaction. status and complete events contain the transaction object. heartbeat contains {\"ts\":1791795600}; timeout contains {\"message\":\"reconnect\"}. Reconnect to the same URL after a timeout. Once the stream opens, HTTP stays 200. A fatal lookup error ends the stream with an error event containing the standard JSON error response, such as {\"success\":false,\"error\":{\"code\":\"NOT_FOUND\",\"message\":\"The requested resource was not found for this connection.\"}}. Deripay retries temporary lookup failures within the stream. Reconnecting returns current state without replaying earlier events."},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"text/event-stream"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/monitor?connection_id=conn_example_01","description":"Receive server-sent events for one transaction. status and complete events contain the transaction object. heartbeat contains {\"ts\":1791795600}; timeout contains {\"message\":\"reconnect\"}. Reconnect to the same URL after a timeout. Once the stream opens, HTTP stays 200. A fatal lookup error ends the stream with an error event containing the standard JSON error response, such as {\"success\":false,\"error\":{\"code\":\"NOT_FOUND\",\"message\":\"The requested resource was not found for this connection.\"}}. Deripay retries temporary lookup failures within the stream. Reconnecting returns current state without replaying earlier events."},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"text/event-stream"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/monitor?connection_id=conn_example_01","description":"Receive server-sent events for one transaction. status and complete events contain the transaction object. heartbeat contains {\"ts\":1791795600}; timeout contains {\"message\":\"reconnect\"}. Reconnect to the same URL after a timeout. Once the stream opens, HTTP stays 200. A fatal lookup error ends the stream with an error event containing the standard JSON error response, such as {\"success\":false,\"error\":{\"code\":\"NOT_FOUND\",\"message\":\"The requested resource was not found for this connection.\"}}. Deripay retries temporary lookup failures within the stream. Reconnecting returns current state without replaying earlier events."},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"text/event-stream"}],"url":"{{baseUrl}}/api/mpesa/transactions/507f1f77bcf86cd799439011/monitor?connection_id=conn_example_01","description":"Receive server-sent events for one transaction. status and complete events contain the transaction object. heartbeat contains {\"ts\":1791795600}; timeout contains {\"message\":\"reconnect\"}. Reconnect to the same URL after a timeout. Once the stream opens, HTTP stays 200. A fatal lookup error ends the stream with an error event containing the standard JSON error response, such as {\"success\":false,\"error\":{\"code\":\"NOT_FOUND\",\"message\":\"The requested resource was not found for this connection.\"}}. Deripay retries temporary lookup failures within the stream. Reconnecting returns current state without replaying earlier events."},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"}]},{"name":"Create or retry Wallet–Options transfer","request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers","description":"Save a UUID as request_id before the first request. Retry with the same UUID and body. An unresolved transfer blocks new transfers on this connection. Only completed confirms that funds moved. For to_options, you can link a completed deposit using deposit_transaction_id.","body":{"mode":"raw","raw":"{\n  \"direction\": \"to_options\",\n  \"amount\": \"12.50\",\n  \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\"\n}","options":{"raw":{"language":"json"}}}},"response":[{"name":"Successful request.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers","description":"Save a UUID as request_id before the first request. Retry with the same UUID and body. An unresolved transfer blocks new transfers on this connection. Only completed confirms that funds moved. For to_options, you can link a completed deposit using deposit_transaction_id.","body":{"mode":"raw","raw":"{\n  \"direction\": \"to_options\",\n  \"amount\": \"12.50\",\n  \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\"\n}","options":{"raw":{"language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Transfer completed\",\n  \"data\": {\n    \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\",\n    \"direction\": \"to_options\",\n    \"amount\": \"12.50\",\n    \"currency\": \"USD\",\n    \"options_account_id\": \"CR123456\",\n    \"status\": \"completed\",\n    \"created_at\": \"2026-10-12T09:00:00Z\",\n    \"updated_at\": \"2026-10-12T09:00:00Z\"\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers","description":"Save a UUID as request_id before the first request. Retry with the same UUID and body. An unresolved transfer blocks new transfers on this connection. Only completed confirms that funds moved. For to_options, you can link a completed deposit using deposit_transaction_id.","body":{"mode":"raw","raw":"{\n  \"direction\": \"to_options\",\n  \"amount\": \"12.50\",\n  \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\"\n}","options":{"raw":{"language":"json"}}}},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers","description":"Save a UUID as request_id before the first request. Retry with the same UUID and body. An unresolved transfer blocks new transfers on this connection. Only completed confirms that funds moved. For to_options, you can link a completed deposit using deposit_transaction_id.","body":{"mode":"raw","raw":"{\n  \"direction\": \"to_options\",\n  \"amount\": \"12.50\",\n  \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\"\n}","options":{"raw":{"language":"json"}}}},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers","description":"Save a UUID as request_id before the first request. Retry with the same UUID and body. An unresolved transfer blocks new transfers on this connection. Only completed confirms that funds moved. For to_options, you can link a completed deposit using deposit_transaction_id.","body":{"mode":"raw","raw":"{\n  \"direction\": \"to_options\",\n  \"amount\": \"12.50\",\n  \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\"\n}","options":{"raw":{"language":"json"}}}},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers","description":"Save a UUID as request_id before the first request. Retry with the same UUID and body. An unresolved transfer blocks new transfers on this connection. Only completed confirms that funds moved. For to_options, you can link a completed deposit using deposit_transaction_id.","body":{"mode":"raw","raw":"{\n  \"direction\": \"to_options\",\n  \"amount\": \"12.50\",\n  \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\"\n}","options":{"raw":{"language":"json"}}}},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Read the existing operation and resolve it before retrying. Reuse its original identity and request.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers","description":"Save a UUID as request_id before the first request. Retry with the same UUID and body. An unresolved transfer blocks new transfers on this connection. Only completed confirms that funds moved. For to_options, you can link a completed deposit using deposit_transaction_id.","body":{"mode":"raw","raw":"{\n  \"direction\": \"to_options\",\n  \"amount\": \"12.50\",\n  \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\"\n}","options":{"raw":{"language":"json"}}}},"status":"OPERATION_CONFLICT","code":409,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OPERATION_CONFLICT\",\n    \"message\": \"Read the existing operation and resolve it before retrying. Reuse its original identity and request.\"\n  }\n}"},{"name":"Check the customer's account permissions, verification, balance, and payment limits.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers","description":"Save a UUID as request_id before the first request. Retry with the same UUID and body. An unresolved transfer blocks new transfers on this connection. Only completed confirms that funds moved. For to_options, you can link a completed deposit using deposit_transaction_id.","body":{"mode":"raw","raw":"{\n  \"direction\": \"to_options\",\n  \"amount\": \"12.50\",\n  \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\"\n}","options":{"raw":{"language":"json"}}}},"status":"ACCOUNT_NOT_ELIGIBLE","code":412,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCOUNT_NOT_ELIGIBLE\",\n    \"message\": \"Check the customer's account permissions, verification, balance, and payment limits.\"\n  }\n}"},{"name":"Reduce the request body size.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers","description":"Save a UUID as request_id before the first request. Retry with the same UUID and body. An unresolved transfer blocks new transfers on this connection. Only completed confirms that funds moved. For to_options, you can link a completed deposit using deposit_transaction_id.","body":{"mode":"raw","raw":"{\n  \"direction\": \"to_options\",\n  \"amount\": \"12.50\",\n  \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\"\n}","options":{"raw":{"language":"json"}}}},"status":"REQUEST_TOO_LARGE","code":413,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"REQUEST_TOO_LARGE\",\n    \"message\": \"Reduce the request body size.\"\n  }\n}"},{"name":"The payment could not be accepted. Check account eligibility, balance, and limits.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers","description":"Save a UUID as request_id before the first request. Retry with the same UUID and body. An unresolved transfer blocks new transfers on this connection. Only completed confirms that funds moved. For to_options, you can link a completed deposit using deposit_transaction_id.","body":{"mode":"raw","raw":"{\n  \"direction\": \"to_options\",\n  \"amount\": \"12.50\",\n  \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\"\n}","options":{"raw":{"language":"json"}}}},"status":"PAYMENT_REJECTED","code":422,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_REJECTED\",\n    \"message\": \"The payment could not be accepted. Check account eligibility, balance, and limits.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers","description":"Save a UUID as request_id before the first request. Retry with the same UUID and body. An unresolved transfer blocks new transfers on this connection. Only completed confirms that funds moved. For to_options, you can link a completed deposit using deposit_transaction_id.","body":{"mode":"raw","raw":"{\n  \"direction\": \"to_options\",\n  \"amount\": \"12.50\",\n  \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\"\n}","options":{"raw":{"language":"json"}}}},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers","description":"Save a UUID as request_id before the first request. Retry with the same UUID and body. An unresolved transfer blocks new transfers on this connection. Only completed confirms that funds moved. For to_options, you can link a completed deposit using deposit_transaction_id.","body":{"mode":"raw","raw":"{\n  \"direction\": \"to_options\",\n  \"amount\": \"12.50\",\n  \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\"\n}","options":{"raw":{"language":"json"}}}},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers","description":"Save a UUID as request_id before the first request. Retry with the same UUID and body. An unresolved transfer blocks new transfers on this connection. Only completed confirms that funds moved. For to_options, you can link a completed deposit using deposit_transaction_id.","body":{"mode":"raw","raw":"{\n  \"direction\": \"to_options\",\n  \"amount\": \"12.50\",\n  \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\"\n}","options":{"raw":{"language":"json"}}}},"status":"PAYMENT_UNCONFIRMED","code":502,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_UNCONFIRMED\",\n    \"message\": \"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers","description":"Save a UUID as request_id before the first request. Retry with the same UUID and body. An unresolved transfer blocks new transfers on this connection. Only completed confirms that funds moved. For to_options, you can link a completed deposit using deposit_transaction_id.","body":{"mode":"raw","raw":"{\n  \"direction\": \"to_options\",\n  \"amount\": \"12.50\",\n  \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\"\n}","options":{"raw":{"language":"json"}}}},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"},{"name":"The request timed out. Read the existing operation; do not create a replacement.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers","description":"Save a UUID as request_id before the first request. Retry with the same UUID and body. An unresolved transfer blocks new transfers on this connection. Only completed confirms that funds moved. For to_options, you can link a completed deposit using deposit_transaction_id.","body":{"mode":"raw","raw":"{\n  \"direction\": \"to_options\",\n  \"amount\": \"12.50\",\n  \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\"\n}","options":{"raw":{"language":"json"}}}},"status":"OUTCOME_UNKNOWN","code":504,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OUTCOME_UNKNOWN\",\n    \"message\": \"The request timed out. Read the existing operation; do not create a replacement.\"\n  }\n}"}]},{"name":"List Wallet–Options transfers","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers?unresolved=true&deposit_transaction_id=507f1f77bcf86cd799439011","description":"Get up to 20 of this connection’s newest transfers. Filter by unresolved or by a linked deposit_transaction_id. Payment transaction lists and SSE streams do not include transfers."},"response":[{"name":"Successful request.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers?unresolved=true&deposit_transaction_id=507f1f77bcf86cd799439011","description":"Get up to 20 of this connection’s newest transfers. Filter by unresolved or by a linked deposit_transaction_id. Payment transaction lists and SSE streams do not include transfers."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Transfers retrieved\",\n  \"data\": {\n    \"transfers\": [\n      {\n        \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\",\n        \"direction\": \"to_options\",\n        \"amount\": \"12.50\",\n        \"currency\": \"USD\",\n        \"options_account_id\": \"CR123456\",\n        \"status\": \"completed\",\n        \"created_at\": \"2026-10-12T09:00:00Z\",\n        \"updated_at\": \"2026-10-12T09:00:00Z\"\n      }\n    ]\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers?unresolved=true&deposit_transaction_id=507f1f77bcf86cd799439011","description":"Get up to 20 of this connection’s newest transfers. Filter by unresolved or by a linked deposit_transaction_id. Payment transaction lists and SSE streams do not include transfers."},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers?unresolved=true&deposit_transaction_id=507f1f77bcf86cd799439011","description":"Get up to 20 of this connection’s newest transfers. Filter by unresolved or by a linked deposit_transaction_id. Payment transaction lists and SSE streams do not include transfers."},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers?unresolved=true&deposit_transaction_id=507f1f77bcf86cd799439011","description":"Get up to 20 of this connection’s newest transfers. Filter by unresolved or by a linked deposit_transaction_id. Payment transaction lists and SSE streams do not include transfers."},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers?unresolved=true&deposit_transaction_id=507f1f77bcf86cd799439011","description":"Get up to 20 of this connection’s newest transfers. Filter by unresolved or by a linked deposit_transaction_id. Payment transaction lists and SSE streams do not include transfers."},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Check the customer's account permissions, verification, balance, and payment limits.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers?unresolved=true&deposit_transaction_id=507f1f77bcf86cd799439011","description":"Get up to 20 of this connection’s newest transfers. Filter by unresolved or by a linked deposit_transaction_id. Payment transaction lists and SSE streams do not include transfers."},"status":"ACCOUNT_NOT_ELIGIBLE","code":412,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCOUNT_NOT_ELIGIBLE\",\n    \"message\": \"Check the customer's account permissions, verification, balance, and payment limits.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers?unresolved=true&deposit_transaction_id=507f1f77bcf86cd799439011","description":"Get up to 20 of this connection’s newest transfers. Filter by unresolved or by a linked deposit_transaction_id. Payment transaction lists and SSE streams do not include transfers."},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers?unresolved=true&deposit_transaction_id=507f1f77bcf86cd799439011","description":"Get up to 20 of this connection’s newest transfers. Filter by unresolved or by a linked deposit_transaction_id. Payment transaction lists and SSE streams do not include transfers."},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers?unresolved=true&deposit_transaction_id=507f1f77bcf86cd799439011","description":"Get up to 20 of this connection’s newest transfers. Filter by unresolved or by a linked deposit_transaction_id. Payment transaction lists and SSE streams do not include transfers."},"status":"PAYMENT_UNCONFIRMED","code":502,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_UNCONFIRMED\",\n    \"message\": \"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers?unresolved=true&deposit_transaction_id=507f1f77bcf86cd799439011","description":"Get up to 20 of this connection’s newest transfers. Filter by unresolved or by a linked deposit_transaction_id. Payment transaction lists and SSE streams do not include transfers."},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"},{"name":"The request timed out. Read the existing operation; do not create a replacement.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers?unresolved=true&deposit_transaction_id=507f1f77bcf86cd799439011","description":"Get up to 20 of this connection’s newest transfers. Filter by unresolved or by a linked deposit_transaction_id. Payment transaction lists and SSE streams do not include transfers."},"status":"OUTCOME_UNKNOWN","code":504,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OUTCOME_UNKNOWN\",\n    \"message\": \"The request timed out. Read the existing operation; do not create a replacement.\"\n  }\n}"}]},{"name":"Get Wallet–Options transfer","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b","description":"Get a transfer and check for an updated outcome. Deripay may confirm an unresolved transfer from account history. After a timeout or outcome_unknown, keep using the original request_id."},"response":[{"name":"Successful request.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b","description":"Get a transfer and check for an updated outcome. Deripay may confirm an unresolved transfer from account history. After a timeout or outcome_unknown, keep using the original request_id."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Transfer retrieved\",\n  \"data\": {\n    \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\",\n    \"direction\": \"to_options\",\n    \"amount\": \"12.50\",\n    \"currency\": \"USD\",\n    \"options_account_id\": \"CR123456\",\n    \"status\": \"completed\",\n    \"created_at\": \"2026-10-12T09:00:00Z\",\n    \"updated_at\": \"2026-10-12T09:00:00Z\"\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b","description":"Get a transfer and check for an updated outcome. Deripay may confirm an unresolved transfer from account history. After a timeout or outcome_unknown, keep using the original request_id."},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b","description":"Get a transfer and check for an updated outcome. Deripay may confirm an unresolved transfer from account history. After a timeout or outcome_unknown, keep using the original request_id."},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b","description":"Get a transfer and check for an updated outcome. Deripay may confirm an unresolved transfer from account history. After a timeout or outcome_unknown, keep using the original request_id."},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b","description":"Get a transfer and check for an updated outcome. Deripay may confirm an unresolved transfer from account history. After a timeout or outcome_unknown, keep using the original request_id."},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Read the existing operation and resolve it before retrying. Reuse its original identity and request.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b","description":"Get a transfer and check for an updated outcome. Deripay may confirm an unresolved transfer from account history. After a timeout or outcome_unknown, keep using the original request_id."},"status":"OPERATION_CONFLICT","code":409,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OPERATION_CONFLICT\",\n    \"message\": \"Read the existing operation and resolve it before retrying. Reuse its original identity and request.\"\n  }\n}"},{"name":"Check the customer's account permissions, verification, balance, and payment limits.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b","description":"Get a transfer and check for an updated outcome. Deripay may confirm an unresolved transfer from account history. After a timeout or outcome_unknown, keep using the original request_id."},"status":"ACCOUNT_NOT_ELIGIBLE","code":412,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCOUNT_NOT_ELIGIBLE\",\n    \"message\": \"Check the customer's account permissions, verification, balance, and payment limits.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b","description":"Get a transfer and check for an updated outcome. Deripay may confirm an unresolved transfer from account history. After a timeout or outcome_unknown, keep using the original request_id."},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b","description":"Get a transfer and check for an updated outcome. Deripay may confirm an unresolved transfer from account history. After a timeout or outcome_unknown, keep using the original request_id."},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b","description":"Get a transfer and check for an updated outcome. Deripay may confirm an unresolved transfer from account history. After a timeout or outcome_unknown, keep using the original request_id."},"status":"PAYMENT_UNCONFIRMED","code":502,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_UNCONFIRMED\",\n    \"message\": \"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b","description":"Get a transfer and check for an updated outcome. Deripay may confirm an unresolved transfer from account history. After a timeout or outcome_unknown, keep using the original request_id."},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"},{"name":"The request timed out. Read the existing operation; do not create a replacement.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b","description":"Get a transfer and check for an updated outcome. Deripay may confirm an unresolved transfer from account history. After a timeout or outcome_unknown, keep using the original request_id."},"status":"OUTCOME_UNKNOWN","code":504,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OUTCOME_UNKNOWN\",\n    \"message\": \"The request timed out. Read the existing operation; do not create a replacement.\"\n  }\n}"}]},{"name":"Dismiss unconfirmed transfer","request":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b/dismiss","description":"Close an unresolved transfer after the customer checks both balances and confirms closure. This allows a new transfer. Dismissal does not reverse funds, refund the customer or confirm failure. Never dismiss automatically after a timeout.","body":{"mode":"raw","raw":"{\n  \"customer_confirmed\": true\n}","options":{"raw":{"language":"json"}}}},"response":[{"name":"Successful request.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b/dismiss","description":"Close an unresolved transfer after the customer checks both balances and confirms closure. This allows a new transfer. Dismissal does not reverse funds, refund the customer or confirm failure. Never dismiss automatically after a timeout.","body":{"mode":"raw","raw":"{\n  \"customer_confirmed\": true\n}","options":{"raw":{"language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Transfer closed\",\n  \"data\": {\n    \"request_id\": \"f152a643-04b6-4f78-ae92-e6378fbc1e4b\",\n    \"direction\": \"to_options\",\n    \"amount\": \"12.50\",\n    \"currency\": \"USD\",\n    \"options_account_id\": \"CR123456\",\n    \"status\": \"dismissed\",\n    \"created_at\": \"2026-10-12T09:00:00Z\",\n    \"updated_at\": \"2026-10-12T09:00:00Z\",\n    \"failure_code\": \"TRANSFER_UNCONFIRMED\",\n    \"failure_message\": \"Check the existing transfer and balances before starting another.\"\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b/dismiss","description":"Close an unresolved transfer after the customer checks both balances and confirms closure. This allows a new transfer. Dismissal does not reverse funds, refund the customer or confirm failure. Never dismiss automatically after a timeout.","body":{"mode":"raw","raw":"{\n  \"customer_confirmed\": true\n}","options":{"raw":{"language":"json"}}}},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b/dismiss","description":"Close an unresolved transfer after the customer checks both balances and confirms closure. This allows a new transfer. Dismissal does not reverse funds, refund the customer or confirm failure. Never dismiss automatically after a timeout.","body":{"mode":"raw","raw":"{\n  \"customer_confirmed\": true\n}","options":{"raw":{"language":"json"}}}},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b/dismiss","description":"Close an unresolved transfer after the customer checks both balances and confirms closure. This allows a new transfer. Dismissal does not reverse funds, refund the customer or confirm failure. Never dismiss automatically after a timeout.","body":{"mode":"raw","raw":"{\n  \"customer_confirmed\": true\n}","options":{"raw":{"language":"json"}}}},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"The requested resource was not found for this connection.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b/dismiss","description":"Close an unresolved transfer after the customer checks both balances and confirms closure. This allows a new transfer. Dismissal does not reverse funds, refund the customer or confirm failure. Never dismiss automatically after a timeout.","body":{"mode":"raw","raw":"{\n  \"customer_confirmed\": true\n}","options":{"raw":{"language":"json"}}}},"status":"NOT_FOUND","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"The requested resource was not found for this connection.\"\n  }\n}"},{"name":"Read the existing operation and resolve it before retrying. Reuse its original identity and request.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b/dismiss","description":"Close an unresolved transfer after the customer checks both balances and confirms closure. This allows a new transfer. Dismissal does not reverse funds, refund the customer or confirm failure. Never dismiss automatically after a timeout.","body":{"mode":"raw","raw":"{\n  \"customer_confirmed\": true\n}","options":{"raw":{"language":"json"}}}},"status":"OPERATION_CONFLICT","code":409,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OPERATION_CONFLICT\",\n    \"message\": \"Read the existing operation and resolve it before retrying. Reuse its original identity and request.\"\n  }\n}"},{"name":"Check the customer's account permissions, verification, balance, and payment limits.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b/dismiss","description":"Close an unresolved transfer after the customer checks both balances and confirms closure. This allows a new transfer. Dismissal does not reverse funds, refund the customer or confirm failure. Never dismiss automatically after a timeout.","body":{"mode":"raw","raw":"{\n  \"customer_confirmed\": true\n}","options":{"raw":{"language":"json"}}}},"status":"ACCOUNT_NOT_ELIGIBLE","code":412,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCOUNT_NOT_ELIGIBLE\",\n    \"message\": \"Check the customer's account permissions, verification, balance, and payment limits.\"\n  }\n}"},{"name":"Reduce the request body size.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b/dismiss","description":"Close an unresolved transfer after the customer checks both balances and confirms closure. This allows a new transfer. Dismissal does not reverse funds, refund the customer or confirm failure. Never dismiss automatically after a timeout.","body":{"mode":"raw","raw":"{\n  \"customer_confirmed\": true\n}","options":{"raw":{"language":"json"}}}},"status":"REQUEST_TOO_LARGE","code":413,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"REQUEST_TOO_LARGE\",\n    \"message\": \"Reduce the request body size.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b/dismiss","description":"Close an unresolved transfer after the customer checks both balances and confirms closure. This allows a new transfer. Dismissal does not reverse funds, refund the customer or confirm failure. Never dismiss automatically after a timeout.","body":{"mode":"raw","raw":"{\n  \"customer_confirmed\": true\n}","options":{"raw":{"language":"json"}}}},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b/dismiss","description":"Close an unresolved transfer after the customer checks both balances and confirms closure. This allows a new transfer. Dismissal does not reverse funds, refund the customer or confirm failure. Never dismiss automatically after a timeout.","body":{"mode":"raw","raw":"{\n  \"customer_confirmed\": true\n}","options":{"raw":{"language":"json"}}}},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b/dismiss","description":"Close an unresolved transfer after the customer checks both balances and confirms closure. This allows a new transfer. Dismissal does not reverse funds, refund the customer or confirm failure. Never dismiss automatically after a timeout.","body":{"mode":"raw","raw":"{\n  \"customer_confirmed\": true\n}","options":{"raw":{"language":"json"}}}},"status":"PAYMENT_UNCONFIRMED","code":502,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"PAYMENT_UNCONFIRMED\",\n    \"message\": \"The payment outcome could not be confirmed. Read the existing operation; do not create a replacement.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b/dismiss","description":"Close an unresolved transfer after the customer checks both balances and confirms closure. This allows a new transfer. Dismissal does not reverse funds, refund the customer or confirm failure. Never dismiss automatically after a timeout.","body":{"mode":"raw","raw":"{\n  \"customer_confirmed\": true\n}","options":{"raw":{"language":"json"}}}},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"},{"name":"The request timed out. Read the existing operation; do not create a replacement.","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/connections/conn_example_01/transfers/f152a643-04b6-4f78-ae92-e6378fbc1e4b/dismiss","description":"Close an unresolved transfer after the customer checks both balances and confirms closure. This allows a new transfer. Dismissal does not reverse funds, refund the customer or confirm failure. Never dismiss automatically after a timeout.","body":{"mode":"raw","raw":"{\n  \"customer_confirmed\": true\n}","options":{"raw":{"language":"json"}}}},"status":"OUTCOME_UNKNOWN","code":504,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"OUTCOME_UNKNOWN\",\n    \"message\": \"The request timed out. Read the existing operation; do not create a replacement.\"\n  }\n}"}]},{"name":"Get statistics","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics?from=2026-10-01&to=2026-10-01&timezone=UTC&granularity=day&type=deposit&status=successful&currency=KES&payment_method=mobile_money&reference=507f1f77bcf86cd799439011&customer_reference=customer-1001","description":"Get reports for your integration. Filters are optional; unknown or repeated query parameters are rejected. The default period is the last 30 calendar days, including today. Amounts are decimal strings. Reporting statuses are successful, pending and failed. Missing percentages have no denominator. Use the same filters for JSON and CSV."},"response":[{"name":"Successful request.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics?from=2026-10-01&to=2026-10-01&timezone=UTC&granularity=day&type=deposit&status=successful&currency=KES&payment_method=mobile_money&reference=507f1f77bcf86cd799439011&customer_reference=customer-1001","description":"Get reports for your integration. Filters are optional; unknown or repeated query parameters are rejected. The default period is the last 30 calendar days, including today. Amounts are decimal strings. Reporting statuses are successful, pending and failed. Missing percentages have no denominator. Use the same filters for JSON and CSV."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Statistics retrieved successfully\",\n  \"data\": {\n    \"granularity\": \"day\",\n    \"partial_period\": false,\n    \"summary\": {\n      \"total\": 0,\n      \"successful\": 0,\n      \"pending\": 0,\n      \"failed\": 0,\n      \"deposits\": 0,\n      \"withdrawals\": 0,\n      \"action_required\": 0,\n      \"reconciliation_required\": 0,\n      \"pending_over_24h\": 0,\n      \"volumes\": [],\n      \"deriv_usd_volume\": {\n        \"currency\": \"USD\",\n        \"successful\": \"0.00\",\n        \"pending\": \"0.00\",\n        \"failed\": \"0.00\"\n      },\n      \"deposit_volumes\": [],\n      \"withdrawal_volumes\": [],\n      \"deposit_usd_volume\": {\n        \"currency\": \"USD\",\n        \"successful\": \"0.00\",\n        \"pending\": \"0.00\",\n        \"failed\": \"0.00\"\n      },\n      \"withdrawal_usd_volume\": {\n        \"currency\": \"USD\",\n        \"successful\": \"0.00\",\n        \"pending\": \"0.00\",\n        \"failed\": \"0.00\"\n      },\n      \"active_users\": 0,\n      \"new_users\": 0,\n      \"registered_users\": 0,\n      \"retained_users\": 0,\n      \"unidentified_transactions\": 0\n    },\n    \"comparison\": {\n      \"from\": \"2026-09-30T00:00:00Z\",\n      \"to\": \"2026-10-01T00:00:00Z\",\n      \"summary\": {\n        \"total\": 0,\n        \"successful\": 0,\n        \"pending\": 0,\n        \"failed\": 0,\n        \"deposits\": 0,\n        \"withdrawals\": 0,\n        \"action_required\": 0,\n        \"reconciliation_required\": 0,\n        \"pending_over_24h\": 0,\n        \"volumes\": [],\n        \"deriv_usd_volume\": {\n          \"currency\": \"USD\",\n          \"successful\": \"0.00\",\n          \"pending\": \"0.00\",\n          \"failed\": \"0.00\"\n        },\n        \"deposit_volumes\": [],\n        \"withdrawal_volumes\": [],\n        \"deposit_usd_volume\": {\n          \"currency\": \"USD\",\n          \"successful\": \"0.00\",\n          \"pending\": \"0.00\",\n          \"failed\": \"0.00\"\n        },\n        \"withdrawal_usd_volume\": {\n          \"currency\": \"USD\",\n          \"successful\": \"0.00\",\n          \"pending\": \"0.00\",\n          \"failed\": \"0.00\"\n        },\n        \"active_users\": 0,\n        \"new_users\": 0,\n        \"registered_users\": 0,\n        \"retained_users\": 0,\n        \"unidentified_transactions\": 0\n      },\n      \"earnings\": {\n        \"currency\": \"USD\",\n        \"basis\": \"estimated_gross_fx_spread_by_completion\",\n        \"gross_earnings\": \"0.00\",\n        \"partner_earnings\": \"0.00\",\n        \"deripay_earnings\": \"0.00\",\n        \"partner_share_bps\": 4800,\n        \"deripay_share_bps\": 5200,\n        \"included_transactions\": 0,\n        \"excluded_transactions\": 0\n      },\n      \"changes\": []\n    },\n    \"breakdowns\": {\n      \"types\": [],\n      \"currencies\": [],\n      \"payment_methods\": [],\n      \"statuses\": [],\n      \"failures\": []\n    },\n    \"earnings\": {\n      \"currency\": \"USD\",\n      \"basis\": \"estimated_gross_fx_spread_by_completion\",\n      \"gross_earnings\": \"0.00\",\n      \"partner_earnings\": \"0.00\",\n      \"deripay_earnings\": \"0.00\",\n      \"partner_share_bps\": 4800,\n      \"deripay_share_bps\": 5200,\n      \"included_transactions\": 0,\n      \"excluded_transactions\": 0\n    },\n    \"definitions\": [\n      \"Counts and volumes use transactions created in the selected period and their current outcomes; historical reports can change after reconciliation.\",\n      \"Successful means completed settlement. Action-required and reconciliation-required transactions remain pending in reporting outcomes.\",\n      \"Success rate is successful / all attempts; settled success rate is successful / (successful + failed). Missing rates have no denominator.\",\n      \"Active users are distinct customers with activity in this workspace; unidentifiable transactions are excluded and counted separately.\",\n      \"New and registered users use the earliest workspace connection; retained users were active in both comparison periods.\",\n      \"Earnings estimate completed transaction FX spread at its recorded reference rate, recognized on completion. Partner share is 48 percent and Deripay share is 52 percent; values are estimates, not a payout balance.\",\n      \"The comparison is the preceding equal-duration interval, without prorating an incomplete current period.\"\n    ],\n    \"warnings\": [],\n    \"as_of\": \"2026-10-12T09:00:00Z\",\n    \"from\": \"2026-10-01T00:00:00Z\",\n    \"to\": \"2026-10-02T00:00:00Z\",\n    \"timezone\": \"UTC\",\n    \"total\": 0,\n    \"successful\": 0,\n    \"pending\": 0,\n    \"failed\": 0,\n    \"deposits\": 0,\n    \"withdrawals\": 0,\n    \"volumes\": [],\n    \"deriv_usd_volume\": {\n      \"currency\": \"USD\",\n      \"successful\": \"0.00\",\n      \"pending\": \"0.00\",\n      \"failed\": \"0.00\"\n    },\n    \"buckets\": [\n      {\n        \"from\": \"2026-10-01T00:00:00Z\",\n        \"to\": \"2026-10-02T00:00:00Z\",\n        \"active_users\": 0,\n        \"earnings\": {\n          \"currency\": \"USD\",\n          \"basis\": \"estimated_gross_fx_spread_by_completion\",\n          \"gross_earnings\": \"0.00\",\n          \"partner_earnings\": \"0.00\",\n          \"deripay_earnings\": \"0.00\",\n          \"partner_share_bps\": 4800,\n          \"deripay_share_bps\": 5200,\n          \"included_transactions\": 0,\n          \"excluded_transactions\": 0\n        },\n        \"action_required\": 0,\n        \"reconciliation_required\": 0,\n        \"pending_over_24h\": 0,\n        \"volumes\": [],\n        \"deriv_usd_volume\": {\n          \"currency\": \"USD\",\n          \"successful\": \"0.00\",\n          \"pending\": \"0.00\",\n          \"failed\": \"0.00\"\n        },\n        \"deposit_volumes\": [],\n        \"withdrawal_volumes\": [],\n        \"deposit_usd_volume\": {\n          \"currency\": \"USD\",\n          \"successful\": \"0.00\",\n          \"pending\": \"0.00\",\n          \"failed\": \"0.00\"\n        },\n        \"withdrawal_usd_volume\": {\n          \"currency\": \"USD\",\n          \"successful\": \"0.00\",\n          \"pending\": \"0.00\",\n          \"failed\": \"0.00\"\n        },\n        \"date\": \"2026-10-01\",\n        \"total\": 0,\n        \"successful\": 0,\n        \"pending\": 0,\n        \"failed\": 0,\n        \"deposits\": 0,\n        \"withdrawals\": 0\n      }\n    ],\n    \"recent\": []\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics?from=2026-10-01&to=2026-10-01&timezone=UTC&granularity=day&type=deposit&status=successful&currency=KES&payment_method=mobile_money&reference=507f1f77bcf86cd799439011&customer_reference=customer-1001","description":"Get reports for your integration. Filters are optional; unknown or repeated query parameters are rejected. The default period is the last 30 calendar days, including today. Amounts are decimal strings. Reporting statuses are successful, pending and failed. Missing percentages have no denominator. Use the same filters for JSON and CSV."},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics?from=2026-10-01&to=2026-10-01&timezone=UTC&granularity=day&type=deposit&status=successful&currency=KES&payment_method=mobile_money&reference=507f1f77bcf86cd799439011&customer_reference=customer-1001","description":"Get reports for your integration. Filters are optional; unknown or repeated query parameters are rejected. The default period is the last 30 calendar days, including today. Amounts are decimal strings. Reporting statuses are successful, pending and failed. Missing percentages have no denominator. Use the same filters for JSON and CSV."},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics?from=2026-10-01&to=2026-10-01&timezone=UTC&granularity=day&type=deposit&status=successful&currency=KES&payment_method=mobile_money&reference=507f1f77bcf86cd799439011&customer_reference=customer-1001","description":"Get reports for your integration. Filters are optional; unknown or repeated query parameters are rejected. The default period is the last 30 calendar days, including today. Amounts are decimal strings. Reporting statuses are successful, pending and failed. Missing percentages have no denominator. Use the same filters for JSON and CSV."},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics?from=2026-10-01&to=2026-10-01&timezone=UTC&granularity=day&type=deposit&status=successful&currency=KES&payment_method=mobile_money&reference=507f1f77bcf86cd799439011&customer_reference=customer-1001","description":"Get reports for your integration. Filters are optional; unknown or repeated query parameters are rejected. The default period is the last 30 calendar days, including today. Amounts are decimal strings. Reporting statuses are successful, pending and failed. Missing percentages have no denominator. Use the same filters for JSON and CSV."},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics?from=2026-10-01&to=2026-10-01&timezone=UTC&granularity=day&type=deposit&status=successful&currency=KES&payment_method=mobile_money&reference=507f1f77bcf86cd799439011&customer_reference=customer-1001","description":"Get reports for your integration. Filters are optional; unknown or repeated query parameters are rejected. The default period is the last 30 calendar days, including today. Amounts are decimal strings. Reporting statuses are successful, pending and failed. Missing percentages have no denominator. Use the same filters for JSON and CSV."},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics?from=2026-10-01&to=2026-10-01&timezone=UTC&granularity=day&type=deposit&status=successful&currency=KES&payment_method=mobile_money&reference=507f1f77bcf86cd799439011&customer_reference=customer-1001","description":"Get reports for your integration. Filters are optional; unknown or repeated query parameters are rejected. The default period is the last 30 calendar days, including today. Amounts are decimal strings. Reporting statuses are successful, pending and failed. Missing percentages have no denominator. Use the same filters for JSON and CSV."},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"}]},{"name":"Export statistics CSV","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"text/csv"}],"url":"{{baseUrl}}/api/deriv/statistics/export?from=2026-10-01&to=2026-10-01&timezone=UTC&granularity=day&type=deposit&status=successful&currency=KES&payment_method=mobile_money&reference=507f1f77bcf86cd799439011&customer_reference=customer-1001","description":"Download a CSV report using the same filters as /api/deriv/statistics. The response includes Content-Disposition: attachment; filename=\"deripay-performance.csv\". Group amounts by currency and amount_basis before adding them. Total attempt and customer counts appear once, on USD rows."},"response":[{"name":"Successful request.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"text/csv"}],"url":"{{baseUrl}}/api/deriv/statistics/export?from=2026-10-01&to=2026-10-01&timezone=UTC&granularity=day&type=deposit&status=successful&currency=KES&payment_method=mobile_money&reference=507f1f77bcf86cd799439011&customer_reference=customer-1001","description":"Download a CSV report using the same filters as /api/deriv/statistics. The response includes Content-Disposition: attachment; filename=\"deripay-performance.csv\". Group amounts by currency and amount_basis before adding them. Total attempt and customer counts appear once, on USD rows."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/csv"}],"body":"section,dimension,as_of,from,to,timezone,currency,amount_basis,total,successful,pending,failed,deposits,withdrawals,successful_amount,pending_amount,failed_amount,active_users,new_users,success_rate,settled_success_rate,action_required,reconciliation_required,pending_over_24h,average_completion_seconds,gross_earnings,partner_earnings,deripay_earnings,earnings_included,earnings_excluded,registered_users,retained_users,retention_rate,unidentified_transactions,earnings_basis,partner_share_bps,deripay_share_bps,partial_period\nsummary,current,2026-10-12T09:00:00Z,2026-10-01T00:00:00Z,2026-10-02T00:00:00Z,UTC,USD,deriv_usd,0,0,0,0,0,0,0.00,0.00,0.00,0,0,,,0,0,0,,0.00,0.00,0.00,0,0,0,0,,0,estimated_gross_fx_spread_by_completion,4800,5200,false\nsummary,previous,2026-10-12T09:00:00Z,2026-09-30T00:00:00Z,2026-10-01T00:00:00Z,UTC,USD,deriv_usd,0,0,0,0,0,0,0.00,0.00,0.00,0,0,,,0,0,0,,0.00,0.00,0.00,0,0,0,0,,0,estimated_gross_fx_spread_by_completion,4800,5200,false\nseries,2026-10-01,2026-10-12T09:00:00Z,2026-10-01T00:00:00Z,2026-10-02T00:00:00Z,UTC,USD,deriv_usd,0,0,0,0,0,0,0.00,0.00,0.00,0,,,,0,0,0,,0.00,0.00,0.00,0,0,,,,,estimated_gross_fx_spread_by_completion,4800,5200,false\n"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"text/csv"}],"url":"{{baseUrl}}/api/deriv/statistics/export?from=2026-10-01&to=2026-10-01&timezone=UTC&granularity=day&type=deposit&status=successful&currency=KES&payment_method=mobile_money&reference=507f1f77bcf86cd799439011&customer_reference=customer-1001","description":"Download a CSV report using the same filters as /api/deriv/statistics. The response includes Content-Disposition: attachment; filename=\"deripay-performance.csv\". Group amounts by currency and amount_basis before adding them. Total attempt and customer counts appear once, on USD rows."},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"text/csv"}],"url":"{{baseUrl}}/api/deriv/statistics/export?from=2026-10-01&to=2026-10-01&timezone=UTC&granularity=day&type=deposit&status=successful&currency=KES&payment_method=mobile_money&reference=507f1f77bcf86cd799439011&customer_reference=customer-1001","description":"Download a CSV report using the same filters as /api/deriv/statistics. The response includes Content-Disposition: attachment; filename=\"deripay-performance.csv\". Group amounts by currency and amount_basis before adding them. Total attempt and customer counts appear once, on USD rows."},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"text/csv"}],"url":"{{baseUrl}}/api/deriv/statistics/export?from=2026-10-01&to=2026-10-01&timezone=UTC&granularity=day&type=deposit&status=successful&currency=KES&payment_method=mobile_money&reference=507f1f77bcf86cd799439011&customer_reference=customer-1001","description":"Download a CSV report using the same filters as /api/deriv/statistics. The response includes Content-Disposition: attachment; filename=\"deripay-performance.csv\". Group amounts by currency and amount_basis before adding them. Total attempt and customer counts appear once, on USD rows."},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"text/csv"}],"url":"{{baseUrl}}/api/deriv/statistics/export?from=2026-10-01&to=2026-10-01&timezone=UTC&granularity=day&type=deposit&status=successful&currency=KES&payment_method=mobile_money&reference=507f1f77bcf86cd799439011&customer_reference=customer-1001","description":"Download a CSV report using the same filters as /api/deriv/statistics. The response includes Content-Disposition: attachment; filename=\"deripay-performance.csv\". Group amounts by currency and amount_basis before adding them. Total attempt and customer counts appear once, on USD rows."},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"text/csv"}],"url":"{{baseUrl}}/api/deriv/statistics/export?from=2026-10-01&to=2026-10-01&timezone=UTC&granularity=day&type=deposit&status=successful&currency=KES&payment_method=mobile_money&reference=507f1f77bcf86cd799439011&customer_reference=customer-1001","description":"Download a CSV report using the same filters as /api/deriv/statistics. The response includes Content-Disposition: attachment; filename=\"deripay-performance.csv\". Group amounts by currency and amount_basis before adding them. Total attempt and customer counts appear once, on USD rows."},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"text/csv"}],"url":"{{baseUrl}}/api/deriv/statistics/export?from=2026-10-01&to=2026-10-01&timezone=UTC&granularity=day&type=deposit&status=successful&currency=KES&payment_method=mobile_money&reference=507f1f77bcf86cd799439011&customer_reference=customer-1001","description":"Download a CSV report using the same filters as /api/deriv/statistics. The response includes Content-Disposition: attachment; filename=\"deripay-performance.csv\". Group amounts by currency and amount_basis before adding them. Total attempt and customer counts appear once, on USD rows."},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"}]},{"name":"List earnings by transaction","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics/earnings?completed_since=2026-10-01&cursor=eyJ2IjoxLCJwIjoiOWYyYzRlMWE3YjNkNWM2MCIsImsiOiJsZWRnZXIiLCJ0IjoiMjAyNi0xMC0xMlQwOTowMDowMFoiLCJpIjoiNTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDExIn0&customer_reference=customer-1001&timezone=UTC&limit=500","description":"Sync estimated earnings incrementally. Each row is one completed transaction with its customer_reference and earnings, in completion order. Save next_cursor after storing a page and pass it alone on your next read; you receive each completion once. Upsert rows by reference. Reconcile with /api/deriv/statistics/earnings/customers, because corrected rows are not resent. Rows sum to the earnings in /api/deriv/statistics for the same completion period. Shares the statistics rate limit."},"response":[{"name":"Successful request.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics/earnings?completed_since=2026-10-01&cursor=eyJ2IjoxLCJwIjoiOWYyYzRlMWE3YjNkNWM2MCIsImsiOiJsZWRnZXIiLCJ0IjoiMjAyNi0xMC0xMlQwOTowMDowMFoiLCJpIjoiNTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDExIn0&customer_reference=customer-1001&timezone=UTC&limit=500","description":"Sync estimated earnings incrementally. Each row is one completed transaction with its customer_reference and earnings, in completion order. Save next_cursor after storing a page and pass it alone on your next read; you receive each completion once. Upsert rows by reference. Reconcile with /api/deriv/statistics/earnings/customers, because corrected rows are not resent. Rows sum to the earnings in /api/deriv/statistics for the same completion period. Shares the statistics rate limit."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Earnings retrieved successfully\",\n  \"data\": {\n    \"as_of\": \"2026-10-12T09:05:00Z\",\n    \"complete_through\": \"2026-10-12T09:03:00Z\",\n    \"currency\": \"USD\",\n    \"basis\": \"estimated_gross_fx_spread_by_completion\",\n    \"partner_share_bps\": 4800,\n    \"deripay_share_bps\": 5200,\n    \"transactions\": [\n      {\n        \"reference\": \"507f1f77bcf86cd799439011\",\n        \"connection_id\": \"conn_example_01\",\n        \"customer_reference\": \"customer-1001\",\n        \"type\": \"deposit\",\n        \"payment_method\": \"mobile_money\",\n        \"currency\": \"KES\",\n        \"local_amount\": \"1400.00\",\n        \"usd_amount\": \"9.80\",\n        \"created_at\": \"2026-10-12T08:58:00Z\",\n        \"completed_at\": \"2026-10-12T09:00:00Z\",\n        \"earnings_included\": true,\n        \"gross_earnings\": \"0.20\",\n        \"partner_earnings\": \"0.10\",\n        \"deripay_earnings\": \"0.10\"\n      }\n    ],\n    \"has_more\": false,\n    \"next_cursor\": \"eyJ2IjoxLCJwIjoiOWYyYzRlMWE3YjNkNWM2MCIsImsiOiJsZWRnZXIiLCJ0IjoiMjAyNi0xMC0xMlQwOTowMDowMFoiLCJpIjoiNTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDExIn0\"\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics/earnings?completed_since=2026-10-01&cursor=eyJ2IjoxLCJwIjoiOWYyYzRlMWE3YjNkNWM2MCIsImsiOiJsZWRnZXIiLCJ0IjoiMjAyNi0xMC0xMlQwOTowMDowMFoiLCJpIjoiNTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDExIn0&customer_reference=customer-1001&timezone=UTC&limit=500","description":"Sync estimated earnings incrementally. Each row is one completed transaction with its customer_reference and earnings, in completion order. Save next_cursor after storing a page and pass it alone on your next read; you receive each completion once. Upsert rows by reference. Reconcile with /api/deriv/statistics/earnings/customers, because corrected rows are not resent. Rows sum to the earnings in /api/deriv/statistics for the same completion period. Shares the statistics rate limit."},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics/earnings?completed_since=2026-10-01&cursor=eyJ2IjoxLCJwIjoiOWYyYzRlMWE3YjNkNWM2MCIsImsiOiJsZWRnZXIiLCJ0IjoiMjAyNi0xMC0xMlQwOTowMDowMFoiLCJpIjoiNTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDExIn0&customer_reference=customer-1001&timezone=UTC&limit=500","description":"Sync estimated earnings incrementally. Each row is one completed transaction with its customer_reference and earnings, in completion order. Save next_cursor after storing a page and pass it alone on your next read; you receive each completion once. Upsert rows by reference. Reconcile with /api/deriv/statistics/earnings/customers, because corrected rows are not resent. Rows sum to the earnings in /api/deriv/statistics for the same completion period. Shares the statistics rate limit."},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics/earnings?completed_since=2026-10-01&cursor=eyJ2IjoxLCJwIjoiOWYyYzRlMWE3YjNkNWM2MCIsImsiOiJsZWRnZXIiLCJ0IjoiMjAyNi0xMC0xMlQwOTowMDowMFoiLCJpIjoiNTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDExIn0&customer_reference=customer-1001&timezone=UTC&limit=500","description":"Sync estimated earnings incrementally. Each row is one completed transaction with its customer_reference and earnings, in completion order. Save next_cursor after storing a page and pass it alone on your next read; you receive each completion once. Upsert rows by reference. Reconcile with /api/deriv/statistics/earnings/customers, because corrected rows are not resent. Rows sum to the earnings in /api/deriv/statistics for the same completion period. Shares the statistics rate limit."},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics/earnings?completed_since=2026-10-01&cursor=eyJ2IjoxLCJwIjoiOWYyYzRlMWE3YjNkNWM2MCIsImsiOiJsZWRnZXIiLCJ0IjoiMjAyNi0xMC0xMlQwOTowMDowMFoiLCJpIjoiNTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDExIn0&customer_reference=customer-1001&timezone=UTC&limit=500","description":"Sync estimated earnings incrementally. Each row is one completed transaction with its customer_reference and earnings, in completion order. Save next_cursor after storing a page and pass it alone on your next read; you receive each completion once. Upsert rows by reference. Reconcile with /api/deriv/statistics/earnings/customers, because corrected rows are not resent. Rows sum to the earnings in /api/deriv/statistics for the same completion period. Shares the statistics rate limit."},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics/earnings?completed_since=2026-10-01&cursor=eyJ2IjoxLCJwIjoiOWYyYzRlMWE3YjNkNWM2MCIsImsiOiJsZWRnZXIiLCJ0IjoiMjAyNi0xMC0xMlQwOTowMDowMFoiLCJpIjoiNTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDExIn0&customer_reference=customer-1001&timezone=UTC&limit=500","description":"Sync estimated earnings incrementally. Each row is one completed transaction with its customer_reference and earnings, in completion order. Save next_cursor after storing a page and pass it alone on your next read; you receive each completion once. Upsert rows by reference. Reconcile with /api/deriv/statistics/earnings/customers, because corrected rows are not resent. Rows sum to the earnings in /api/deriv/statistics for the same completion period. Shares the statistics rate limit."},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics/earnings?completed_since=2026-10-01&cursor=eyJ2IjoxLCJwIjoiOWYyYzRlMWE3YjNkNWM2MCIsImsiOiJsZWRnZXIiLCJ0IjoiMjAyNi0xMC0xMlQwOTowMDowMFoiLCJpIjoiNTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDExIn0&customer_reference=customer-1001&timezone=UTC&limit=500","description":"Sync estimated earnings incrementally. Each row is one completed transaction with its customer_reference and earnings, in completion order. Save next_cursor after storing a page and pass it alone on your next read; you receive each completion once. Upsert rows by reference. Reconcile with /api/deriv/statistics/earnings/customers, because corrected rows are not resent. Rows sum to the earnings in /api/deriv/statistics for the same completion period. Shares the statistics rate limit."},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"}]},{"name":"Get earnings by customer","request":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics/earnings/customers?from=2026-10-12&to=2026-10-12&timezone=UTC&granularity=day&cursor=eyJ2IjoxLCJwIjoiOWYyYzRlMWE3YjNkNWM2MCIsImsiOiJsZWRnZXIiLCJ0IjoiMjAyNi0xMC0xMlQwOTowMDowMFoiLCJpIjoiNTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDExIn0&limit=500","description":"Get estimated earnings for a completion period, one row per customer_reference, optionally split by day, week or month. totals covers every page and matches the earnings in /api/deriv/statistics for the same period. Use it to reconcile data synced from /api/deriv/statistics/earnings."},"response":[{"name":"Successful request.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics/earnings/customers?from=2026-10-12&to=2026-10-12&timezone=UTC&granularity=day&cursor=eyJ2IjoxLCJwIjoiOWYyYzRlMWE3YjNkNWM2MCIsImsiOiJsZWRnZXIiLCJ0IjoiMjAyNi0xMC0xMlQwOTowMDowMFoiLCJpIjoiNTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDExIn0&limit=500","description":"Get estimated earnings for a completion period, one row per customer_reference, optionally split by day, week or month. totals covers every page and matches the earnings in /api/deriv/statistics for the same period. Use it to reconcile data synced from /api/deriv/statistics/earnings."},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"message\": \"Earnings retrieved successfully\",\n  \"data\": {\n    \"as_of\": \"2026-10-12T09:05:00Z\",\n    \"from\": \"2026-10-12T00:00:00Z\",\n    \"to\": \"2026-10-13T00:00:00Z\",\n    \"timezone\": \"UTC\",\n    \"granularity\": \"day\",\n    \"partial_period\": true,\n    \"totals\": {\n      \"currency\": \"USD\",\n      \"basis\": \"estimated_gross_fx_spread_by_completion\",\n      \"partner_share_bps\": 4800,\n      \"deripay_share_bps\": 5200,\n      \"gross_earnings\": \"0.20\",\n      \"partner_earnings\": \"0.10\",\n      \"deripay_earnings\": \"0.10\",\n      \"included_transactions\": 1,\n      \"excluded_transactions\": 0\n    },\n    \"customers\": [\n      {\n        \"customer_reference\": \"customer-1001\",\n        \"period\": \"2026-10-12\",\n        \"first_completed_at\": \"2026-10-12T09:00:00Z\",\n        \"last_completed_at\": \"2026-10-12T09:00:00Z\",\n        \"currency\": \"USD\",\n        \"basis\": \"estimated_gross_fx_spread_by_completion\",\n        \"partner_share_bps\": 4800,\n        \"deripay_share_bps\": 5200,\n        \"gross_earnings\": \"0.20\",\n        \"partner_earnings\": \"0.10\",\n        \"deripay_earnings\": \"0.10\",\n        \"included_transactions\": 1,\n        \"excluded_transactions\": 0\n      }\n    ],\n    \"has_more\": false,\n    \"next_cursor\": null\n  }\n}"},{"name":"Check the request fields and current transaction state.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics/earnings/customers?from=2026-10-12&to=2026-10-12&timezone=UTC&granularity=day&cursor=eyJ2IjoxLCJwIjoiOWYyYzRlMWE3YjNkNWM2MCIsImsiOiJsZWRnZXIiLCJ0IjoiMjAyNi0xMC0xMlQwOTowMDowMFoiLCJpIjoiNTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDExIn0&limit=500","description":"Get estimated earnings for a completion period, one row per customer_reference, optionally split by day, week or month. totals covers every page and matches the earnings in /api/deriv/statistics for the same period. Use it to reconcile data synced from /api/deriv/statistics/earnings."},"status":"INVALID_REQUEST","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_REQUEST\",\n    \"message\": \"Check the request fields and current transaction state.\"\n  }\n}"},{"name":"Check your API key and reconnect the customer's Deriv account if necessary.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics/earnings/customers?from=2026-10-12&to=2026-10-12&timezone=UTC&granularity=day&cursor=eyJ2IjoxLCJwIjoiOWYyYzRlMWE3YjNkNWM2MCIsImsiOiJsZWRnZXIiLCJ0IjoiMjAyNi0xMC0xMlQwOTowMDowMFoiLCJpIjoiNTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDExIn0&limit=500","description":"Get estimated earnings for a completion period, one row per customer_reference, optionally split by day, week or month. totals covers every page and matches the earnings in /api/deriv/statistics for the same period. Use it to reconcile data synced from /api/deriv/statistics/earnings."},"status":"AUTHENTICATION_REQUIRED","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTHENTICATION_REQUIRED\",\n    \"message\": \"Check your API key and reconnect the customer's Deriv account if necessary.\"\n  }\n}"},{"name":"This operation is not permitted for this key, workspace, or connection.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics/earnings/customers?from=2026-10-12&to=2026-10-12&timezone=UTC&granularity=day&cursor=eyJ2IjoxLCJwIjoiOWYyYzRlMWE3YjNkNWM2MCIsImsiOiJsZWRnZXIiLCJ0IjoiMjAyNi0xMC0xMlQwOTowMDowMFoiLCJpIjoiNTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDExIn0&limit=500","description":"Get estimated earnings for a completion period, one row per customer_reference, optionally split by day, week or month. totals covers every page and matches the earnings in /api/deriv/statistics for the same period. Use it to reconcile data synced from /api/deriv/statistics/earnings."},"status":"ACCESS_DENIED","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ACCESS_DENIED\",\n    \"message\": \"This operation is not permitted for this key, workspace, or connection.\"\n  }\n}"},{"name":"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics/earnings/customers?from=2026-10-12&to=2026-10-12&timezone=UTC&granularity=day&cursor=eyJ2IjoxLCJwIjoiOWYyYzRlMWE3YjNkNWM2MCIsImsiOiJsZWRnZXIiLCJ0IjoiMjAyNi0xMC0xMlQwOTowMDowMFoiLCJpIjoiNTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDExIn0&limit=500","description":"Get estimated earnings for a completion period, one row per customer_reference, optionally split by day, week or month. totals covers every page and matches the earnings in /api/deriv/statistics for the same period. Use it to reconcile data synced from /api/deriv/statistics/earnings."},"status":"RATE_LIMITED","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMITED\",\n    \"message\": \"Wait before retrying. Honor Retry-After when present and reuse the original operation identity.\"\n  }\n}"},{"name":"The request could not be completed. Check the existing operation before retrying.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics/earnings/customers?from=2026-10-12&to=2026-10-12&timezone=UTC&granularity=day&cursor=eyJ2IjoxLCJwIjoiOWYyYzRlMWE3YjNkNWM2MCIsImsiOiJsZWRnZXIiLCJ0IjoiMjAyNi0xMC0xMlQwOTowMDowMFoiLCJpIjoiNTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDExIn0&limit=500","description":"Get estimated earnings for a completion period, one row per customer_reference, optionally split by day, week or month. totals covers every page and matches the earnings in /api/deriv/statistics for the same period. Use it to reconcile data synced from /api/deriv/statistics/earnings."},"status":"INTERNAL_ERROR","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INTERNAL_ERROR\",\n    \"message\": \"The request could not be completed. Check the existing operation before retrying.\"\n  }\n}"},{"name":"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"{{apiKey}}"},{"key":"X-Deripay-API-Version","value":"2"},{"key":"Accept","value":"application/json"}],"url":"{{baseUrl}}/api/deriv/statistics/earnings/customers?from=2026-10-12&to=2026-10-12&timezone=UTC&granularity=day&cursor=eyJ2IjoxLCJwIjoiOWYyYzRlMWE3YjNkNWM2MCIsImsiOiJsZWRnZXIiLCJ0IjoiMjAyNi0xMC0xMlQwOTowMDowMFoiLCJpIjoiNTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDExIn0&limit=500","description":"Get estimated earnings for a completion period, one row per customer_reference, optionally split by day, week or month. totals covers every page and matches the earnings in /api/deriv/statistics for the same period. Use it to reconcile data synced from /api/deriv/statistics/earnings."},"status":"SERVICE_UNAVAILABLE","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SERVICE_UNAVAILABLE\",\n    \"message\": \"This capability is temporarily unavailable. Read the existing operation and retry with the same identity.\"\n  }\n}"}]}]}