{"success":true,"audience":"apps","title":"Amnen Pay Apps API","description":"Parameters for Amnen Pay app APIs. For a POST, put required body fields in the JSON request body. Optional fields may be omitted.","total":712,"operations":[{"method":"GET","path":"/affiliate/dashboard","summary":"List dashboard","description":"`GET /api/v1/affiliate/dashboard` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/affiliates/track","summary":"Create track","description":"`POST /api/v1/affiliates/track` — introspected from the live route handler.","parameters":[{"name":"referralCode","in":"body","required":true,"type":"string","description":"","example":"example-referralCode"},{"name":"referredUserId","in":"body","required":true,"type":"string","description":"","example":"example-referredUserId"},{"name":"source","in":"body","required":false,"type":"string","description":"","example":"example-source"},{"name":"metadata","in":"body","required":false,"type":"string","description":"","example":"example-metadata"}],"exampleBody":{"referralCode":"example-referralCode","referredUserId":"example-referredUserId","source":"example-source","metadata":"example-metadata"}},{"method":"GET","path":"/agent-payouts","summary":"List agent payouts","description":"`GET /api/v1/agent-payouts` — introspected from the live route handler.","parameters":[{"name":"action","in":"query","required":false,"type":"string","description":"action query parameter"},{"name":"id","in":"query","required":false,"type":"string","description":"id query parameter"},{"name":"period","in":"query","required":false,"type":"string","description":"period query parameter"}],"exampleBody":null},{"method":"POST","path":"/agent-payouts","summary":"Create agent payouts","description":"`POST /api/v1/agent-payouts` — introspected from the live route handler.","parameters":[{"name":"action","in":"query","required":false,"type":"string","description":"action query parameter"},{"name":"id","in":"query","required":false,"type":"string","description":"id query parameter"},{"name":"period","in":"query","required":false,"type":"string","description":"period query parameter"}],"exampleBody":null},{"method":"GET","path":"/agent/2fa","summary":"List 2fa","description":"`GET /api/v1/agent/2fa` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/agent/2fa","summary":"Create 2fa","description":"`POST /api/v1/agent/2fa` — introspected from the live route handler.","parameters":[{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"code","in":"body","required":false,"type":"string","description":"","example":"example-code"}],"exampleBody":{"action":"example-action","code":"example-code"}},{"method":"POST","path":"/agent/account-exists","summary":"Create account exists","description":"`POST /api/v1/agent/account-exists` — introspected from the live route handler.","parameters":[{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"}],"exampleBody":{"phone":"example-phone"}},{"method":"GET","path":"/agent/balance","summary":"Agent float balance","description":"","parameters":[],"exampleBody":null},{"method":"POST","path":"/agent/cash-in","summary":"Create cash in","description":"`POST /api/v1/agent/cash-in` — introspected from the live route handler.","parameters":[{"name":"customerPhone","in":"body","required":true,"type":"string","description":"","example":"example-customerPhone"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"}],"exampleBody":{"customerPhone":"example-customerPhone","amount":"example-amount","currency":"example-currency"}},{"method":"GET","path":"/agent/commission/payout-request","summary":"List payout request","description":"`GET /api/v1/agent/commission/payout-request` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"}],"exampleBody":null},{"method":"POST","path":"/agent/commission/payout-request","summary":"Create payout request","description":"`POST /api/v1/agent/commission/payout-request` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"payoutMethod","in":"body","required":false,"type":"string","description":"","example":"example-payoutMethod"},{"name":"bankAccountId","in":"body","required":false,"type":"string","description":"","example":"example-bankAccountId"}],"exampleBody":{"amount":"example-amount","payoutMethod":"example-payoutMethod","bankAccountId":"example-bankAccountId"}},{"method":"GET","path":"/agent/commission","summary":"List commission","description":"`GET /api/v1/agent/commission` — introspected from the live route handler.","parameters":[{"name":"period","in":"query","required":false,"type":"string","description":"period query parameter"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"}],"exampleBody":null},{"method":"POST","path":"/agent/deposit/confirm","summary":"Create confirm","description":"`POST /api/v1/agent/deposit/confirm` — introspected from the live route handler.","parameters":[{"name":"depositId","in":"body","required":true,"type":"string","description":"","example":"example-depositId"},{"name":"otp","in":"body","required":false,"type":"string","description":"","example":"example-otp"}],"exampleBody":{"depositId":"example-depositId","otp":"example-otp"}},{"method":"POST","path":"/agent/deposit","summary":"Create deposit","description":"`POST /api/v1/agent/deposit` — introspected from the live route handler.","parameters":[{"name":"customerPhone","in":"body","required":true,"type":"string","description":"","example":"example-customerPhone"},{"name":"amount","in":"body","required":true,"type":"number","description":"","example":100},{"name":"notes","in":"body","required":false,"type":"string","description":"","example":"example-notes"},{"name":"reference","in":"body","required":false,"type":"string","description":"","example":"example-reference"}],"exampleBody":{"customerPhone":"example-customerPhone","amount":100,"notes":"example-notes","reference":"example-reference"}},{"method":"GET","path":"/agent/enablement/exam","summary":"List exam","description":"`GET /api/v1/agent/enablement/exam` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/agent/enablement","summary":"List enablement","description":"`GET /api/v1/agent/enablement` — introspected from the live route handler.","parameters":[{"name":"export","in":"query","required":false,"type":"string","description":"export query parameter"}],"exampleBody":null},{"method":"POST","path":"/agent/enablement","summary":"Create enablement","description":"`POST /api/v1/agent/enablement` — introspected from the live route handler.","parameters":[{"name":"export","in":"query","required":false,"type":"string","description":"export query parameter"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"moduleId","in":"body","required":true,"type":"string","description":"","example":"example-moduleId"},{"name":"lessonId","in":"body","required":true,"type":"string","description":"","example":"example-lessonId"},{"name":"answers","in":"body","required":false,"type":"string","description":"","example":"example-answers"}],"exampleBody":{"action":"example-action","moduleId":"example-moduleId","lessonId":"example-lessonId","answers":"example-answers"}},{"method":"POST","path":"/agent/kyc/reply","summary":"Create reply","description":"`POST /api/v1/agent/kyc/reply` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/agent/kyc/status","summary":"Get KYC status","description":"","parameters":[],"exampleBody":null},{"method":"POST","path":"/agent/kyc/submit","summary":"Submit KYC (agent-assisted)","description":"","parameters":[{"name":"fullName","in":"body","required":false,"type":"string","description":"","example":"example-fullName"},{"name":"documentType","in":"body","required":true,"type":"string","enum":["national_id","passport","drivers_license"],"description":"","example":"national_id"},{"name":"documentNumber","in":"body","required":true,"type":"string","description":"","example":"example-documentNumber"},{"name":"documentFront","in":"body","required":false,"type":"string","description":"URL or base64 of front image","example":"example-documentFront"},{"name":"documentBack","in":"body","required":false,"type":"string","description":"","example":"example-documentBack"},{"name":"selfie","in":"body","required":false,"type":"string","description":"","example":"example-selfie"},{"name":"dateOfBirth","in":"body","required":false,"type":"string","format":"date","description":"","example":"example-dateOfBirth"},{"name":"address","in":"body","required":false,"type":"string","description":"","example":"example-address"}],"exampleBody":{"fullName":"example-fullName","documentType":"national_id","documentNumber":"example-documentNumber","documentFront":"example-documentFront","documentBack":"example-documentBack","selfie":"example-selfie","dateOfBirth":"example-dateOfBirth","address":"example-address"}},{"method":"POST","path":"/agent/login","summary":"Create login","description":"`POST /api/v1/agent/login` — introspected from the live route handler.","parameters":[{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"password","in":"body","required":true,"type":"string","description":"","example":"YourPassword123!"}],"exampleBody":{"phone":"example-phone","password":"YourPassword123!"}},{"method":"GET","path":"/agent/money-preview","summary":"List money preview","description":"`GET /api/v1/agent/money-preview` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/agent/money-preview","summary":"Create money preview","description":"`POST /api/v1/agent/money-preview` — introspected from the live route handler.","parameters":[{"name":"amount","in":"body","required":false,"type":"string","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"}],"exampleBody":{"amount":"example-amount","currency":"example-currency"}},{"method":"POST","path":"/agent/payouts/complete","summary":"Create complete","description":"`POST /api/v1/agent/payouts/complete` — introspected from the live route handler.","parameters":[{"name":"payoutId","in":"body","required":true,"type":"string","description":"","example":"example-payoutId"},{"name":"completedAt","in":"body","required":false,"type":"string","description":"","example":"example-completedAt"},{"name":"transactionId","in":"body","required":false,"type":"string","description":"","example":"example-transactionId"}],"exampleBody":{"payoutId":"example-payoutId","completedAt":"example-completedAt","transactionId":"example-transactionId"}},{"method":"GET","path":"/agent/payouts","summary":"List payouts","description":"`GET /api/v1/agent/payouts` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/agent/reset-password","summary":"Create reset password","description":"`POST /api/v1/agent/reset-password` — introspected from the live route handler.","parameters":[{"name":"otp","in":"body","required":true,"type":"string","description":"","example":"example-otp"},{"name":"newPassword","in":"body","required":true,"type":"string","description":"","example":"example-newPassword"},{"name":"firebaseVerified","in":"body","required":true,"type":"string","description":"","example":"example-firebaseVerified"},{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"}],"exampleBody":{"otp":"example-otp","newPassword":"example-newPassword","firebaseVerified":"example-firebaseVerified","phone":"example-phone"}},{"method":"GET","path":"/agent/sessions","summary":"List sessions","description":"`GET /api/v1/agent/sessions` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/agent/sessions","summary":"Create sessions","description":"`POST /api/v1/agent/sessions` — introspected from the live route handler.","parameters":[{"name":"sessionId","in":"body","required":true,"type":"string","description":"","example":"example-sessionId"},{"name":"keepCurrent","in":"body","required":false,"type":"string","description":"","example":"example-keepCurrent"}],"exampleBody":{"sessionId":"example-sessionId","keepCurrent":"example-keepCurrent"}},{"method":"GET","path":"/agent/settings","summary":"List settings","description":"`GET /api/v1/agent/settings` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"PUT","path":"/agent/settings","summary":"Replace settings","description":"`PUT /api/v1/agent/settings` — introspected from the live route handler.","parameters":[{"name":"monday","in":"body","required":true,"type":"string","description":"","example":"example-monday"},{"name":"tuesday","in":"body","required":true,"type":"string","description":"","example":"example-tuesday"},{"name":"wednesday","in":"body","required":true,"type":"string","description":"","example":"example-wednesday"},{"name":"thursday","in":"body","required":true,"type":"string","description":"","example":"example-thursday"},{"name":"friday","in":"body","required":true,"type":"string","description":"","example":"example-friday"},{"name":"saturday","in":"body","required":true,"type":"string","description":"","example":"example-saturday"},{"name":"sunday","in":"body","required":true,"type":"string","description":"","example":"example-sunday"},{"name":"open","in":"body","required":true,"type":"string","description":"","example":"example-open"},{"name":"close","in":"body","required":true,"type":"string","description":"","example":"example-close"},{"name":"sms","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"email","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"push","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"transactionAlerts","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"dailySummary","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"weeklySummary","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"lowBalanceAlert","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"lowBalanceThreshold","in":"body","required":false,"type":"number","description":"","example":0},{"name":"marketing","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"completedPayouts","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"lowBalance","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"dailyLimit","in":"body","required":false,"type":"number","description":"","example":0},{"name":"notificationPreferences","in":"body","required":false,"type":"string","description":"","example":"example-notificationPreferences"},{"name":"settlementSchedule","in":"body","required":false,"type":"string","enum":["daily","weekly","manual"],"description":"","example":"daily"},{"name":"settlementDay","in":"body","required":false,"type":"number","description":"","example":0},{"name":"autoSettlement","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"businessHours","in":"body","required":false,"type":"string","description":"","example":"example-businessHours"},{"name":"preferences","in":"body","required":false,"type":"string","description":"","example":"example-preferences"},{"name":"security","in":"body","required":false,"type":"string","description":"","example":"example-security"}],"exampleBody":{"monday":"example-monday","tuesday":"example-tuesday","wednesday":"example-wednesday","thursday":"example-thursday","friday":"example-friday","saturday":"example-saturday","sunday":"example-sunday","open":"example-open","close":"example-close","sms":false,"email":false,"push":false,"transactionAlerts":false,"dailySummary":false,"weeklySummary":false,"lowBalanceAlert":false,"lowBalanceThreshold":0,"marketing":false,"completedPayouts":false,"lowBalance":false,"dailyLimit":0,"notificationPreferences":"example-notificationPreferences","settlementSchedule":"daily","settlementDay":0,"autoSettlement":false,"businessHours":"example-businessHours","preferences":"example-preferences","security":"example-security"}},{"method":"GET","path":"/agent/transactions","summary":"List transactions","description":"`GET /api/v1/agent/transactions` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"fromDate","in":"query","required":false,"type":"string","description":"fromDate query parameter"},{"name":"toDate","in":"query","required":false,"type":"string","description":"toDate query parameter"},{"name":"customerPhone","in":"query","required":false,"type":"string","description":"customerPhone query parameter"}],"exampleBody":null},{"method":"POST","path":"/agent/withdraw/confirm","summary":"Create confirm","description":"`POST /api/v1/agent/withdraw/confirm` — introspected from the live route handler.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"},{"name":"code","in":"body","required":true,"type":"string","description":"","example":"example-code"},{"name":"withdrawalId","in":"body","required":false,"type":"string","description":"","example":"example-withdrawalId"}],"exampleBody":{"code":"example-code","withdrawalId":"example-withdrawalId"}},{"method":"POST","path":"/agent/withdraw/verify-code","summary":"Create verify code","description":"`POST /api/v1/agent/withdraw/verify-code` — introspected from the live route handler.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"},{"name":"code","in":"body","required":true,"type":"string","description":"","example":"example-code"}],"exampleBody":{"code":"example-code"}},{"method":"POST","path":"/agents/{id}/activate","summary":"Create activate","description":"`POST /api/v1/agents/{id}/activate` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"POST","path":"/agents/{id}/assisted-kyc","summary":"Create assisted kyc","description":"`POST /api/v1/agents/{id}/assisted-kyc` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"userPhone","in":"body","required":true,"type":"string","description":"","example":"example-userPhone"},{"name":"idType","in":"body","required":true,"type":"string","enum":["national_id","passport","driving_license","voter_id"],"description":"","example":"national_id"},{"name":"idNumber","in":"body","required":true,"type":"string","description":"","example":"example-idNumber"},{"name":"idExpiryDate","in":"body","required":false,"type":"string","description":"","example":"example-idExpiryDate"},{"name":"fullName","in":"body","required":true,"type":"string","description":"","example":"example-fullName"},{"name":"dateOfBirth","in":"body","required":true,"type":"string","description":"","example":"example-dateOfBirth"},{"name":"address","in":"body","required":false,"type":"string","description":"","example":"example-address"},{"name":"city","in":"body","required":false,"type":"string","description":"","example":"example-city"},{"name":"region","in":"body","required":false,"type":"string","description":"","example":"example-region"},{"name":"selfieVerified","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"documentVerified","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"notes","in":"body","required":false,"type":"string","description":"","example":"example-notes"}],"exampleBody":{"userPhone":"example-userPhone","idType":"national_id","idNumber":"example-idNumber","idExpiryDate":"example-idExpiryDate","fullName":"example-fullName","dateOfBirth":"example-dateOfBirth","address":"example-address","city":"example-city","region":"example-region","selfieVerified":false,"documentVerified":false,"notes":"example-notes"}},{"method":"POST","path":"/agents/{id}/cash-in","summary":"Agent cash-in","description":"Customer deposits physical cash with an agent; agent float decreases, customer wallet increases.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"Resource ID"},{"name":"customerIdentifier","in":"body","required":true,"type":"string","description":"","example":"example-customerIdentifier"},{"name":"amount","in":"body","required":true,"type":"number","description":"","example":100}],"exampleBody":{"customerIdentifier":"example-customerIdentifier","amount":100}},{"method":"POST","path":"/agents/{id}/cash-out","summary":"Agent cash-out","description":"Customer withdraws physical cash from an agent.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"Resource ID"},{"name":"customerIdentifier","in":"body","required":true,"type":"string","description":"","example":"example-customerIdentifier"},{"name":"amount","in":"body","required":true,"type":"number","description":"","example":100}],"exampleBody":{"customerIdentifier":"example-customerIdentifier","amount":100}},{"method":"GET","path":"/agents/{id}/commissions","summary":"Agent commissions","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"Resource ID"}],"exampleBody":null},{"method":"POST","path":"/agents/{id}/commissions","summary":"Create commissions","description":"`POST /api/v1/agents/{id}/commissions` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"}],"exampleBody":{"action":"example-action"}},{"method":"GET","path":"/agents/{id}/dashboard","summary":"List dashboard","description":"`GET /api/v1/agents/{id}/dashboard` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"POST","path":"/agents/{id}/onboard-user","summary":"Create onboard user","description":"`POST /api/v1/agents/{id}/onboard-user` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"email","in":"body","required":false,"type":"string","format":"email","description":"","example":"user@example.com"},{"name":"idType","in":"body","required":false,"type":"string","description":"","example":"example-idType"},{"name":"idNumber","in":"body","required":false,"type":"string","description":"","example":"example-idNumber"},{"name":"address","in":"body","required":false,"type":"string","description":"","example":"example-address"},{"name":"city","in":"body","required":false,"type":"string","description":"","example":"example-city"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"dateOfBirth","in":"body","required":false,"type":"string","description":"","example":"example-dateOfBirth"},{"name":"initialDeposit","in":"body","required":false,"type":"number","description":"","example":0}],"exampleBody":{"phone":"example-phone","name":"example-name","email":"user@example.com","idType":"example-idType","idNumber":"example-idNumber","address":"example-address","city":"example-city","country":"example-country","dateOfBirth":"example-dateOfBirth","initialDeposit":0}},{"method":"POST","path":"/agents/{id}/set-password","summary":"Create set password","description":"`POST /api/v1/agents/{id}/set-password` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"password","in":"body","required":true,"type":"string","description":"","example":"YourPassword123!"}],"exampleBody":{"password":"YourPassword123!"}},{"method":"GET","path":"/agents/{id}/status","summary":"List status","description":"`GET /api/v1/agents/{id}/status` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PUT","path":"/agents/{id}/status","summary":"Replace status","description":"`PUT /api/v1/agents/{id}/status` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"reason","in":"body","required":false,"type":"string","description":"","example":"example-reason"},{"name":"notifyAgent","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"suspensionEndDate","in":"body","required":false,"type":"string","description":"","example":"example-suspensionEndDate"}],"exampleBody":{"reason":"example-reason","notifyAgent":false,"suspensionEndDate":"example-suspensionEndDate"}},{"method":"GET","path":"/agents/{id}/transactions","summary":"List transactions","description":"`GET /api/v1/agents/{id}/transactions` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"skip","in":"query","required":false,"type":"string","description":"skip query parameter"},{"name":"startDate","in":"query","required":false,"type":"string","description":"startDate query parameter"},{"name":"endDate","in":"query","required":false,"type":"string","description":"endDate query parameter"}],"exampleBody":null},{"method":"POST","path":"/agents/{id}/verify-kyc","summary":"Create verify kyc","description":"`POST /api/v1/agents/{id}/verify-kyc` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"POST","path":"/agents/kyc/submit","summary":"Create submit","description":"`POST /api/v1/agents/kyc/submit` — introspected from the live route handler.","parameters":[{"name":"type","in":"body","required":true,"type":"string","description":"","example":"example-type"},{"name":"documentUrl","in":"body","required":true,"type":"string","description":"","example":"example-documentUrl"},{"name":"documentData","in":"body","required":false,"type":"string","description":"","example":"example-documentData"},{"name":"metadata","in":"body","required":false,"type":"object","description":"","example":{}},{"name":"agentId","in":"body","required":true,"type":"string","description":"","example":"example-agentId"},{"name":"documents","in":"body","required":true,"type":"array","description":"","example":[]},{"name":"selfieUrl","in":"body","required":true,"type":"string","description":"","example":"example-selfieUrl"},{"name":"selfieData","in":"body","required":false,"type":"string","description":"","example":"example-selfieData"},{"name":"address","in":"body","required":false,"type":"string","description":"","example":"example-address"},{"name":"city","in":"body","required":false,"type":"string","description":"","example":"example-city"},{"name":"region","in":"body","required":false,"type":"string","description":"","example":"example-region"},{"name":"postalCode","in":"body","required":false,"type":"string","description":"","example":"example-postalCode"},{"name":"bankName","in":"body","required":false,"type":"string","description":"","example":"example-bankName"},{"name":"bankAccountNumber","in":"body","required":false,"type":"string","description":"","example":"example-bankAccountNumber"},{"name":"bankAccountName","in":"body","required":false,"type":"string","description":"","example":"example-bankAccountName"}],"exampleBody":{"type":"example-type","documentUrl":"example-documentUrl","documentData":"example-documentData","metadata":{},"agentId":"example-agentId","documents":[],"selfieUrl":"example-selfieUrl","selfieData":"example-selfieData","address":"example-address","city":"example-city","region":"example-region","postalCode":"example-postalCode","bankName":"example-bankName","bankAccountNumber":"example-bankAccountNumber","bankAccountName":"example-bankAccountName"}},{"method":"POST","path":"/agents/kyc/verify","summary":"Create verify","description":"`POST /api/v1/agents/kyc/verify` — introspected from the live route handler.","parameters":[{"name":"agentId","in":"body","required":true,"type":"string","description":"","example":"example-agentId"},{"name":"notes","in":"body","required":false,"type":"string","description":"","example":"example-notes"},{"name":"activateAgent","in":"body","required":false,"type":"boolean","description":"","example":false}],"exampleBody":{"agentId":"example-agentId","notes":"example-notes","activateAgent":false}},{"method":"GET","path":"/agents/list","summary":"List list","description":"`GET /api/v1/agents/list` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"tier","in":"query","required":false,"type":"string","description":"tier query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"kycStatus","in":"query","required":false,"type":"string","description":"kycStatus query parameter"},{"name":"country","in":"query","required":false,"type":"string","description":"country query parameter"},{"name":"city","in":"query","required":false,"type":"string","description":"city query parameter"},{"name":"search","in":"query","required":false,"type":"string","description":"search query parameter"},{"name":"sortBy","in":"query","required":false,"type":"string","description":"sortBy query parameter"},{"name":"sortOrder","in":"query","required":false,"type":"string","description":"sortOrder query parameter"}],"exampleBody":null},{"method":"GET","path":"/agents/me","summary":"List me","description":"`GET /api/v1/agents/me` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/agents/register","summary":"Create register","description":"`POST /api/v1/agents/register` — introspected from the live route handler.","parameters":[{"name":"lastName","in":"body","required":true,"type":"string","description":"","example":"example-lastName"},{"name":"email","in":"body","required":false,"type":"string","format":"email","description":"","example":"user@example.com"},{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"agentType","in":"body","required":false,"type":"string","description":"","example":"example-agentType"},{"name":"city","in":"body","required":true,"type":"string","description":"","example":"example-city"},{"name":"country","in":"body","required":true,"type":"string","description":"","example":"example-country"},{"name":"idDocument","in":"body","required":false,"type":"string","description":"","example":"example-idDocument"}],"exampleBody":{"lastName":"example-lastName","email":"user@example.com","phone":"example-phone","agentType":"example-agentType","city":"example-city","country":"example-country","idDocument":"example-idDocument"}},{"method":"GET","path":"/agents","summary":"List agents","description":"","parameters":[{"name":"page","in":"query","required":false,"type":"integer","description":"Page number"},{"name":"limit","in":"query","required":false,"type":"integer","description":"Items per page"}],"exampleBody":null},{"method":"POST","path":"/agents","summary":"Create agent","description":"","parameters":[{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"email","in":"body","required":false,"type":"string","description":"","example":"example-email"},{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"region","in":"body","required":false,"type":"string","description":"","example":"example-region"},{"name":"commissionRate","in":"body","required":false,"type":"number","description":"","example":0},{"name":"password","in":"body","required":false,"type":"string","description":"","example":"YourPassword123!"}],"exampleBody":{"name":"example-name","email":"example-email","phone":"+251911223344","region":"example-region","commissionRate":0,"password":"YourPassword123!"}},{"method":"POST","path":"/airtime/buy","summary":"Create buy","description":"`POST /api/v1/airtime/buy` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/airtime/rates","summary":"List rates","description":"`GET /api/v1/airtime/rates` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/airtime/sell","summary":"Create sell","description":"`POST /api/v1/airtime/sell` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/ambassadors/apply","summary":"Create apply","description":"`POST /api/v1/ambassadors/apply` — introspected from the live route handler.","parameters":[{"name":"fullName","in":"body","required":true,"type":"string","description":"","example":"example-fullName"},{"name":"email","in":"body","required":true,"type":"string","description":"","example":"example-email"},{"name":"phone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"},{"name":"tier","in":"body","required":true,"type":"string","description":"","example":"example-tier"},{"name":"countryCode","in":"body","required":false,"type":"string","description":"","example":"example-countryCode"},{"name":"region","in":"body","required":false,"type":"string","description":"","example":"example-region"},{"name":"campus","in":"body","required":false,"type":"string","description":"","example":"example-campus"},{"name":"audienceSize","in":"body","required":false,"type":"string","description":"","example":"example-audienceSize"},{"name":"channels","in":"body","required":false,"type":"string","description":"","example":"example-channels"},{"name":"motivation","in":"body","required":false,"type":"string","description":"","example":"example-motivation"}],"exampleBody":{"fullName":"example-fullName","email":"example-email","phone":"example-phone","tier":"example-tier","countryCode":"example-countryCode","region":"example-region","campus":"example-campus","audienceSize":"example-audienceSize","channels":"example-channels","motivation":"example-motivation"}},{"method":"POST","path":"/api-keys/{id}/rotate","summary":"Create rotate","description":"`POST /api/v1/api-keys/{id}/rotate` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PATCH","path":"/api-keys/{id}","summary":"Update api keys","description":"`PATCH /api/v1/api-keys/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"DELETE","path":"/api-keys/{id}","summary":"Delete api keys","description":"`DELETE /api/v1/api-keys/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/api-keys","summary":"List api keys","description":"`GET /api/v1/api-keys` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/api-keys","summary":"Create api keys","description":"`POST /api/v1/api-keys` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/auth/2fa/challenge","summary":"Create challenge","description":"`POST /api/v1/auth/2fa/challenge` — introspected from the live route handler.","parameters":[{"name":"challengeToken","in":"body","required":false,"type":"string","description":"","example":"example-challengeToken"},{"name":"code","in":"body","required":false,"type":"string","description":"","example":"example-code"}],"exampleBody":{"challengeToken":"example-challengeToken","code":"example-code"}},{"method":"GET","path":"/auth/2fa","summary":"List 2fa","description":"`GET /api/v1/auth/2fa` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/auth/2fa","summary":"Create 2fa","description":"`POST /api/v1/auth/2fa` — introspected from the live route handler.","parameters":[{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"code","in":"body","required":false,"type":"string","description":"","example":"example-code"}],"exampleBody":{"action":"example-action","code":"example-code"}},{"method":"POST","path":"/auth/account-exists","summary":"Create account exists","description":"`POST /api/v1/auth/account-exists` — introspected from the live route handler.","parameters":[{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"countryCode","in":"body","required":false,"type":"string","description":"","example":"example-countryCode"}],"exampleBody":{"phone":"example-phone","countryCode":"example-countryCode"}},{"method":"POST","path":"/auth/change-password","summary":"Create change password","description":"`POST /api/v1/auth/change-password` — introspected from the live route handler.","parameters":[{"name":"currentPassword","in":"body","required":true,"type":"string","description":"","example":"example-currentPassword"},{"name":"newPassword","in":"body","required":true,"type":"string","description":"","example":"example-newPassword"}],"exampleBody":{"currentPassword":"example-currentPassword","newPassword":"example-newPassword"}},{"method":"POST","path":"/auth/ensure-firebase-domain","summary":"Create ensure firebase domain","description":"`POST /api/v1/auth/ensure-firebase-domain` — introspected from the live route handler.","parameters":[{"name":"hostname","in":"body","required":false,"type":"string","description":"","example":"example-hostname"},{"name":"domain","in":"body","required":false,"type":"string","description":"","example":"example-domain"},{"name":"force","in":"body","required":false,"type":"string","description":"","example":"example-force"}],"exampleBody":{"hostname":"example-hostname","domain":"example-domain","force":"example-force"}},{"method":"POST","path":"/auth/firebase","summary":"Create firebase","description":"`POST /api/v1/auth/firebase` — introspected from the live route handler.","parameters":[{"name":"idToken","in":"body","required":true,"type":"string","description":"","example":"example-idToken"},{"name":"firstName","in":"body","required":false,"type":"string","description":"","example":"example-firstName"},{"name":"lastName","in":"body","required":false,"type":"string","description":"","example":"example-lastName"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"referralCode","in":"body","required":false,"type":"string","description":"","example":"example-referralCode"},{"name":"allowCreate","in":"body","required":true,"type":"string","description":"","example":"example-allowCreate"}],"exampleBody":{"idToken":"example-idToken","firstName":"example-firstName","lastName":"example-lastName","country":"example-country","referralCode":"example-referralCode","allowCreate":"example-allowCreate"}},{"method":"POST","path":"/auth/login","summary":"Login (password or OTP)","description":"Authenticates across all account types (admin, staff, agent, merchant, personal user). Supports email+password, phone+password, and passwordless phone+OTP. Rate limited.","parameters":[{"name":"email","in":"body","required":false,"type":"string","format":"email","description":"Optional. Use with password for email login.","example":"amina@example.com"},{"name":"phone","in":"body","required":false,"type":"string","description":"Optional. Use with password or otp for phone login.","example":"+251911223344"},{"name":"password","in":"body","required":false,"type":"string","format":"password","description":"Optional if otp is sent. Required for email or phone password login.","example":"YourPassword123!"},{"name":"otp","in":"body","required":false,"type":"string","description":"Optional one-time code for passwordless phone login. Use after POST /auth/send-otp.","example":"example-otp"}],"exampleBody":{"email":"amina@example.com","password":"StrongPass!23"}},{"method":"POST","path":"/auth/logout","summary":"Logout","description":"Invalidates the current session/refresh token.","parameters":[],"exampleBody":null},{"method":"GET","path":"/auth/me","summary":"Current account","description":"Returns the authenticated principal derived from the access token.","parameters":[],"exampleBody":null},{"method":"POST","path":"/auth/password","summary":"Create password","description":"`POST /api/v1/auth/password` — introspected from the live route handler.","parameters":[{"name":"currentPassword","in":"body","required":true,"type":"string","description":"","example":"example-currentPassword"},{"name":"newPassword","in":"body","required":true,"type":"string","description":"","example":"example-newPassword"}],"exampleBody":{"currentPassword":"example-currentPassword","newPassword":"example-newPassword"}},{"method":"PATCH","path":"/auth/password","summary":"Change password","description":"","parameters":[{"name":"currentPassword","in":"body","required":true,"type":"string","description":"","example":"example-currentPassword"},{"name":"newPassword","in":"body","required":true,"type":"string","description":"","example":"example-newPassword"}],"exampleBody":{"currentPassword":"example-currentPassword","newPassword":"example-newPassword"}},{"method":"POST","path":"/auth/refresh","summary":"Refresh access token","description":"Exchanges a valid refresh token for a new short-lived access token.","parameters":[{"name":"refreshToken","in":"body","required":true,"type":"string","description":"","example":"example-refreshToken"}],"exampleBody":{"refreshToken":"example-refreshToken"}},{"method":"POST","path":"/auth/register","summary":"Register a new account","description":"Creates a personal user, merchant, or agent account depending on `accountType`.","parameters":[{"name":"firstName","in":"body","required":true,"type":"string","description":"Given name","example":"Amina"},{"name":"lastName","in":"body","required":true,"type":"string","description":"Family name","example":"Yusuf"},{"name":"phone","in":"body","required":true,"type":"string","description":"Mobile number in international format","example":"+251911223344"},{"name":"password","in":"body","required":true,"type":"string","format":"password","description":"Min 8 chars with upper, lower, number, special","example":"YourPassword123!"},{"name":"email","in":"body","required":false,"type":"string","format":"email","description":"Optional. If omitted a tenant-scoped address is generated from the phone.","example":"user@example.com"},{"name":"country","in":"body","required":false,"type":"string","description":"ISO 3166-1 alpha-2. Optional; defaults from the signup site.","example":"ET"},{"name":"type","in":"body","required":false,"type":"string","enum":["user","merchant","agent"],"description":"Optional account kind. Defaults to user (or merchant if businessName is set).","example":"user"},{"name":"businessName","in":"body","required":false,"type":"string","description":"Optional. Required when type is merchant.","example":"example-businessName"},{"name":"name","in":"body","required":false,"type":"string","description":"Optional display name (merchant/agent).","example":"example-name"},{"name":"referralCode","in":"body","required":false,"type":"string","description":"Optional affiliate or ambassador code.","example":"example-referralCode"}],"exampleBody":{"firstName":"Amina","lastName":"Yusuf","phone":"+251911223344","password":"StrongPass!23","country":"ET","email":"amina@example.com"}},{"method":"POST","path":"/auth/reset-password","summary":"Create reset password","description":"`POST /api/v1/auth/reset-password` — introspected from the live route handler.","parameters":[{"name":"otp","in":"body","required":false,"type":"string","description":"","example":"example-otp"},{"name":"newPassword","in":"body","required":true,"type":"string","description":"","example":"example-newPassword"},{"name":"firebaseVerified","in":"body","required":false,"type":"string","description":"","example":"example-firebaseVerified"},{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"countryCode","in":"body","required":false,"type":"string","description":"","example":"example-countryCode"}],"exampleBody":{"otp":"example-otp","newPassword":"example-newPassword","firebaseVerified":"example-firebaseVerified","phone":"example-phone","countryCode":"example-countryCode"}},{"method":"POST","path":"/auth/send-email-otp","summary":"Send email OTP","description":"","parameters":[{"name":"email","in":"body","required":true,"type":"string","format":"email","description":"","example":"user@example.com"}],"exampleBody":{"email":"user@example.com"}},{"method":"POST","path":"/auth/send-login-otp","summary":"Create send login otp","description":"`POST /api/v1/auth/send-login-otp` — introspected from the live route handler.","parameters":[{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"countryCode","in":"body","required":false,"type":"string","description":"","example":"example-countryCode"}],"exampleBody":{"phone":"example-phone","countryCode":"example-countryCode"}},{"method":"POST","path":"/auth/send-otp","summary":"Send phone OTP","description":"Sends a one-time passcode via SMS for verification or passwordless login.","parameters":[{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"}],"exampleBody":{"phone":"+251911223344"}},{"method":"POST","path":"/auth/sessions/revoke","summary":"Create revoke","description":"`POST /api/v1/auth/sessions/revoke` — introspected from the live route handler.","parameters":[{"name":"sessionId","in":"body","required":false,"type":"string","description":"","example":"example-sessionId"}],"exampleBody":{"sessionId":"example-sessionId"}},{"method":"GET","path":"/auth/validate","summary":"List validate","description":"`GET /api/v1/auth/validate` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/auth/verify-email-otp","summary":"Verify email OTP","description":"","parameters":[{"name":"email","in":"body","required":true,"type":"string","description":"","example":"example-email"},{"name":"otp","in":"body","required":true,"type":"string","description":"","example":"example-otp"}],"exampleBody":{"email":"example-email","otp":"example-otp"}},{"method":"POST","path":"/auth/verify-otp","summary":"Verify phone OTP","description":"Verifies a previously sent SMS OTP.","parameters":[{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"otp","in":"body","required":true,"type":"string","description":"","example":"123456"}],"exampleBody":{"phone":"+251911223344","otp":"123456"}},{"method":"POST","path":"/bank/branding/upload","summary":"Create upload","description":"`POST /api/v1/bank/branding/upload` — introspected from the live route handler.","parameters":[{"name":"assetType","in":"body","required":false,"type":"string","description":"","example":"example-assetType"},{"name":"file","in":"body","required":true,"type":"string","description":"","example":"example-file"},{"name":"dataUri","in":"body","required":true,"type":"string","description":"","example":"example-dataUri"}],"exampleBody":{"assetType":"example-assetType","file":"example-file","dataUri":"example-dataUri"}},{"method":"GET","path":"/bank/deposits","summary":"List deposits","description":"`GET /api/v1/bank/deposits` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"}],"exampleBody":null},{"method":"POST","path":"/bank/deposits","summary":"Create deposits","description":"`POST /api/v1/bank/deposits` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"id","in":"body","required":true,"type":"string","description":"","example":"example-id"},{"name":"depositId","in":"body","required":false,"type":"string","description":"","example":"example-depositId"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"note","in":"body","required":false,"type":"string","description":"","example":"example-note"},{"name":"rejectionReason","in":"body","required":false,"type":"string","description":"","example":"example-rejectionReason"}],"exampleBody":{"id":"example-id","depositId":"example-depositId","action":"example-action","note":"example-note","rejectionReason":"example-rejectionReason"}},{"method":"GET","path":"/bank/domain","summary":"List domain","description":"`GET /api/v1/bank/domain` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/bank/domain","summary":"Create domain","description":"`POST /api/v1/bank/domain` — introspected from the live route handler.","parameters":[{"name":"domain","in":"body","required":true,"type":"string","description":"","example":"example-domain"}],"exampleBody":{"domain":"example-domain"}},{"method":"PUT","path":"/bank/domain","summary":"Replace domain","description":"`PUT /api/v1/bank/domain` — introspected from the live route handler.","parameters":[{"name":"domain","in":"body","required":true,"type":"string","description":"","example":"example-domain"}],"exampleBody":{"domain":"example-domain"}},{"method":"PATCH","path":"/bank/fees/{id}","summary":"Update fees","description":"`PATCH /api/v1/bank/fees/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"DELETE","path":"/bank/fees/{id}","summary":"Delete fees","description":"`DELETE /api/v1/bank/fees/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/bank/fees","summary":"List fees","description":"`GET /api/v1/bank/fees` — introspected from the live route handler.","parameters":[{"name":"channel","in":"query","required":false,"type":"string","description":"channel query parameter"}],"exampleBody":null},{"method":"POST","path":"/bank/fees","summary":"Create fees","description":"`POST /api/v1/bank/fees` — introspected from the live route handler.","parameters":[{"name":"channel","in":"query","required":false,"type":"string","description":"channel query parameter"},{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"channel","in":"body","required":true,"type":"string","description":"","example":"example-channel"},{"name":"feeType","in":"body","required":true,"type":"string","description":"","example":"example-feeType"},{"name":"fixedAmount","in":"body","required":false,"type":"string","description":"","example":"example-fixedAmount"},{"name":"percentageAmount","in":"body","required":false,"type":"string","description":"","example":"example-percentageAmount"},{"name":"minFee","in":"body","required":false,"type":"string","description":"","example":"example-minFee"},{"name":"maxFee","in":"body","required":false,"type":"string","description":"","example":"example-maxFee"}],"exampleBody":{"name":"example-name","channel":"example-channel","feeType":"example-feeType","fixedAmount":"example-fixedAmount","percentageAmount":"example-percentageAmount","minFee":"example-minFee","maxFee":"example-maxFee"}},{"method":"GET","path":"/bank/fraud","summary":"List fraud","description":"`GET /api/v1/bank/fraud` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"PUT","path":"/bank/fraud","summary":"Replace fraud","description":"`PUT /api/v1/bank/fraud` — introspected from the live route handler.","parameters":[{"name":"velocityCount1h","in":"body","required":false,"type":"string","description":"","example":"example-velocityCount1h"},{"name":"maxAmountAlert","in":"body","required":false,"type":"string","description":"","example":"example-maxAmountAlert"},{"name":"highRiskScore","in":"body","required":false,"type":"string","description":"","example":"example-highRiskScore"},{"name":"autoBlockScore","in":"body","required":false,"type":"string","description":"","example":"example-autoBlockScore"}],"exampleBody":{"velocityCount1h":"example-velocityCount1h","maxAmountAlert":"example-maxAmountAlert","highRiskScore":"example-highRiskScore","autoBlockScore":"example-autoBlockScore"}},{"method":"POST","path":"/bank/login","summary":"Create login","description":"`POST /api/v1/bank/login` — introspected from the live route handler.","parameters":[{"name":"email","in":"body","required":true,"type":"string","description":"","example":"example-email"},{"name":"password","in":"body","required":true,"type":"string","description":"","example":"YourPassword123!"}],"exampleBody":{"email":"example-email","password":"YourPassword123!"}},{"method":"GET","path":"/bank/reports","summary":"List reports","description":"`GET /api/v1/bank/reports` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/bank/roles","summary":"List roles","description":"`GET /api/v1/bank/roles` — introspected from the live route handler.","parameters":[{"name":"resource","in":"query","required":false,"type":"string","description":"resource query parameter"}],"exampleBody":null},{"method":"POST","path":"/bank/roles","summary":"Create roles","description":"`POST /api/v1/bank/roles` — introspected from the live route handler.","parameters":[{"name":"resource","in":"query","required":false,"type":"string","description":"resource query parameter"},{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"email","in":"body","required":true,"type":"string","description":"","example":"example-email"},{"name":"password","in":"body","required":true,"type":"string","description":"","example":"YourPassword123!"},{"name":"bankRole","in":"body","required":false,"type":"string","description":"","example":"example-bankRole"}],"exampleBody":{"name":"example-name","email":"example-email","password":"YourPassword123!","bankRole":"example-bankRole"}},{"method":"PATCH","path":"/bank/rules/{id}","summary":"Update rules","description":"`PATCH /api/v1/bank/rules/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"bankCode","in":"body","required":false,"type":"string","description":"","example":"example-bankCode"},{"name":"kind","in":"body","required":false,"type":"string","description":"","example":"example-kind"},{"name":"configId","in":"body","required":false,"type":"string","description":"","example":"example-configId"}],"exampleBody":{"bankCode":"example-bankCode","kind":"example-kind","configId":"example-configId"}},{"method":"DELETE","path":"/bank/rules/{id}","summary":"Delete rules","description":"`DELETE /api/v1/bank/rules/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/bank/rules","summary":"List rules","description":"`GET /api/v1/bank/rules` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"stats","in":"query","required":false,"type":"string","description":"stats query parameter"}],"exampleBody":null},{"method":"POST","path":"/bank/rules","summary":"Create rules","description":"`POST /api/v1/bank/rules` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"stats","in":"query","required":false,"type":"string","description":"stats query parameter"},{"name":"bankName","in":"body","required":false,"type":"string","description":"","example":"example-bankName"}],"exampleBody":{"bankName":"example-bankName"}},{"method":"GET","path":"/bank/stats","summary":"List stats","description":"`GET /api/v1/bank/stats` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/bank/transactions","summary":"List transactions","description":"`GET /api/v1/bank/transactions` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"}],"exampleBody":null},{"method":"POST","path":"/bank/users/{id}/actions","summary":"Create actions","description":"`POST /api/v1/bank/users/{id}/actions` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"content","in":"body","required":true,"type":"string","description":"","example":"example-content"},{"name":"notes","in":"body","required":false,"type":"string","description":"","example":"example-notes"},{"name":"sessionId","in":"body","required":true,"type":"string","description":"","example":"example-sessionId"}],"exampleBody":{"action":"example-action","content":"example-content","notes":"example-notes","sessionId":"example-sessionId"}},{"method":"POST","path":"/bank/users/{id}/kyc","summary":"Create kyc","description":"`POST /api/v1/bank/users/{id}/kyc` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"notes","in":"body","required":false,"type":"string","description":"","example":"example-notes"},{"name":"documentId","in":"body","required":false,"type":"string","description":"","example":"example-documentId"},{"name":"documentType","in":"body","required":false,"type":"string","description":"","example":"example-documentType"},{"name":"documentReviews","in":"body","required":false,"type":"string","description":"","example":"example-documentReviews"}],"exampleBody":{"action":"example-action","notes":"example-notes","documentId":"example-documentId","documentType":"example-documentType","documentReviews":"example-documentReviews"}},{"method":"GET","path":"/bank/users/{id}","summary":"Get users","description":"`GET /api/v1/bank/users/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PUT","path":"/bank/users/{id}","summary":"Replace users","description":"`PUT /api/v1/bank/users/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"},{"name":"email","in":"body","required":false,"type":"string","description":"","example":"example-email"},{"name":"phone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"},{"name":"role","in":"body","required":false,"type":"string","description":"","example":"example-role"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"notes","in":"body","required":false,"type":"string","description":"","example":"example-notes"},{"name":"reason","in":"body","required":false,"type":"string","description":"","example":"example-reason"}],"exampleBody":{"name":"example-name","email":"example-email","phone":"example-phone","role":"example-role","action":"example-action","notes":"example-notes","reason":"example-reason"}},{"method":"PATCH","path":"/bank/users/{id}","summary":"Update users","description":"`PATCH /api/v1/bank/users/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"},{"name":"email","in":"body","required":false,"type":"string","description":"","example":"example-email"},{"name":"phone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"},{"name":"role","in":"body","required":false,"type":"string","description":"","example":"example-role"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"notes","in":"body","required":false,"type":"string","description":"","example":"example-notes"},{"name":"reason","in":"body","required":false,"type":"string","description":"","example":"example-reason"}],"exampleBody":{"name":"example-name","email":"example-email","phone":"example-phone","role":"example-role","action":"example-action","notes":"example-notes","reason":"example-reason"}},{"method":"DELETE","path":"/bank/users/{id}","summary":"Delete users","description":"`DELETE /api/v1/bank/users/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"POST","path":"/bank/users/bulk-delete","summary":"Create bulk delete","description":"`POST /api/v1/bank/users/bulk-delete` — introspected from the live route handler.","parameters":[{"name":"ids","in":"body","required":true,"type":"string","description":"","example":"example-ids"}],"exampleBody":{"ids":"example-ids"}},{"method":"GET","path":"/bank/users/duplicates","summary":"List duplicates","description":"`GET /api/v1/bank/users/duplicates` — introspected from the live route handler.","parameters":[{"name":"keepId","in":"query","required":false,"type":"string","description":"keepId query parameter"},{"name":"phone","in":"query","required":false,"type":"string","description":"phone query parameter"}],"exampleBody":null},{"method":"DELETE","path":"/bank/users/duplicates","summary":"Delete duplicates","description":"`DELETE /api/v1/bank/users/duplicates` — introspected from the live route handler.","parameters":[{"name":"keepId","in":"query","required":false,"type":"string","description":"keepId query parameter"},{"name":"phone","in":"query","required":false,"type":"string","description":"phone query parameter"}],"exampleBody":null},{"method":"GET","path":"/bank/users","summary":"List users","description":"`GET /api/v1/bank/users` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"search","in":"query","required":false,"type":"string","description":"search query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"kycStatus","in":"query","required":false,"type":"string","description":"kycStatus query parameter"}],"exampleBody":null},{"method":"POST","path":"/bank/users","summary":"Create users","description":"`POST /api/v1/bank/users` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"search","in":"query","required":false,"type":"string","description":"search query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"kycStatus","in":"query","required":false,"type":"string","description":"kycStatus query parameter"},{"name":"email","in":"body","required":true,"type":"string","description":"","example":"example-email"},{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"},{"name":"firstName","in":"body","required":false,"type":"string","description":"","example":"example-firstName"},{"name":"lastName","in":"body","required":false,"type":"string","description":"","example":"example-lastName"},{"name":"phone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"},{"name":"password","in":"body","required":false,"type":"string","description":"","example":"YourPassword123!"},{"name":"role","in":"body","required":false,"type":"string","description":"","example":"example-role"}],"exampleBody":{"email":"example-email","name":"example-name","firstName":"example-firstName","lastName":"example-lastName","phone":"example-phone","password":"YourPassword123!","role":"example-role"}},{"method":"GET","path":"/bank/white-label","summary":"List white label","description":"`GET /api/v1/bank/white-label` — introspected from the live route handler.","parameters":[{"name":"section","in":"query","required":false,"type":"string","description":"section query parameter"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"kycStatus","in":"query","required":false,"type":"string","description":"kycStatus query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"userId","in":"query","required":false,"type":"string","description":"userId query parameter"}],"exampleBody":null},{"method":"POST","path":"/bank/white-label","summary":"Create white label","description":"`POST /api/v1/bank/white-label` — introspected from the live route handler.","parameters":[{"name":"section","in":"query","required":false,"type":"string","description":"section query parameter"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"kycStatus","in":"query","required":false,"type":"string","description":"kycStatus query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"userId","in":"query","required":false,"type":"string","description":"userId query parameter"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"userId","in":"body","required":true,"type":"string","description":"","example":"example-userId"},{"name":"notes","in":"body","required":false,"type":"string","description":"","example":"example-notes"},{"name":"documentReviews","in":"body","required":false,"type":"string","description":"","example":"example-documentReviews"}],"exampleBody":{"action":"example-action","userId":"example-userId","notes":"example-notes","documentReviews":"example-documentReviews"}},{"method":"PUT","path":"/bank/white-label","summary":"Replace white label","description":"`PUT /api/v1/bank/white-label` — introspected from the live route handler.","parameters":[{"name":"section","in":"query","required":false,"type":"string","description":"section query parameter"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"kycStatus","in":"query","required":false,"type":"string","description":"kycStatus query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"userId","in":"query","required":false,"type":"string","description":"userId query parameter"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"userId","in":"body","required":true,"type":"string","description":"","example":"example-userId"},{"name":"notes","in":"body","required":false,"type":"string","description":"","example":"example-notes"},{"name":"documentReviews","in":"body","required":false,"type":"string","description":"","example":"example-documentReviews"}],"exampleBody":{"action":"example-action","userId":"example-userId","notes":"example-notes","documentReviews":"example-documentReviews"}},{"method":"GET","path":"/beneficiaries/{id}","summary":"Get beneficiaries","description":"`GET /api/v1/beneficiaries/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PUT","path":"/beneficiaries/{id}","summary":"Replace beneficiaries","description":"`PUT /api/v1/beneficiaries/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"},{"name":"phone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"paymentMethod","in":"body","required":false,"type":"string","description":"","example":"example-paymentMethod"},{"name":"isFavorite","in":"body","required":false,"type":"string","description":"","example":"example-isFavorite"}],"exampleBody":{"name":"example-name","phone":"example-phone","country":"example-country","paymentMethod":"example-paymentMethod","isFavorite":"example-isFavorite"}},{"method":"DELETE","path":"/beneficiaries/{id}","summary":"Delete beneficiaries","description":"`DELETE /api/v1/beneficiaries/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/beneficiaries","summary":"List beneficiaries","description":"`GET /api/v1/beneficiaries` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/beneficiaries","summary":"Create beneficiaries","description":"`POST /api/v1/beneficiaries` — introspected from the live route handler.","parameters":[{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"paymentMethod","in":"body","required":false,"type":"string","description":"","example":"example-paymentMethod"},{"name":"isFavorite","in":"body","required":false,"type":"string","description":"","example":"example-isFavorite"}],"exampleBody":{"name":"example-name","phone":"example-phone","country":"example-country","paymentMethod":"example-paymentMethod","isFavorite":"example-isFavorite"}},{"method":"GET","path":"/betting/account","summary":"List account","description":"`GET /api/v1/betting/account` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/betting/complete","summary":"List complete","description":"`GET /api/v1/betting/complete` — introspected from the live route handler.","parameters":[{"name":"paymentId","in":"query","required":false,"type":"string","description":"paymentId query parameter"}],"exampleBody":null},{"method":"POST","path":"/betting/complete","summary":"Create complete","description":"`POST /api/v1/betting/complete` — introspected from the live route handler.","parameters":[{"name":"paymentId","in":"query","required":false,"type":"string","description":"paymentId query parameter"},{"name":"paymentId","in":"body","required":true,"type":"string","description":"","example":"example-paymentId"},{"name":"paymentMethod","in":"body","required":true,"type":"string","description":"","example":"example-paymentMethod"},{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"otp","in":"body","required":true,"type":"string","description":"","example":"example-otp"},{"name":"firebaseIdToken","in":"body","required":false,"type":"string","description":"","example":"example-firebaseIdToken"}],"exampleBody":{"paymentId":"example-paymentId","paymentMethod":"example-paymentMethod","phone":"example-phone","otp":"example-otp","firebaseIdToken":"example-firebaseIdToken"}},{"method":"GET","path":"/betting/deposit","summary":"List deposit","description":"`GET /api/v1/betting/deposit` — introspected from the live route handler.","parameters":[{"name":"reference","in":"query","required":false,"type":"string","description":"reference query parameter"}],"exampleBody":null},{"method":"POST","path":"/betting/deposit","summary":"Create deposit","description":"`POST /api/v1/betting/deposit` — introspected from the live route handler.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"},{"name":"reference","in":"query","required":false,"type":"string","description":"reference query parameter"},{"name":"userId","in":"body","required":true,"type":"string","description":"","example":"example-userId"},{"name":"amount","in":"body","required":true,"type":"number","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"reference","in":"body","required":true,"type":"string","description":"","example":"example-reference"},{"name":"callbackUrl","in":"body","required":false,"type":"string","description":"","example":"example-callbackUrl"},{"name":"redirectUrl","in":"body","required":false,"type":"string","description":"","example":"example-redirectUrl"},{"name":"metadata","in":"body","required":false,"type":"object","description":"","example":{}}],"exampleBody":{"userId":"example-userId","amount":100,"currency":"example-currency","country":"example-country","reference":"example-reference","callbackUrl":"example-callbackUrl","redirectUrl":"example-redirectUrl","metadata":{}}},{"method":"GET","path":"/betting/payment/{paymentId}","summary":"Get payment","description":"`GET /api/v1/betting/payment/{paymentId}` — introspected from the live route handler.","parameters":[{"name":"paymentId","in":"path","required":true,"type":"string","description":"paymentId identifier"}],"exampleBody":null},{"method":"POST","path":"/betting/payment/{paymentId}","summary":"Create payment","description":"`POST /api/v1/betting/payment/{paymentId}` — introspected from the live route handler.","parameters":[{"name":"paymentId","in":"path","required":true,"type":"string","description":"paymentId identifier"},{"name":"paymentMethod","in":"body","required":false,"type":"string","description":"","example":"example-paymentMethod"},{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"otp","in":"body","required":false,"type":"string","description":"","example":"example-otp"},{"name":"pin","in":"body","required":false,"type":"string","description":"","example":"example-pin"}],"exampleBody":{"paymentMethod":"example-paymentMethod","phone":"example-phone","otp":"example-otp","pin":"example-pin"}},{"method":"GET","path":"/betting/status","summary":"List status","description":"`GET /api/v1/betting/status` — introspected from the live route handler.","parameters":[{"name":"reference","in":"query","required":false,"type":"string","description":"reference query parameter"},{"name":"transactionId","in":"query","required":false,"type":"string","description":"transactionId query parameter"},{"name":"paymentId","in":"query","required":false,"type":"string","description":"paymentId query parameter"},{"name":"payment_id","in":"query","required":false,"type":"string","description":"payment_id query parameter"}],"exampleBody":null},{"method":"GET","path":"/betting/webhook-endpoint","summary":"List webhook endpoint","description":"`GET /api/v1/betting/webhook-endpoint` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/betting/webhook-endpoint","summary":"Create webhook endpoint","description":"`POST /api/v1/betting/webhook-endpoint` — introspected from the live route handler.","parameters":[{"name":"webhookUrl","in":"body","required":false,"type":"string","description":"","example":"example-webhookUrl"}],"exampleBody":{"webhookUrl":"example-webhookUrl"}},{"method":"POST","path":"/betting/webhook/{providerId}","summary":"Create webhook","description":"`POST /api/v1/betting/webhook/{providerId}` — introspected from the live route handler.","parameters":[{"name":"providerId","in":"path","required":true,"type":"string","description":"providerId identifier"},{"name":"paymentId","in":"body","required":true,"type":"string","description":"","example":"example-paymentId"},{"name":"event","in":"body","required":true,"type":"string","description":"","example":"example-event"},{"name":"paymentMethod","in":"body","required":false,"type":"string","description":"","example":"example-paymentMethod"}],"exampleBody":{"paymentId":"example-paymentId","event":"example-event","paymentMethod":"example-paymentMethod"}},{"method":"GET","path":"/betting/withdraw","summary":"List withdraw","description":"`GET /api/v1/betting/withdraw` — introspected from the live route handler.","parameters":[{"name":"reference","in":"query","required":false,"type":"string","description":"reference query parameter"}],"exampleBody":null},{"method":"POST","path":"/betting/withdraw","summary":"Create withdraw","description":"`POST /api/v1/betting/withdraw` — introspected from the live route handler.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"},{"name":"reference","in":"query","required":false,"type":"string","description":"reference query parameter"},{"name":"userId","in":"body","required":true,"type":"string","description":"","example":"example-userId"},{"name":"amount","in":"body","required":true,"type":"number","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"reference","in":"body","required":true,"type":"string","description":"","example":"example-reference"},{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"}],"exampleBody":{"userId":"example-userId","amount":100,"currency":"example-currency","country":"example-country","reference":"example-reference","phone":"example-phone","name":"example-name"}},{"method":"GET","path":"/bills/categories","summary":"List categories","description":"`GET /api/v1/bills/categories` — introspected from the live route handler.","parameters":[{"name":"country","in":"query","required":false,"type":"string","description":"country query parameter"}],"exampleBody":null},{"method":"GET","path":"/bills/history","summary":"List history","description":"`GET /api/v1/bills/history` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"categoryId","in":"query","required":false,"type":"string","description":"categoryId query parameter"},{"name":"fromDate","in":"query","required":false,"type":"string","description":"fromDate query parameter"},{"name":"toDate","in":"query","required":false,"type":"string","description":"toDate query parameter"}],"exampleBody":null},{"method":"POST","path":"/bills/pay","summary":"Create pay","description":"`POST /api/v1/bills/pay` — introspected from the live route handler.","parameters":[{"name":"providerId","in":"body","required":true,"type":"string","description":"","example":"example-providerId"},{"name":"accountNumber","in":"body","required":true,"type":"string","description":"","example":"example-accountNumber"},{"name":"amount","in":"body","required":false,"type":"string","description":"","example":100},{"name":"customerName","in":"body","required":false,"type":"string","description":"","example":"example-customerName"},{"name":"requestId","in":"body","required":false,"type":"string","description":"","example":"example-requestId"},{"name":"notifyRecipient","in":"body","required":false,"type":"string","description":"","example":"example-notifyRecipient"},{"name":"recipientPhone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"},{"name":"recipientName","in":"body","required":false,"type":"string","description":"","example":"example-recipientName"},{"name":"or","in":"body","required":false,"type":"string","description":"","example":"example-or"},{"name":"stepUpToken","in":"body","required":false,"type":"string","description":"","example":"example-stepUpToken"},{"name":"paymentId","in":"body","required":false,"type":"string","description":"","example":"example-paymentId"},{"name":"payerName","in":"body","required":false,"type":"string","description":"","example":"example-payerName"},{"name":"providerName","in":"body","required":false,"type":"string","description":"","example":"example-providerName"},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"}],"exampleBody":{"providerId":"example-providerId","accountNumber":"example-accountNumber","amount":"example-amount","customerName":"example-customerName","requestId":"example-requestId","notifyRecipient":"example-notifyRecipient","recipientPhone":"example-recipientPhone","recipientName":"example-recipientName","or":"example-or","stepUpToken":"example-stepUpToken","paymentId":"example-paymentId","payerName":"example-payerName","providerName":"example-providerName","currency":"example-currency"}},{"method":"GET","path":"/bills/providers","summary":"List providers","description":"`GET /api/v1/bills/providers` — introspected from the live route handler.","parameters":[{"name":"categoryId","in":"query","required":false,"type":"string","description":"categoryId query parameter"},{"name":"country","in":"query","required":false,"type":"string","description":"country query parameter"}],"exampleBody":null},{"method":"GET","path":"/bills/status/{paymentId}","summary":"Get status","description":"`GET /api/v1/bills/status/{paymentId}` — introspected from the live route handler.","parameters":[{"name":"paymentId","in":"path","required":true,"type":"string","description":"paymentId identifier"}],"exampleBody":null},{"method":"POST","path":"/bills/validate","summary":"Create validate","description":"`POST /api/v1/bills/validate` — introspected from the live route handler.","parameters":[{"name":"providerId","in":"body","required":true,"type":"string","description":"","example":"example-providerId"},{"name":"accountNumber","in":"body","required":true,"type":"string","description":"","example":"example-accountNumber"},{"name":"customerName","in":"body","required":false,"type":"string","description":"","example":"example-customerName"}],"exampleBody":{"providerId":"example-providerId","accountNumber":"example-accountNumber","customerName":"example-customerName"}},{"method":"GET","path":"/blockchain","summary":"List blockchain","description":"`GET /api/v1/blockchain` — introspected from the live route handler.","parameters":[{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"address","in":"query","required":false,"type":"string","description":"address query parameter"},{"name":"txHash","in":"query","required":false,"type":"string","description":"txHash query parameter"}],"exampleBody":null},{"method":"POST","path":"/blockchain","summary":"Create blockchain","description":"`POST /api/v1/blockchain` — introspected from the live route handler.","parameters":[{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"address","in":"query","required":false,"type":"string","description":"address query parameter"},{"name":"txHash","in":"query","required":false,"type":"string","description":"txHash query parameter"},{"name":"action","in":"body","required":true,"type":"string","description":"","example":"example-action"},{"name":"to","in":"body","required":true,"type":"string","description":"","example":"example-to"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"spender","in":"body","required":true,"type":"string","description":"","example":"example-spender"},{"name":"address","in":"body","required":true,"type":"string","description":"","example":"example-address"},{"name":"reason","in":"body","required":false,"type":"string","description":"","example":"example-reason"},{"name":"userBalance","in":"body","required":false,"type":"string","description":"","example":"example-userBalance"}],"exampleBody":{"action":"example-action","to":"example-to","amount":"example-amount","spender":"example-spender","address":"example-address","reason":"example-reason","userBalance":"example-userBalance"}},{"method":"GET","path":"/blockchain/transfer","summary":"List transfer","description":"`GET /api/v1/blockchain/transfer` — introspected from the live route handler.","parameters":[{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"offset","in":"query","required":false,"type":"string","description":"offset query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"}],"exampleBody":null},{"method":"POST","path":"/blockchain/transfer","summary":"Create transfer","description":"`POST /api/v1/blockchain/transfer` — introspected from the live route handler.","parameters":[{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"offset","in":"query","required":false,"type":"string","description":"offset query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"recipientType","in":"body","required":true,"type":"string","description":"","example":"example-recipientType"},{"name":"recipient","in":"body","required":true,"type":"string","description":"","example":"example-recipient"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"memo","in":"body","required":false,"type":"string","description":"","example":"example-memo"}],"exampleBody":{"recipientType":"example-recipientType","recipient":"example-recipient","amount":"example-amount","memo":"example-memo"}},{"method":"GET","path":"/blockchain/wallet","summary":"List wallet","description":"`GET /api/v1/blockchain/wallet` — introspected from the live route handler.","parameters":[{"name":"action","in":"query","required":false,"type":"string","description":"action query parameter"}],"exampleBody":null},{"method":"POST","path":"/blockchain/wallet","summary":"Create wallet","description":"`POST /api/v1/blockchain/wallet` — introspected from the live route handler.","parameters":[{"name":"action","in":"query","required":false,"type":"string","description":"action query parameter"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"walletAddress","in":"body","required":true,"type":"string","description":"","example":"example-walletAddress"},{"name":"signature","in":"body","required":true,"type":"string","description":"","example":"example-signature"}],"exampleBody":{"action":"example-action","walletAddress":"example-walletAddress","signature":"example-signature"}},{"method":"GET","path":"/bridge/fallback","summary":"List fallback","description":"`GET /api/v1/bridge/fallback` — introspected from the live route handler.","parameters":[{"name":"requestId","in":"query","required":false,"type":"string","description":"requestId query parameter"}],"exampleBody":null},{"method":"POST","path":"/bridge/fallback","summary":"Create fallback","description":"`POST /api/v1/bridge/fallback` — introspected from the live route handler.","parameters":[{"name":"requestId","in":"query","required":false,"type":"string","description":"requestId query parameter"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"requestId","in":"body","required":false,"type":"string","description":"","example":"example-requestId"},{"name":"agentId","in":"body","required":false,"type":"string","description":"","example":"example-agentId"}],"exampleBody":{"action":"example-action","requestId":"example-requestId","agentId":"example-agentId"}},{"method":"GET","path":"/bridge/transfer/{transactionId}","summary":"Get transfer","description":"`GET /api/v1/bridge/transfer/{transactionId}` — introspected from the live route handler.","parameters":[{"name":"transactionId","in":"path","required":true,"type":"string","description":"transactionId identifier"}],"exampleBody":null},{"method":"GET","path":"/bridge/transfer","summary":"List transfer","description":"`GET /api/v1/bridge/transfer` — introspected from the live route handler.","parameters":[{"name":"sourceProvider","in":"query","required":false,"type":"string","description":"sourceProvider query parameter"},{"name":"destinationProvider","in":"query","required":false,"type":"string","description":"destinationProvider query parameter"},{"name":"amount","in":"query","required":false,"type":"string","description":"amount query parameter"}],"exampleBody":null},{"method":"POST","path":"/bridge/transfer","summary":"Create transfer","description":"`POST /api/v1/bridge/transfer` — introspected from the live route handler.","parameters":[{"name":"sourceProvider","in":"query","required":false,"type":"string","description":"sourceProvider query parameter"},{"name":"destinationProvider","in":"query","required":false,"type":"string","description":"destinationProvider query parameter"},{"name":"amount","in":"query","required":false,"type":"string","description":"amount query parameter"},{"name":"sourceProvider","in":"body","required":true,"type":"string","description":"","example":"example-sourceProvider"},{"name":"sourceAccount","in":"body","required":true,"type":"string","description":"","example":"example-sourceAccount"},{"name":"destinationProvider","in":"body","required":true,"type":"string","description":"","example":"example-destinationProvider"},{"name":"destinationAccount","in":"body","required":true,"type":"string","description":"","example":"example-destinationAccount"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"senderName","in":"body","required":false,"type":"string","description":"","example":"example-senderName"},{"name":"recipientName","in":"body","required":false,"type":"string","description":"","example":"example-recipientName"},{"name":"idempotencyKey","in":"body","required":false,"type":"string","description":"","example":"example-idempotencyKey"},{"name":"metadata","in":"body","required":false,"type":"string","description":"","example":"example-metadata"},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"}],"exampleBody":{"sourceProvider":"example-sourceProvider","sourceAccount":"example-sourceAccount","destinationProvider":"example-destinationProvider","destinationAccount":"example-destinationAccount","amount":"example-amount","senderName":"example-senderName","recipientName":"example-recipientName","idempotencyKey":"example-idempotencyKey","metadata":"example-metadata","currency":"example-currency"}},{"method":"GET","path":"/bridge/webhook/{provider}","summary":"Get webhook","description":"`GET /api/v1/bridge/webhook/{provider}` — introspected from the live route handler.","parameters":[{"name":"provider","in":"path","required":true,"type":"string","description":"provider identifier"},{"name":"challenge","in":"query","required":false,"type":"string","description":"challenge query parameter"}],"exampleBody":null},{"method":"POST","path":"/bridge/webhook/{provider}","summary":"Create webhook","description":"`POST /api/v1/bridge/webhook/{provider}` — introspected from the live route handler.","parameters":[{"name":"provider","in":"path","required":true,"type":"string","description":"provider identifier"},{"name":"challenge","in":"query","required":false,"type":"string","description":"challenge query parameter"}],"exampleBody":null},{"method":"GET","path":"/bulk-jobs","summary":"List bulk jobs","description":"`GET /api/v1/bulk-jobs` — introspected from the live route handler.","parameters":[{"name":"jobId","in":"query","required":false,"type":"string","description":"jobId query parameter"},{"name":"include","in":"query","required":false,"type":"string","description":"include query parameter"}],"exampleBody":null},{"method":"POST","path":"/bulk-jobs","summary":"Create bulk jobs","description":"`POST /api/v1/bulk-jobs` — introspected from the live route handler.","parameters":[{"name":"jobId","in":"query","required":false,"type":"string","description":"jobId query parameter"},{"name":"include","in":"query","required":false,"type":"string","description":"include query parameter"},{"name":"idempotencyKey","in":"body","required":false,"type":"string","description":"","example":"example-idempotencyKey"},{"name":"rows","in":"body","required":false,"type":"string","description":"","example":"example-rows"},{"name":"endpointIds","in":"body","required":false,"type":"string","description":"","example":"example-endpointIds"}],"exampleBody":{"idempotencyKey":"example-idempotencyKey","rows":"example-rows","endpointIds":"example-endpointIds"}},{"method":"GET","path":"/business/bulk-payments/{id}","summary":"Get bulk payments","description":"`GET /api/v1/business/bulk-payments/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PATCH","path":"/business/bulk-payments/{id}","summary":"Update bulk payments","description":"`PATCH /api/v1/business/bulk-payments/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/business/bulk-payments","summary":"List bulk payments","description":"`GET /api/v1/business/bulk-payments` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"}],"exampleBody":null},{"method":"POST","path":"/business/bulk-payments","summary":"Create bulk payments","description":"`POST /api/v1/business/bulk-payments` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"useCase","in":"body","required":false,"type":"string","description":"","example":"example-useCase"},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"feeMode","in":"body","required":false,"type":"string","description":"","example":"example-feeMode"},{"name":"feeValue","in":"body","required":false,"type":"string","description":"","example":"example-feeValue"},{"name":"csv","in":"body","required":false,"type":"string","description":"","example":"example-csv"},{"name":"recipients","in":"body","required":false,"type":"string","description":"","example":"example-recipients"}],"exampleBody":{"name":"example-name","useCase":"example-useCase","currency":"example-currency","feeMode":"example-feeMode","feeValue":"example-feeValue","csv":"example-csv","recipients":"example-recipients"}},{"method":"POST","path":"/business/invoices/{invoiceNumber}/pay","summary":"Create pay","description":"`POST /api/v1/business/invoices/{invoiceNumber}/pay` — introspected from the live route handler.","parameters":[{"name":"invoiceNumber","in":"path","required":true,"type":"string","description":"invoiceNumber identifier"}],"exampleBody":null},{"method":"GET","path":"/business/invoices","summary":"List invoices","description":"`GET /api/v1/business/invoices` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/business/invoices","summary":"Create invoices","description":"`POST /api/v1/business/invoices` — introspected from the live route handler.","parameters":[{"name":"customerName","in":"body","required":false,"type":"string","description":"","example":"example-customerName"},{"name":"customerContact","in":"body","required":false,"type":"string","description":"","example":"example-customerContact"},{"name":"amount","in":"body","required":false,"type":"string","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"description","in":"body","required":false,"type":"string","description":"","example":"example-description"},{"name":"dueDate","in":"body","required":false,"type":"string","description":"","example":"example-dueDate"}],"exampleBody":{"customerName":"example-customerName","customerContact":"example-customerContact","amount":"example-amount","currency":"example-currency","description":"example-description","dueDate":"example-dueDate"}},{"method":"POST","path":"/business/payment-links/{linkCode}/pay","summary":"Create pay","description":"`POST /api/v1/business/payment-links/{linkCode}/pay` — introspected from the live route handler.","parameters":[{"name":"linkCode","in":"path","required":true,"type":"string","description":"linkCode identifier"}],"exampleBody":null},{"method":"GET","path":"/business/payment-links","summary":"List payment links","description":"`GET /api/v1/business/payment-links` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"}],"exampleBody":null},{"method":"POST","path":"/business/payment-links","summary":"Create payment links","description":"`POST /api/v1/business/payment-links` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"amount","in":"body","required":false,"type":"string","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"description","in":"body","required":false,"type":"string","description":"","example":"example-description"},{"name":"customerName","in":"body","required":false,"type":"string","description":"","example":"example-customerName"},{"name":"customerContact","in":"body","required":false,"type":"string","description":"","example":"example-customerContact"},{"name":"customerPhone","in":"body","required":false,"type":"string","description":"","example":"example-customerPhone"},{"name":"customerEmail","in":"body","required":false,"type":"string","description":"","example":"example-customerEmail"},{"name":"expiryDate","in":"body","required":false,"type":"string","description":"","example":"example-expiryDate"}],"exampleBody":{"amount":"example-amount","currency":"example-currency","description":"example-description","customerName":"example-customerName","customerContact":"example-customerContact","customerPhone":"example-customerPhone","customerEmail":"example-customerEmail","expiryDate":"example-expiryDate"}},{"method":"GET","path":"/businesses/{id}/expenses/{expenseId}","summary":"Get expenses","description":"`GET /api/v1/businesses/{id}/expenses/{expenseId}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"expenseId","in":"path","required":true,"type":"string","description":"expenseId identifier"}],"exampleBody":null},{"method":"PATCH","path":"/businesses/{id}/expenses/{expenseId}","summary":"Update expenses","description":"`PATCH /api/v1/businesses/{id}/expenses/{expenseId}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"expenseId","in":"path","required":true,"type":"string","description":"expenseId identifier"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"}],"exampleBody":{"action":"example-action"}},{"method":"GET","path":"/businesses/{id}/expenses","summary":"List expenses","description":"`GET /api/v1/businesses/{id}/expenses` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"category","in":"query","required":false,"type":"string","description":"category query parameter"},{"name":"startDate","in":"query","required":false,"type":"string","description":"startDate query parameter"},{"name":"endDate","in":"query","required":false,"type":"string","description":"endDate query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"offset","in":"query","required":false,"type":"string","description":"offset query parameter"}],"exampleBody":null},{"method":"POST","path":"/businesses/{id}/expenses","summary":"Create expenses","description":"`POST /api/v1/businesses/{id}/expenses` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"category","in":"query","required":false,"type":"string","description":"category query parameter"},{"name":"startDate","in":"query","required":false,"type":"string","description":"startDate query parameter"},{"name":"endDate","in":"query","required":false,"type":"string","description":"endDate query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"offset","in":"query","required":false,"type":"string","description":"offset query parameter"}],"exampleBody":null},{"method":"GET","path":"/businesses/{id}/members","summary":"List members","description":"`GET /api/v1/businesses/{id}/members` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"POST","path":"/businesses/{id}/members","summary":"Create members","description":"`POST /api/v1/businesses/{id}/members` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/businesses/{id}","summary":"Get businesses","description":"`GET /api/v1/businesses/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PATCH","path":"/businesses/{id}","summary":"Update businesses","description":"`PATCH /api/v1/businesses/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"}],"exampleBody":{"action":"example-action"}},{"method":"GET","path":"/businesses","summary":"List businesses","description":"`GET /api/v1/businesses` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/businesses","summary":"Create businesses","description":"`POST /api/v1/businesses` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/bypass-transfer/send","summary":"Create send","description":"`POST /api/v1/bypass-transfer/send` — introspected from the live route handler.","parameters":[{"name":"receiverIdentifier","in":"body","required":true,"type":"string","description":"","example":"example-receiverIdentifier"},{"name":"identifierType","in":"body","required":false,"type":"string","description":"","example":"example-identifierType"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"}],"exampleBody":{"receiverIdentifier":"example-receiverIdentifier","identifierType":"example-identifierType","amount":"example-amount","currency":"example-currency"}},{"method":"POST","path":"/bypass/accounts/{id}/verify","summary":"Create verify","description":"`POST /api/v1/bypass/accounts/{id}/verify` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"code","in":"body","required":false,"type":"string","description":"","example":"example-code"},{"name":"amount","in":"body","required":false,"type":"number","description":"","example":0}],"exampleBody":{"code":"example-code","amount":0}},{"method":"GET","path":"/bypass/accounts","summary":"List accounts","description":"`GET /api/v1/bypass/accounts` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"provider","in":"query","required":false,"type":"string","description":"provider query parameter"},{"name":"country","in":"query","required":false,"type":"string","description":"country query parameter"}],"exampleBody":null},{"method":"POST","path":"/bypass/accounts","summary":"Create accounts","description":"`POST /api/v1/bypass/accounts` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"provider","in":"query","required":false,"type":"string","description":"provider query parameter"},{"name":"country","in":"query","required":false,"type":"string","description":"country query parameter"},{"name":"providerCode","in":"body","required":true,"type":"string","description":"","example":"example-providerCode"},{"name":"accountNumber","in":"body","required":true,"type":"string","description":"","example":"example-accountNumber"},{"name":"accountName","in":"body","required":false,"type":"string","description":"","example":"example-accountName"},{"name":"bankName","in":"body","required":false,"type":"string","description":"","example":"example-bankName"},{"name":"bankCode","in":"body","required":false,"type":"string","description":"","example":"example-bankCode"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"currencies","in":"body","required":false,"type":"array","description":"","example":[]}],"exampleBody":{"providerCode":"example-providerCode","accountNumber":"example-accountNumber","accountName":"example-accountName","bankName":"example-bankName","bankCode":"example-bankCode","country":"example-country","currencies":[]}},{"method":"GET","path":"/bypass/providers","summary":"List providers","description":"`GET /api/v1/bypass/providers` — introspected from the live route handler.","parameters":[{"name":"country","in":"query","required":false,"type":"string","description":"country query parameter"}],"exampleBody":null},{"method":"GET","path":"/cards/{id}/controls","summary":"List controls","description":"`GET /api/v1/cards/{id}/controls` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"POST","path":"/cards/{id}/controls","summary":"Create controls","description":"`POST /api/v1/cards/{id}/controls` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PATCH","path":"/cards/{id}/controls","summary":"Update card controls","description":"Freeze/unfreeze, set spend limits and merchant category restrictions.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"Resource ID"},{"name":"frozen","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"dailyLimit","in":"body","required":false,"type":"number","description":"","example":0},{"name":"onlineEnabled","in":"body","required":false,"type":"boolean","description":"","example":false}],"exampleBody":{"frozen":false,"dailyLimit":0,"onlineEnabled":false}},{"method":"GET","path":"/cards/{id}","summary":"Get card","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"Resource ID"}],"exampleBody":null},{"method":"PATCH","path":"/cards/{id}","summary":"Update cards","description":"`PATCH /api/v1/cards/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"reason","in":"body","required":false,"type":"string","description":"","example":"example-reason"}],"exampleBody":{"action":"example-action","reason":"example-reason"}},{"method":"DELETE","path":"/cards/{id}","summary":"Terminate card","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"Resource ID"}],"exampleBody":null},{"method":"GET","path":"/cards/{id}/transactions","summary":"Card transactions","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"Resource ID"},{"name":"page","in":"query","required":false,"type":"integer","description":"Page number"}],"exampleBody":null},{"method":"POST","path":"/cards/{id}/transactions","summary":"Create transactions","description":"`POST /api/v1/cards/{id}/transactions` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"startDate","in":"query","required":false,"type":"string","description":"startDate query parameter"},{"name":"endDate","in":"query","required":false,"type":"string","description":"endDate query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"offset","in":"query","required":false,"type":"string","description":"offset query parameter"}],"exampleBody":null},{"method":"GET","path":"/cards","summary":"List virtual cards","description":"","parameters":[],"exampleBody":null},{"method":"POST","path":"/cards","summary":"Issue virtual card","description":"","parameters":[{"name":"currency","in":"body","required":true,"type":"string","description":"","example":"USD"},{"name":"label","in":"body","required":false,"type":"string","description":"","example":"example-label"},{"name":"fundingAmount","in":"body","required":false,"type":"number","description":"","example":0}],"exampleBody":{"currency":"USD","label":"example-label","fundingAmount":0}},{"method":"POST","path":"/cards/setup-intent","summary":"Create setup intent","description":"`POST /api/v1/cards/setup-intent` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"PUT","path":"/cart/{productId}","summary":"Replace cart","description":"`PUT /api/v1/cart/{productId}` — introspected from the live route handler.","parameters":[{"name":"productId","in":"path","required":true,"type":"string","description":"productId identifier"}],"exampleBody":null},{"method":"DELETE","path":"/cart/{productId}","summary":"Delete cart","description":"`DELETE /api/v1/cart/{productId}` — introspected from the live route handler.","parameters":[{"name":"productId","in":"path","required":true,"type":"string","description":"productId identifier"}],"exampleBody":null},{"method":"GET","path":"/cart","summary":"List cart","description":"`GET /api/v1/cart` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/cart","summary":"Create cart","description":"`POST /api/v1/cart` — introspected from the live route handler.","parameters":[{"name":"productId","in":"body","required":false,"type":"string","description":"","example":"example-productId"},{"name":"quantity","in":"body","required":false,"type":"string","description":"","example":"example-quantity"},{"name":"product","in":"body","required":false,"type":"string","description":"","example":"example-product"}],"exampleBody":{"productId":"example-productId","quantity":"example-quantity","product":"example-product"}},{"method":"PUT","path":"/cart","summary":"Replace cart","description":"`PUT /api/v1/cart` — introspected from the live route handler.","parameters":[{"name":"productId","in":"body","required":false,"type":"string","description":"","example":"example-productId"},{"name":"quantity","in":"body","required":false,"type":"string","description":"","example":"example-quantity"},{"name":"product","in":"body","required":false,"type":"string","description":"","example":"example-product"}],"exampleBody":{"productId":"example-productId","quantity":"example-quantity","product":"example-product"}},{"method":"DELETE","path":"/cart","summary":"Delete cart","description":"`DELETE /api/v1/cart` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/chat/otp/resend","summary":"Create resend","description":"`POST /api/v1/chat/otp/resend` — introspected from the live route handler.","parameters":[{"name":"sessionId","in":"body","required":false,"type":"string","description":"","example":"example-sessionId"},{"name":"channel","in":"body","required":false,"type":"string","description":"","example":"example-channel"}],"exampleBody":{"sessionId":"example-sessionId","channel":"example-channel"}},{"method":"POST","path":"/chat/session/clear","summary":"Create clear","description":"`POST /api/v1/chat/session/clear` — introspected from the live route handler.","parameters":[{"name":"sessionId","in":"body","required":false,"type":"string","description":"","example":"example-sessionId"},{"name":"endSession","in":"body","required":false,"type":"string","description":"","example":"example-endSession"}],"exampleBody":{"sessionId":"example-sessionId","endSession":"example-endSession"}},{"method":"GET","path":"/chat/web","summary":"List web","description":"`GET /api/v1/chat/web` — introspected from the live route handler.","parameters":[{"name":"sessionId","in":"query","required":false,"type":"string","description":"sessionId query parameter"}],"exampleBody":null},{"method":"POST","path":"/chat/web","summary":"Create web","description":"`POST /api/v1/chat/web` — introspected from the live route handler.","parameters":[{"name":"sessionId","in":"query","required":false,"type":"string","description":"sessionId query parameter"},{"name":"sessionId","in":"body","required":false,"type":"string","description":"","example":"example-sessionId"}],"exampleBody":{"sessionId":"example-sessionId"}},{"method":"GET","path":"/chat/whatsapp/webhook","summary":"List webhook","description":"`GET /api/v1/chat/whatsapp/webhook` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/chat/whatsapp/webhook","summary":"Create webhook","description":"`POST /api/v1/chat/whatsapp/webhook` — introspected from the live route handler.","parameters":[{"name":"From","in":"body","required":false,"type":"string","description":"","example":"example-From"},{"name":"To","in":"body","required":false,"type":"string","description":"","example":"example-To"},{"name":"Body","in":"body","required":false,"type":"string","description":"","example":"example-Body"},{"name":"MessageSid","in":"body","required":false,"type":"string","description":"","example":"example-MessageSid"},{"name":"ProfileName","in":"body","required":false,"type":"string","description":"","example":"example-ProfileName"}],"exampleBody":{"From":"example-From","To":"example-To","Body":"example-Body","MessageSid":"example-MessageSid","ProfileName":"example-ProfileName"}},{"method":"GET","path":"/checkout/account","summary":"List account","description":"`GET /api/v1/checkout/account` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/checkout/complete","summary":"List complete","description":"`GET /api/v1/checkout/complete` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/checkout/complete","summary":"Create complete","description":"`POST /api/v1/checkout/complete` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/checkout/deposit","summary":"List deposit","description":"`GET /api/v1/checkout/deposit` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/checkout/deposit","summary":"Create deposit","description":"`POST /api/v1/checkout/deposit` — introspected from the live route handler.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"}],"exampleBody":null},{"method":"GET","path":"/checkout/payment/{paymentId}","summary":"Get payment","description":"`GET /api/v1/checkout/payment/{paymentId}` — introspected from the live route handler.","parameters":[{"name":"paymentId","in":"path","required":true,"type":"string","description":"paymentId identifier"}],"exampleBody":null},{"method":"POST","path":"/checkout/payment/{paymentId}","summary":"Create payment","description":"`POST /api/v1/checkout/payment/{paymentId}` — introspected from the live route handler.","parameters":[{"name":"paymentId","in":"path","required":true,"type":"string","description":"paymentId identifier"}],"exampleBody":null},{"method":"GET","path":"/checkout/status","summary":"List status","description":"`GET /api/v1/checkout/status` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/checkout/webhook-endpoint","summary":"List webhook endpoint","description":"`GET /api/v1/checkout/webhook-endpoint` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/checkout/webhook-endpoint","summary":"Create webhook endpoint","description":"`POST /api/v1/checkout/webhook-endpoint` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/checkout/withdraw","summary":"List withdraw","description":"`GET /api/v1/checkout/withdraw` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/checkout/withdraw","summary":"Create withdraw","description":"`POST /api/v1/checkout/withdraw` — introspected from the live route handler.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"}],"exampleBody":null},{"method":"POST","path":"/claims/process","summary":"Create process","description":"`POST /api/v1/claims/process` — introspected from the live route handler.","parameters":[{"name":"code","in":"body","required":true,"type":"string","description":"","example":"example-code"},{"name":"pin","in":"body","required":true,"type":"string","description":"","example":"example-pin"},{"name":"agentId","in":"body","required":true,"type":"string","description":"","example":"example-agentId"},{"name":"recipientIdNumber","in":"body","required":false,"type":"string","description":"","example":"example-recipientIdNumber"},{"name":"recipientIdType","in":"body","required":false,"type":"string","description":"","example":"example-recipientIdType"}],"exampleBody":{"code":"example-code","pin":"example-pin","agentId":"example-agentId","recipientIdNumber":"example-recipientIdNumber","recipientIdType":"example-recipientIdType"}},{"method":"GET","path":"/claims","summary":"List claims","description":"`GET /api/v1/claims` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"recipientPhone","in":"query","required":false,"type":"string","description":"recipientPhone query parameter"},{"name":"agentId","in":"query","required":false,"type":"string","description":"agentId query parameter"}],"exampleBody":null},{"method":"POST","path":"/claims","summary":"Create claims","description":"`POST /api/v1/claims` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"recipientPhone","in":"query","required":false,"type":"string","description":"recipientPhone query parameter"},{"name":"agentId","in":"query","required":false,"type":"string","description":"agentId query parameter"},{"name":"amount","in":"body","required":true,"type":"number","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"recipientPhone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"recipientName","in":"body","required":false,"type":"string","description":"","example":"example-recipientName"},{"name":"recipientIdNumber","in":"body","required":false,"type":"string","description":"","example":"example-recipientIdNumber"},{"name":"type","in":"body","required":false,"type":"string","enum":["cash_out","remittance","refund","payout","voucher"],"description":"","example":"cash_out"},{"name":"senderPhone","in":"body","required":false,"type":"string","description":"","example":"example-senderPhone"},{"name":"senderName","in":"body","required":false,"type":"string","description":"","example":"example-senderName"},{"name":"expiryHours","in":"body","required":false,"type":"number","description":"","example":0},{"name":"metadata","in":"body","required":false,"type":"object","description":"","example":{}}],"exampleBody":{"amount":100,"currency":"example-currency","recipientPhone":"example-recipientPhone","recipientName":"example-recipientName","recipientIdNumber":"example-recipientIdNumber","type":"cash_out","senderPhone":"example-senderPhone","senderName":"example-senderName","expiryHours":0,"metadata":{}}},{"method":"POST","path":"/claims/verify","summary":"Create verify","description":"`POST /api/v1/claims/verify` — introspected from the live route handler.","parameters":[{"name":"code","in":"body","required":true,"type":"string","description":"","example":"example-code"},{"name":"pin","in":"body","required":true,"type":"string","description":"","example":"example-pin"}],"exampleBody":{"code":"example-code","pin":"example-pin"}},{"method":"GET","path":"/connect/stripe/callback","summary":"List callback","description":"`GET /api/v1/connect/stripe/callback` — introspected from the live route handler.","parameters":[{"name":"code","in":"query","required":false,"type":"string","description":"code query parameter"},{"name":"state","in":"query","required":false,"type":"string","description":"state query parameter"},{"name":"error","in":"query","required":false,"type":"string","description":"error query parameter"},{"name":"error_description","in":"query","required":false,"type":"string","description":"error_description query parameter"}],"exampleBody":null},{"method":"GET","path":"/countries","summary":"List countries","description":"`GET /api/v1/countries` — introspected from the live route handler.","parameters":[{"name":"includePaymentMethods","in":"query","required":false,"type":"string","description":"includePaymentMethods query parameter"},{"name":"code","in":"query","required":false,"type":"string","description":"code query parameter"},{"name":"phonePrefix","in":"query","required":false,"type":"string","description":"phonePrefix query parameter"}],"exampleBody":null},{"method":"GET","path":"/crypto/assets","summary":"List assets","description":"`GET /api/v1/crypto/assets` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/crypto/balance","summary":"List balance","description":"`GET /api/v1/crypto/balance` — introspected from the live route handler.","parameters":[{"name":"asset","in":"query","required":false,"type":"string","description":"asset query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"skip","in":"query","required":false,"type":"string","description":"skip query parameter"}],"exampleBody":null},{"method":"POST","path":"/crypto/buy","summary":"Create buy","description":"`POST /api/v1/crypto/buy` — introspected from the live route handler.","parameters":[{"name":"asset","in":"body","required":true,"type":"string","description":"","example":"example-asset"},{"name":"amountUsd","in":"body","required":true,"type":"string","description":"","example":"example-amountUsd"},{"name":"paymentMethod","in":"body","required":false,"type":"string","description":"","example":"example-paymentMethod"},{"name":"walletAddress","in":"body","required":false,"type":"string","description":"","example":"example-walletAddress"},{"name":"providerFeePercent","in":"body","required":false,"type":"string","description":"","example":"example-providerFeePercent"},{"name":"paymentMethodFeePercent","in":"body","required":false,"type":"string","description":"","example":"example-paymentMethodFeePercent"},{"name":"stepUpVerified","in":"body","required":false,"type":"string","description":"","example":"example-stepUpVerified"}],"exampleBody":{"asset":"example-asset","amountUsd":"example-amountUsd","paymentMethod":"example-paymentMethod","walletAddress":"example-walletAddress","providerFeePercent":"example-providerFeePercent","paymentMethodFeePercent":"example-paymentMethodFeePercent","stepUpVerified":"example-stepUpVerified"}},{"method":"GET","path":"/crypto/prices","summary":"List prices","description":"`GET /api/v1/crypto/prices` — introspected from the live route handler.","parameters":[{"name":"symbols","in":"query","required":false,"type":"string","description":"symbols query parameter"},{"name":"currency","in":"query","required":false,"type":"string","description":"currency query parameter"}],"exampleBody":null},{"method":"GET","path":"/crypto/providers","summary":"List providers","description":"`GET /api/v1/crypto/providers` — introspected from the live route handler.","parameters":[{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"feature","in":"query","required":false,"type":"string","description":"feature query parameter"},{"name":"asset","in":"query","required":false,"type":"string","description":"asset query parameter"},{"name":"country","in":"query","required":false,"type":"string","description":"country query parameter"}],"exampleBody":null},{"method":"POST","path":"/crypto/sell","summary":"Create sell","description":"`POST /api/v1/crypto/sell` — introspected from the live route handler.","parameters":[{"name":"asset","in":"body","required":true,"type":"string","description":"","example":"example-asset"},{"name":"amount","in":"body","required":false,"type":"string","description":"","example":100},{"name":"amountUsd","in":"body","required":false,"type":"string","description":"","example":"example-amountUsd"},{"name":"withdrawalMethod","in":"body","required":false,"type":"string","description":"","example":"example-withdrawalMethod"},{"name":"stepUpVerified","in":"body","required":false,"type":"string","description":"","example":"example-stepUpVerified"}],"exampleBody":{"asset":"example-asset","amount":"example-amount","amountUsd":"example-amountUsd","withdrawalMethod":"example-withdrawalMethod","stepUpVerified":"example-stepUpVerified"}},{"method":"POST","path":"/crypto/send","summary":"Create send","description":"`POST /api/v1/crypto/send` — introspected from the live route handler.","parameters":[{"name":"asset","in":"body","required":true,"type":"string","description":"","example":"example-asset"},{"name":"network","in":"body","required":false,"type":"string","description":"","example":"example-network"},{"name":"recipientType","in":"body","required":false,"type":"string","description":"","example":"example-recipientType"},{"name":"recipientAddress","in":"body","required":true,"type":"string","description":"","example":"example-recipientAddress"},{"name":"recipientUserId","in":"body","required":true,"type":"string","description":"","example":"example-recipientUserId"},{"name":"amount","in":"body","required":false,"type":"string","description":"","example":100},{"name":"note","in":"body","required":false,"type":"string","description":"","example":"example-note"},{"name":"stepUpVerified","in":"body","required":false,"type":"string","description":"","example":"example-stepUpVerified"}],"exampleBody":{"asset":"example-asset","network":"example-network","recipientType":"example-recipientType","recipientAddress":"example-recipientAddress","recipientUserId":"example-recipientUserId","amount":"example-amount","note":"example-note","stepUpVerified":"example-stepUpVerified"}},{"method":"POST","path":"/crypto/swap","summary":"Create swap","description":"`POST /api/v1/crypto/swap` — introspected from the live route handler.","parameters":[{"name":"fromAsset","in":"body","required":true,"type":"string","description":"","example":"example-fromAsset"},{"name":"toAsset","in":"body","required":true,"type":"string","description":"","example":"example-toAsset"},{"name":"fromAmount","in":"body","required":false,"type":"string","description":"","example":"example-fromAmount"},{"name":"toAmount","in":"body","required":false,"type":"string","description":"","example":"example-toAmount"},{"name":"stepUpVerified","in":"body","required":false,"type":"string","description":"","example":"example-stepUpVerified"}],"exampleBody":{"fromAsset":"example-fromAsset","toAsset":"example-toAsset","fromAmount":"example-fromAmount","toAmount":"example-toAmount","stepUpVerified":"example-stepUpVerified"}},{"method":"GET","path":"/crypto/transactions","summary":"List transactions","description":"`GET /api/v1/crypto/transactions` — introspected from the live route handler.","parameters":[{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"}],"exampleBody":null},{"method":"POST","path":"/crypto/transfer","summary":"Create transfer","description":"`POST /api/v1/crypto/transfer` — introspected from the live route handler.","parameters":[{"name":"recipientPhone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"recipientId","in":"body","required":true,"type":"string","description":"","example":"example-recipientId"},{"name":"assetType","in":"body","required":true,"type":"string","description":"","example":"example-assetType"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"stepUpVerified","in":"body","required":false,"type":"string","description":"","example":"example-stepUpVerified"}],"exampleBody":{"recipientPhone":"example-recipientPhone","recipientId":"example-recipientId","assetType":"example-assetType","amount":"example-amount","stepUpVerified":"example-stepUpVerified"}},{"method":"GET","path":"/customer/deposit/instructions","summary":"List instructions","description":"`GET /api/v1/customer/deposit/instructions` — introspected from the live route handler.","parameters":[{"name":"amount","in":"query","required":false,"type":"string","description":"amount query parameter"},{"name":"lat","in":"query","required":false,"type":"string","description":"lat query parameter"},{"name":"lng","in":"query","required":false,"type":"string","description":"lng query parameter"},{"name":"currency","in":"query","required":false,"type":"string","description":"currency query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"city","in":"query","required":false,"type":"string","description":"city query parameter"},{"name":"country","in":"query","required":false,"type":"string","description":"country query parameter"}],"exampleBody":null},{"method":"GET","path":"/customer/withdraw/nearby-agents","summary":"List nearby agents","description":"`GET /api/v1/customer/withdraw/nearby-agents` — introspected from the live route handler.","parameters":[{"name":"lat","in":"query","required":false,"type":"string","description":"lat query parameter"},{"name":"lng","in":"query","required":false,"type":"string","description":"lng query parameter"},{"name":"radius","in":"query","required":false,"type":"string","description":"radius query parameter"},{"name":"minCash","in":"query","required":false,"type":"string","description":"minCash query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"}],"exampleBody":null},{"method":"GET","path":"/customer/withdraw/payout","summary":"List payout","description":"`GET /api/v1/customer/withdraw/payout` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/customer/withdraw/payout","summary":"Create payout","description":"`POST /api/v1/customer/withdraw/payout` — introspected from the live route handler.","parameters":[{"name":"method","in":"body","required":false,"type":"string","description":"","example":"example-method"},{"name":"amount","in":"body","required":false,"type":"string","description":"","example":100},{"name":"destination","in":"body","required":false,"type":"string","description":"","example":"example-destination"},{"name":"otp","in":"body","required":false,"type":"string","description":"","example":"example-otp"},{"name":"stepUpToken","in":"body","required":false,"type":"string","description":"","example":"example-stepUpToken"},{"name":"idToken","in":"body","required":false,"type":"string","description":"","example":"example-idToken"},{"name":"firebaseIdToken","in":"body","required":false,"type":"string","description":"","example":"example-firebaseIdToken"},{"name":"idempotencyKey","in":"body","required":false,"type":"string","description":"","example":"example-idempotencyKey"}],"exampleBody":{"method":"example-method","amount":"example-amount","destination":"example-destination","otp":"example-otp","stepUpToken":"example-stepUpToken","idToken":"example-idToken","firebaseIdToken":"example-firebaseIdToken","idempotencyKey":"example-idempotencyKey"}},{"method":"POST","path":"/customer/withdraw/request","summary":"Create request","description":"`POST /api/v1/customer/withdraw/request` — introspected from the live route handler.","parameters":[{"name":"amount","in":"body","required":false,"type":"string","description":"","example":100},{"name":"agentId","in":"body","required":false,"type":"string","description":"","example":"example-agentId"},{"name":"otp","in":"body","required":false,"type":"string","description":"","example":"example-otp"},{"name":"stepUpToken","in":"body","required":false,"type":"string","description":"","example":"example-stepUpToken"},{"name":"idToken","in":"body","required":false,"type":"string","description":"","example":"example-idToken"},{"name":"firebaseIdToken","in":"body","required":false,"type":"string","description":"","example":"example-firebaseIdToken"},{"name":"currency","in":"body","required":true,"type":"string","description":"","example":"ETB"}],"exampleBody":{"amount":"example-amount","agentId":"example-agentId","otp":"example-otp","stepUpToken":"example-stepUpToken","idToken":"example-idToken","firebaseIdToken":"example-firebaseIdToken","currency":"example-currency"}},{"method":"POST","path":"/customer/withdraw/send-otp","summary":"Create send otp","description":"`POST /api/v1/customer/withdraw/send-otp` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/customers","summary":"List customers","description":"`GET /api/v1/customers` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"agentId","in":"query","required":false,"type":"string","description":"agentId query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"}],"exampleBody":null},{"method":"GET","path":"/ddr/arbitrators/profile","summary":"List profile","description":"`GET /api/v1/ddr/arbitrators/profile` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"PUT","path":"/ddr/arbitrators/profile","summary":"Replace profile","description":"`PUT /api/v1/ddr/arbitrators/profile` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/ddr/arbitrators","summary":"List arbitrators","description":"`GET /api/v1/ddr/arbitrators` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"activeOnly","in":"query","required":false,"type":"string","description":"activeOnly query parameter"}],"exampleBody":null},{"method":"POST","path":"/ddr/arbitrators/stake","summary":"Create stake","description":"`POST /api/v1/ddr/arbitrators/stake` — introspected from the live route handler.","parameters":[{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100}],"exampleBody":{"amount":"example-amount"}},{"method":"POST","path":"/ddr/arbitrators/unstake","summary":"Create unstake","description":"`POST /api/v1/ddr/arbitrators/unstake` — introspected from the live route handler.","parameters":[{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100}],"exampleBody":{"amount":"example-amount"}},{"method":"POST","path":"/ddr/disputes/{disputeId}/evidence","summary":"Create evidence","description":"`POST /api/v1/ddr/disputes/{disputeId}/evidence` — introspected from the live route handler.","parameters":[{"name":"disputeId","in":"path","required":true,"type":"string","description":"disputeId identifier"},{"name":"text","in":"body","required":true,"type":"string","description":"","example":"example-text"},{"name":"files","in":"body","required":false,"type":"string","description":"","example":"example-files"}],"exampleBody":{"text":"example-text","files":"example-files"}},{"method":"GET","path":"/ddr/disputes/{disputeId}","summary":"Get disputes","description":"`GET /api/v1/ddr/disputes/{disputeId}` — introspected from the live route handler.","parameters":[{"name":"disputeId","in":"path","required":true,"type":"string","description":"disputeId identifier"}],"exampleBody":null},{"method":"POST","path":"/ddr/disputes/{disputeId}/vote","summary":"Create vote","description":"`POST /api/v1/ddr/disputes/{disputeId}/vote` — introspected from the live route handler.","parameters":[{"name":"disputeId","in":"path","required":true,"type":"string","description":"disputeId identifier"},{"name":"voteFor","in":"body","required":true,"type":"string","description":"","example":"example-voteFor"},{"name":"reason","in":"body","required":false,"type":"string","description":"","example":"example-reason"}],"exampleBody":{"voteFor":"example-voteFor","reason":"example-reason"}},{"method":"GET","path":"/ddr/disputes","summary":"List disputes","description":"`GET /api/v1/ddr/disputes` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"role","in":"query","required":false,"type":"string","description":"role query parameter"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"}],"exampleBody":null},{"method":"POST","path":"/ddr/disputes","summary":"Create disputes","description":"`POST /api/v1/ddr/disputes` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"role","in":"query","required":false,"type":"string","description":"role query parameter"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"transactionId","in":"body","required":true,"type":"string","description":"","example":"example-transactionId"},{"name":"transactionRef","in":"body","required":true,"type":"string","description":"","example":"example-transactionRef"},{"name":"transactionType","in":"body","required":false,"type":"string","description":"","example":"example-transactionType"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"responderUserId","in":"body","required":true,"type":"string","description":"","example":"example-responderUserId"},{"name":"evidenceText","in":"body","required":false,"type":"string","description":"","example":"example-evidenceText"},{"name":"evidenceFiles","in":"body","required":false,"type":"string","description":"","example":"example-evidenceFiles"}],"exampleBody":{"transactionId":"example-transactionId","transactionRef":"example-transactionRef","transactionType":"example-transactionType","amount":"example-amount","currency":"example-currency","responderUserId":"example-responderUserId","evidenceText":"example-evidenceText","evidenceFiles":"example-evidenceFiles"}},{"method":"GET","path":"/developer/analytics","summary":"List analytics","description":"`GET /api/v1/developer/analytics` — introspected from the live route handler.","parameters":[{"name":"days","in":"query","required":false,"type":"string","description":"days query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"date","in":"query","required":false,"type":"string","description":"date query parameter"}],"exampleBody":null},{"method":"GET","path":"/developer/console","summary":"List console","description":"`GET /api/v1/developer/console` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/developer/portal-mvp","summary":"List portal mvp","description":"`GET /api/v1/developer/portal-mvp` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/developers/ai-assistant","summary":"Create ai assistant","description":"`POST /api/v1/developers/ai-assistant` — introspected from the live route handler.","parameters":[{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"query","in":"body","required":false,"type":"string","description":"","example":"example-query"},{"name":"q","in":"body","required":false,"type":"string","description":"","example":"example-q"},{"name":"capability","in":"body","required":false,"type":"string","description":"","example":"example-capability"},{"name":"errorCode","in":"body","required":false,"type":"string","description":"","example":"example-errorCode"},{"name":"tenantId","in":"body","required":false,"type":"string","description":"","example":"example-tenantId"},{"name":"authorizedTelemetry","in":"body","required":false,"type":"string","description":"","example":"example-authorizedTelemetry"}],"exampleBody":{"action":"example-action","query":"example-query","q":"example-q","capability":"example-capability","errorCode":"example-errorCode","tenantId":"example-tenantId","authorizedTelemetry":"example-authorizedTelemetry"}},{"method":"GET","path":"/disbursement/batches/{id}/payouts","summary":"List payouts","description":"`GET /api/v1/disbursement/batches/{id}/payouts` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"offset","in":"query","required":false,"type":"string","description":"offset query parameter"}],"exampleBody":null},{"method":"GET","path":"/disbursement/batches/{id}/report","summary":"List report","description":"`GET /api/v1/disbursement/batches/{id}/report` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"}],"exampleBody":null},{"method":"GET","path":"/disbursement/batches/{id}","summary":"Get batches","description":"`GET /api/v1/disbursement/batches/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PATCH","path":"/disbursement/batches/{id}","summary":"Update batches","description":"`PATCH /api/v1/disbursement/batches/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"payouts","in":"body","required":true,"type":"string","description":"","example":"example-payouts"}],"exampleBody":{"action":"example-action","payouts":"example-payouts"}},{"method":"GET","path":"/disbursement/batches","summary":"List batches","description":"`GET /api/v1/disbursement/batches` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"programId","in":"query","required":false,"type":"string","description":"programId query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"offset","in":"query","required":false,"type":"string","description":"offset query parameter"}],"exampleBody":null},{"method":"POST","path":"/disbursement/batches","summary":"Create batches","description":"`POST /api/v1/disbursement/batches` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"programId","in":"query","required":false,"type":"string","description":"programId query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"offset","in":"query","required":false,"type":"string","description":"offset query parameter"},{"name":"programId","in":"body","required":false,"type":"string","description":"","example":"example-programId"},{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"description","in":"body","required":false,"type":"string","description":"","example":"example-description"},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"payouts","in":"body","required":false,"type":"string","description":"","example":"example-payouts"}],"exampleBody":{"programId":"example-programId","name":"example-name","description":"example-description","currency":"example-currency","payouts":"example-payouts"}},{"method":"GET","path":"/disbursement/beneficiaries/{id}","summary":"Get beneficiaries","description":"`GET /api/v1/disbursement/beneficiaries/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PATCH","path":"/disbursement/beneficiaries/{id}","summary":"Update beneficiaries","description":"`PATCH /api/v1/disbursement/beneficiaries/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"agentId","in":"body","required":true,"type":"string","description":"","example":"example-agentId"},{"name":"verificationData","in":"body","required":false,"type":"string","description":"","example":"example-verificationData"}],"exampleBody":{"action":"example-action","agentId":"example-agentId","verificationData":"example-verificationData"}},{"method":"GET","path":"/disbursement/beneficiaries","summary":"List beneficiaries","description":"`GET /api/v1/disbursement/beneficiaries` — introspected from the live route handler.","parameters":[{"name":"programId","in":"query","required":false,"type":"string","description":"programId query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"region","in":"query","required":false,"type":"string","description":"region query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"offset","in":"query","required":false,"type":"string","description":"offset query parameter"}],"exampleBody":null},{"method":"POST","path":"/disbursement/beneficiaries","summary":"Create beneficiaries","description":"`POST /api/v1/disbursement/beneficiaries` — introspected from the live route handler.","parameters":[{"name":"programId","in":"query","required":false,"type":"string","description":"programId query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"region","in":"query","required":false,"type":"string","description":"region query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"offset","in":"query","required":false,"type":"string","description":"offset query parameter"},{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"idNumber","in":"body","required":false,"type":"string","description":"","example":"example-idNumber"},{"name":"idType","in":"body","required":false,"type":"string","description":"","example":"example-idType"},{"name":"region","in":"body","required":false,"type":"string","description":"","example":"example-region"},{"name":"payoutPreference","in":"body","required":false,"type":"string","description":"","example":"example-payoutPreference"},{"name":"programId","in":"body","required":false,"type":"string","description":"","example":"example-programId"},{"name":"metadata","in":"body","required":false,"type":"string","description":"","example":"example-metadata"}],"exampleBody":{"name":"example-name","phone":"example-phone","idNumber":"example-idNumber","idType":"example-idType","region":"example-region","payoutPreference":"example-payoutPreference","programId":"example-programId","metadata":"example-metadata"}},{"method":"POST","path":"/disbursement/claims/process","summary":"Create process","description":"`POST /api/v1/disbursement/claims/process` — introspected from the live route handler.","parameters":[{"name":"code","in":"body","required":true,"type":"string","description":"","example":"example-code"},{"name":"pin","in":"body","required":true,"type":"string","description":"","example":"example-pin"},{"name":"agentId","in":"body","required":true,"type":"string","description":"","example":"example-agentId"},{"name":"verificationData","in":"body","required":false,"type":"string","description":"","example":"example-verificationData"}],"exampleBody":{"code":"example-code","pin":"example-pin","agentId":"example-agentId","verificationData":"example-verificationData"}},{"method":"POST","path":"/disbursement/claims/verify","summary":"Create verify","description":"`POST /api/v1/disbursement/claims/verify` — introspected from the live route handler.","parameters":[{"name":"code","in":"body","required":true,"type":"string","description":"","example":"example-code"},{"name":"pin","in":"body","required":true,"type":"string","description":"","example":"example-pin"}],"exampleBody":{"code":"example-code","pin":"example-pin"}},{"method":"GET","path":"/disbursement/programs","summary":"List programs","description":"`GET /api/v1/disbursement/programs` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"offset","in":"query","required":false,"type":"string","description":"offset query parameter"}],"exampleBody":null},{"method":"POST","path":"/disbursement/programs","summary":"Create programs","description":"`POST /api/v1/disbursement/programs` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"offset","in":"query","required":false,"type":"string","description":"offset query parameter"},{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"type","in":"body","required":true,"type":"string","description":"","example":"example-type"},{"name":"description","in":"body","required":false,"type":"string","description":"","example":"example-description"},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"metadata","in":"body","required":false,"type":"string","description":"","example":"example-metadata"}],"exampleBody":{"name":"example-name","type":"example-type","description":"example-description","currency":"example-currency","metadata":"example-metadata"}},{"method":"POST","path":"/disbursement/upload","summary":"Create upload","description":"`POST /api/v1/disbursement/upload` — introspected from the live route handler.","parameters":[{"name":"programId","in":"body","required":false,"type":"string","description":"","example":"example-programId"},{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"description","in":"body","required":false,"type":"string","description":"","example":"example-description"},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"format","in":"body","required":false,"type":"string","description":"","example":"example-format"}],"exampleBody":{"programId":"example-programId","name":"example-name","description":"example-description","currency":"example-currency","format":"example-format"}},{"method":"GET","path":"/documents/download","summary":"List download","description":"`GET /api/v1/documents/download` — introspected from the live route handler.","parameters":[{"name":"token","in":"query","required":false,"type":"string","description":"token query parameter"}],"exampleBody":null},{"method":"GET","path":"/email/callback/gmail","summary":"List gmail","description":"`GET /api/v1/email/callback/gmail` — introspected from the live route handler.","parameters":[{"name":"code","in":"query","required":false,"type":"string","description":"code query parameter"},{"name":"state","in":"query","required":false,"type":"string","description":"state query parameter"},{"name":"error","in":"query","required":false,"type":"string","description":"error query parameter"}],"exampleBody":null},{"method":"GET","path":"/email/connect/gmail","summary":"List gmail","description":"`GET /api/v1/email/connect/gmail` — introspected from the live route handler.","parameters":[{"name":"redirect","in":"query","required":false,"type":"string","description":"redirect query parameter"}],"exampleBody":null},{"method":"GET","path":"/email/connect","summary":"List connect","description":"`GET /api/v1/email/connect` — introspected from the live route handler.","parameters":[{"name":"provider","in":"query","required":false,"type":"string","description":"provider query parameter"}],"exampleBody":null},{"method":"DELETE","path":"/email/connect","summary":"Delete connect","description":"`DELETE /api/v1/email/connect` — introspected from the live route handler.","parameters":[{"name":"provider","in":"query","required":false,"type":"string","description":"provider query parameter"}],"exampleBody":null},{"method":"POST","path":"/email/disconnect/gmail","summary":"Create gmail","description":"`POST /api/v1/email/disconnect/gmail` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/email/oauth/gmail/callback","summary":"List callback","description":"`GET /api/v1/email/oauth/gmail/callback` — introspected from the live route handler.","parameters":[{"name":"code","in":"query","required":false,"type":"string","description":"code query parameter"},{"name":"state","in":"query","required":false,"type":"string","description":"state query parameter"},{"name":"error","in":"query","required":false,"type":"string","description":"error query parameter"}],"exampleBody":null},{"method":"GET","path":"/email/parsed","summary":"List parsed","description":"`GET /api/v1/email/parsed` — introspected from the live route handler.","parameters":[{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"}],"exampleBody":null},{"method":"GET","path":"/email/status","summary":"List status","description":"`GET /api/v1/email/status` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/email/webhook/gmail","summary":"Create gmail","description":"`POST /api/v1/email/webhook/gmail` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/errors","summary":"Create errors","description":"`POST /api/v1/errors` — introspected from the live route handler.","parameters":[{"name":"userAgent","in":"body","required":false,"type":"string","description":"","example":"example-userAgent"},{"name":"user","in":"body","required":false,"type":"string","description":"","example":"example-user"},{"name":"severity","in":"body","required":false,"type":"string","description":"","example":"example-severity"},{"name":"stack","in":"body","required":false,"type":"string","description":"","example":"example-stack"},{"name":"endpoint","in":"body","required":false,"type":"string","description":"","example":"example-endpoint"},{"name":"type","in":"body","required":false,"type":"string","description":"","example":"example-type"},{"name":"release","in":"body","required":false,"type":"string","description":"","example":"example-release"},{"name":"context","in":"body","required":false,"type":"string","description":"","example":"example-context"}],"exampleBody":{"userAgent":"example-userAgent","user":"example-user","severity":"example-severity","stack":"example-stack","endpoint":"example-endpoint","type":"example-type","release":"example-release","context":"example-context"}},{"method":"GET","path":"/escrow/{tradeId}","summary":"Get escrow","description":"`GET /api/v1/escrow/{tradeId}` — introspected from the live route handler.","parameters":[{"name":"tradeId","in":"path","required":true,"type":"string","description":"tradeId identifier"}],"exampleBody":null},{"method":"POST","path":"/escrow/{tradeId}","summary":"Create escrow","description":"`POST /api/v1/escrow/{tradeId}` — introspected from the live route handler.","parameters":[{"name":"tradeId","in":"path","required":true,"type":"string","description":"tradeId identifier"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"}],"exampleBody":{"action":"example-action"}},{"method":"POST","path":"/escrow/create","summary":"Create create","description":"`POST /api/v1/escrow/create` — introspected from the live route handler.","parameters":[{"name":"token","in":"body","required":true,"type":"string","description":"","example":"example-token"},{"name":"cryptoAmount","in":"body","required":true,"type":"string","description":"","example":"example-cryptoAmount"},{"name":"fiatCurrency","in":"body","required":true,"type":"string","description":"","example":"example-fiatCurrency"},{"name":"fiatAmount","in":"body","required":true,"type":"string","description":"","example":"example-fiatAmount"},{"name":"paymentMethods","in":"body","required":false,"type":"string","description":"","example":"example-paymentMethods"},{"name":"feePercent","in":"body","required":false,"type":"string","description":"","example":"example-feePercent"},{"name":"minAmount","in":"body","required":false,"type":"string","description":"","example":"example-minAmount"},{"name":"maxAmount","in":"body","required":false,"type":"string","description":"","example":"example-maxAmount"},{"name":"terms","in":"body","required":false,"type":"string","description":"","example":"example-terms"},{"name":"autoFund","in":"body","required":false,"type":"string","description":"","example":"example-autoFund"}],"exampleBody":{"token":"example-token","cryptoAmount":"example-cryptoAmount","fiatCurrency":"example-fiatCurrency","fiatAmount":"example-fiatAmount","paymentMethods":"example-paymentMethods","feePercent":"example-feePercent","minAmount":"example-minAmount","maxAmount":"example-maxAmount","terms":"example-terms","autoFund":"example-autoFund"}},{"method":"GET","path":"/escrow","summary":"List escrow","description":"`GET /api/v1/escrow` — introspected from the live route handler.","parameters":[{"name":"id","in":"query","required":false,"type":"string","description":"id query parameter"},{"name":"orderId","in":"query","required":false,"type":"string","description":"orderId query parameter"}],"exampleBody":null},{"method":"POST","path":"/escrow","summary":"Create escrow","description":"`POST /api/v1/escrow` — introspected from the live route handler.","parameters":[{"name":"id","in":"query","required":false,"type":"string","description":"id query parameter"},{"name":"orderId","in":"query","required":false,"type":"string","description":"orderId query parameter"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"orderId","in":"body","required":true,"type":"string","description":"","example":"example-orderId"},{"name":"reason","in":"body","required":false,"type":"string","description":"","example":"example-reason"},{"name":"refundPercent","in":"body","required":false,"type":"string","description":"","example":"example-refundPercent"}],"exampleBody":{"action":"example-action","orderId":"example-orderId","reason":"example-reason","refundPercent":"example-refundPercent"}},{"method":"GET","path":"/escrow/trades","summary":"List trades","description":"`GET /api/v1/escrow/trades` — introspected from the live route handler.","parameters":[{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"token","in":"query","required":false,"type":"string","description":"token query parameter"},{"name":"fiatCurrency","in":"query","required":false,"type":"string","description":"fiatCurrency query parameter"},{"name":"role","in":"query","required":false,"type":"string","description":"role query parameter"}],"exampleBody":null},{"method":"GET","path":"/exchange-rates","summary":"List exchange rates","description":"`GET /api/v1/exchange-rates` — introspected from the live route handler.","parameters":[{"name":"base","in":"query","required":false,"type":"string","description":"base query parameter"}],"exampleBody":null},{"method":"GET","path":"/exchange/rate","summary":"List rate","description":"`GET /api/v1/exchange/rate` — introspected from the live route handler.","parameters":[{"name":"from","in":"query","required":false,"type":"string","description":"from query parameter"},{"name":"to","in":"query","required":false,"type":"string","description":"to query parameter"}],"exampleBody":null},{"method":"GET","path":"/exports","summary":"List exports","description":"`GET /api/v1/exports` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/exports","summary":"Create exports","description":"`POST /api/v1/exports` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/features/public","summary":"List public","description":"`GET /api/v1/features/public` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/features/status","summary":"List status","description":"`GET /api/v1/features/status` — introspected from the live route handler.","parameters":[{"name":"feature","in":"query","required":false,"type":"string","description":"feature query parameter"},{"name":"features","in":"query","required":false,"type":"string","description":"features query parameter"}],"exampleBody":null},{"method":"POST","path":"/fees/preview","summary":"Create preview","description":"`POST /api/v1/fees/preview` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/fraud/assess","summary":"Create assess","description":"`POST /api/v1/fraud/assess` — introspected from the live route handler.","parameters":[{"name":"sessionId","in":"body","required":false,"type":"string","description":"","example":"example-sessionId"},{"name":"amount","in":"body","required":true,"type":"number","description":"","example":100},{"name":"currency","in":"body","required":true,"type":"string","description":"","example":"ETB"},{"name":"userId","in":"body","required":false,"type":"string","description":"","example":"example-userId"},{"name":"customerId","in":"body","required":false,"type":"string","description":"","example":"example-customerId"},{"name":"ipAddress","in":"body","required":false,"type":"string","description":"","example":"example-ipAddress"},{"name":"deviceFingerprint","in":"body","required":false,"type":"string","description":"","example":"example-deviceFingerprint"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"paymentMethod","in":"body","required":false,"type":"string","description":"","example":"example-paymentMethod"}],"exampleBody":{"sessionId":"example-sessionId","amount":100,"currency":"example-currency","userId":"example-userId","customerId":"example-customerId","ipAddress":"example-ipAddress","deviceFingerprint":"example-deviceFingerprint","country":"example-country","paymentMethod":"example-paymentMethod"}},{"method":"POST","path":"/group-bill/{billId}/contribute","summary":"Create contribute","description":"`POST /api/v1/group-bill/{billId}/contribute` — introspected from the live route handler.","parameters":[{"name":"billId","in":"path","required":true,"type":"string","description":"billId identifier"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"contributorName","in":"body","required":false,"type":"string","description":"","example":"example-contributorName"},{"name":"contributorPhone","in":"body","required":false,"type":"string","description":"","example":"example-contributorPhone"},{"name":"isAnonymous","in":"body","required":false,"type":"string","description":"","example":"example-isAnonymous"},{"name":"paymentMethod","in":"body","required":false,"type":"string","description":"","example":"example-paymentMethod"},{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"otp","in":"body","required":true,"type":"string","description":"","example":"example-otp"}],"exampleBody":{"amount":"example-amount","contributorName":"example-contributorName","contributorPhone":"example-contributorPhone","isAnonymous":"example-isAnonymous","paymentMethod":"example-paymentMethod","phone":"example-phone","otp":"example-otp"}},{"method":"GET","path":"/group-bill/{billId}","summary":"Get group bill","description":"`GET /api/v1/group-bill/{billId}` — introspected from the live route handler.","parameters":[{"name":"billId","in":"path","required":true,"type":"string","description":"billId identifier"},{"name":"userId","in":"query","required":false,"type":"string","description":"userId query parameter"}],"exampleBody":null},{"method":"DELETE","path":"/group-bill/{billId}","summary":"Delete group bill","description":"`DELETE /api/v1/group-bill/{billId}` — introspected from the live route handler.","parameters":[{"name":"billId","in":"path","required":true,"type":"string","description":"billId identifier"},{"name":"userId","in":"query","required":false,"type":"string","description":"userId query parameter"}],"exampleBody":null},{"method":"POST","path":"/group-bill/{billId}/withdraw","summary":"Create withdraw","description":"`POST /api/v1/group-bill/{billId}/withdraw` — introspected from the live route handler.","parameters":[{"name":"billId","in":"path","required":true,"type":"string","description":"billId identifier"}],"exampleBody":null},{"method":"POST","path":"/group-bill/create","summary":"Create create","description":"`POST /api/v1/group-bill/create` — introspected from the live route handler.","parameters":[{"name":"title","in":"body","required":true,"type":"string","description":"","example":"example-title"},{"name":"description","in":"body","required":false,"type":"string","description":"","example":"example-description"},{"name":"targetAmount","in":"body","required":true,"type":"string","description":"","example":"example-targetAmount"},{"name":"expiryDays","in":"body","required":false,"type":"string","description":"","example":"example-expiryDays"},{"name":"imageUrl","in":"body","required":false,"type":"string","description":"","example":"example-imageUrl"},{"name":"category","in":"body","required":false,"type":"string","description":"","example":"example-category"},{"name":"creatorName","in":"body","required":false,"type":"string","description":"","example":"example-creatorName"},{"name":"creatorPhone","in":"body","required":false,"type":"string","description":"","example":"example-creatorPhone"}],"exampleBody":{"title":"example-title","description":"example-description","targetAmount":"example-targetAmount","expiryDays":"example-expiryDays","imageUrl":"example-imageUrl","category":"example-category","creatorName":"example-creatorName","creatorPhone":"example-creatorPhone"}},{"method":"GET","path":"/group-bill/creator/bills","summary":"List bills","description":"`GET /api/v1/group-bill/creator/bills` — introspected from the live route handler.","parameters":[{"name":"creatorId","in":"query","required":false,"type":"string","description":"creatorId query parameter"}],"exampleBody":null},{"method":"GET","path":"/health","summary":"Health check","description":"Returns API + database health. No authentication required.","parameters":[],"exampleBody":null},{"method":"GET","path":"/identity/{universalId}/devices","summary":"List devices","description":"`GET /api/v1/identity/{universalId}/devices` — introspected from the live route handler.","parameters":[{"name":"universalId","in":"path","required":true,"type":"string","description":"universalId identifier"}],"exampleBody":null},{"method":"POST","path":"/identity/{universalId}/devices","summary":"Create devices","description":"`POST /api/v1/identity/{universalId}/devices` — introspected from the live route handler.","parameters":[{"name":"universalId","in":"path","required":true,"type":"string","description":"universalId identifier"},{"name":"deviceType","in":"body","required":false,"type":"string","enum":["mobile","web","pos","api"],"description":"","example":"mobile"},{"name":"deviceName","in":"body","required":false,"type":"string","description":"","example":"example-deviceName"},{"name":"deviceModel","in":"body","required":false,"type":"string","description":"","example":"example-deviceModel"},{"name":"osName","in":"body","required":false,"type":"string","description":"","example":"example-osName"},{"name":"osVersion","in":"body","required":false,"type":"string","description":"","example":"example-osVersion"},{"name":"appVersion","in":"body","required":false,"type":"string","description":"","example":"example-appVersion"},{"name":"pushToken","in":"body","required":false,"type":"string","description":"","example":"example-pushToken"},{"name":"fingerprint","in":"body","required":false,"type":"string","description":"","example":"example-fingerprint"}],"exampleBody":{"deviceType":"mobile","deviceName":"example-deviceName","deviceModel":"example-deviceModel","osName":"example-osName","osVersion":"example-osVersion","appVersion":"example-appVersion","pushToken":"example-pushToken","fingerprint":"example-fingerprint"}},{"method":"GET","path":"/identity/{universalId}","summary":"Get identity","description":"`GET /api/v1/identity/{universalId}` — introspected from the live route handler.","parameters":[{"name":"universalId","in":"path","required":true,"type":"string","description":"universalId identifier"}],"exampleBody":null},{"method":"PATCH","path":"/identity/{universalId}","summary":"Update identity","description":"`PATCH /api/v1/identity/{universalId}` — introspected from the live route handler.","parameters":[{"name":"universalId","in":"path","required":true,"type":"string","description":"universalId identifier"},{"name":"firstName","in":"body","required":false,"type":"string","description":"","example":"example-firstName"},{"name":"lastName","in":"body","required":false,"type":"string","description":"","example":"example-lastName"},{"name":"displayName","in":"body","required":false,"type":"string","description":"","example":"example-displayName"},{"name":"dateOfBirth","in":"body","required":false,"type":"string","description":"","example":"example-dateOfBirth"},{"name":"nationality","in":"body","required":false,"type":"string","description":"","example":"example-nationality"},{"name":"preferredLanguage","in":"body","required":false,"type":"string","description":"","example":"example-preferredLanguage"},{"name":"preferredCurrency","in":"body","required":false,"type":"string","description":"","example":"example-preferredCurrency"},{"name":"timezone","in":"body","required":false,"type":"string","description":"","example":"example-timezone"}],"exampleBody":{"firstName":"example-firstName","lastName":"example-lastName","displayName":"example-displayName","dateOfBirth":"example-dateOfBirth","nationality":"example-nationality","preferredLanguage":"example-preferredLanguage","preferredCurrency":"example-preferredCurrency","timezone":"example-timezone"}},{"method":"GET","path":"/identity/lookup","summary":"List lookup","description":"`GET /api/v1/identity/lookup` — introspected from the live route handler.","parameters":[{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"identifierType","in":"query","required":false,"type":"string","description":"identifierType query parameter"},{"name":"value","in":"query","required":false,"type":"string","description":"value query parameter"},{"name":"identifierValue","in":"query","required":false,"type":"string","description":"identifierValue query parameter"}],"exampleBody":null},{"method":"POST","path":"/identity/lookup","summary":"Create lookup","description":"`POST /api/v1/identity/lookup` — introspected from the live route handler.","parameters":[{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"identifierType","in":"query","required":false,"type":"string","description":"identifierType query parameter"},{"name":"value","in":"query","required":false,"type":"string","description":"value query parameter"},{"name":"identifierValue","in":"query","required":false,"type":"string","description":"identifierValue query parameter"},{"name":"identifierType","in":"body","required":true,"type":"string","enum":["phone","email","username","national_id","passport","universalId"],"description":"","example":"phone"},{"name":"identifierValue","in":"body","required":true,"type":"string","description":"","example":"example-identifierValue"}],"exampleBody":{"identifierType":"phone","identifierValue":"example-identifierValue"}},{"method":"GET","path":"/identity","summary":"List identity","description":"`GET /api/v1/identity` — introspected from the live route handler.","parameters":[{"name":"q","in":"query","required":false,"type":"string","description":"q query parameter"},{"name":"query","in":"query","required":false,"type":"string","description":"query query parameter"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"}],"exampleBody":null},{"method":"POST","path":"/identity","summary":"Create identity","description":"`POST /api/v1/identity` — introspected from the live route handler.","parameters":[{"name":"q","in":"query","required":false,"type":"string","description":"q query parameter"},{"name":"query","in":"query","required":false,"type":"string","description":"query query parameter"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"phone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"},{"name":"email","in":"body","required":false,"type":"string","format":"email","description":"","example":"user@example.com"},{"name":"username","in":"body","required":false,"type":"string","description":"","example":"example-username"},{"name":"firstName","in":"body","required":false,"type":"string","description":"","example":"example-firstName"},{"name":"lastName","in":"body","required":false,"type":"string","description":"","example":"example-lastName"},{"name":"displayName","in":"body","required":false,"type":"string","description":"","example":"example-displayName"},{"name":"preferredLanguage","in":"body","required":false,"type":"string","description":"","example":"example-preferredLanguage"},{"name":"preferredCurrency","in":"body","required":false,"type":"string","description":"","example":"example-preferredCurrency"},{"name":"metadata","in":"body","required":false,"type":"object","description":"","example":{}}],"exampleBody":{"phone":"example-phone","email":"user@example.com","username":"example-username","firstName":"example-firstName","lastName":"example-lastName","displayName":"example-displayName","preferredLanguage":"example-preferredLanguage","preferredCurrency":"example-preferredCurrency","metadata":{}}},{"method":"GET","path":"/integration-marketplace","summary":"List integration marketplace","description":"`GET /api/v1/integration-marketplace` — introspected from the live route handler.","parameters":[{"name":"view","in":"query","required":false,"type":"string","description":"view query parameter"}],"exampleBody":null},{"method":"POST","path":"/integration-marketplace","summary":"Create integration marketplace","description":"`POST /api/v1/integration-marketplace` — introspected from the live route handler.","parameters":[{"name":"view","in":"query","required":false,"type":"string","description":"view query parameter"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"packageId","in":"body","required":false,"type":"string","description":"","example":"example-packageId"},{"name":"version","in":"body","required":false,"type":"string","description":"","example":"example-version"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"installId","in":"body","required":false,"type":"string","description":"","example":"example-installId"},{"name":"toVersion","in":"body","required":false,"type":"string","description":"","example":"example-toVersion"}],"exampleBody":{"action":"example-action","packageId":"example-packageId","version":"example-version","country":"example-country","installId":"example-installId","toVersion":"example-toVersion"}},{"method":"POST","path":"/intents/{id}/cancel","summary":"Create cancel","description":"`POST /api/v1/intents/{id}/cancel` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"reason","in":"body","required":false,"type":"string","description":"","example":"example-reason"}],"exampleBody":{"reason":"example-reason"}},{"method":"POST","path":"/intents/{id}/confirm","summary":"Create confirm","description":"`POST /api/v1/intents/{id}/confirm` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"paymentMethodId","in":"body","required":false,"type":"string","description":"","example":"example-paymentMethodId"},{"name":"returnUrl","in":"body","required":false,"type":"string","description":"","example":"example-returnUrl"}],"exampleBody":{"paymentMethodId":"example-paymentMethodId","returnUrl":"example-returnUrl"}},{"method":"POST","path":"/intents/{id}/execute","summary":"Create execute","description":"`POST /api/v1/intents/{id}/execute` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/intents/{id}","summary":"Get intents","description":"`GET /api/v1/intents/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/intents","summary":"List intents","description":"`GET /api/v1/intents` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/intents","summary":"Create intents","description":"`POST /api/v1/intents` — introspected from the live route handler.","parameters":[{"name":"page","in":"body","required":false,"type":"number","description":"","example":0},{"name":"limit","in":"body","required":false,"type":"number","description":"","example":0},{"name":"amount","in":"body","required":true,"type":"number","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"paymentMethodId","in":"body","required":false,"type":"string","description":"","example":"example-paymentMethodId"},{"name":"customerId","in":"body","required":false,"type":"string","description":"","example":"example-customerId"},{"name":"customerPhone","in":"body","required":false,"type":"string","description":"","example":"example-customerPhone"},{"name":"customerEmail","in":"body","required":false,"type":"string","format":"email","description":"","example":"user@example.com"},{"name":"description","in":"body","required":false,"type":"string","description":"","example":"example-description"},{"name":"metadata","in":"body","required":false,"type":"object","description":"","example":{}},{"name":"returnUrl","in":"body","required":false,"type":"string","description":"","example":"example-returnUrl"},{"name":"idempotencyKey","in":"body","required":false,"type":"string","description":"","example":"example-idempotencyKey"}],"exampleBody":{"page":0,"limit":0,"amount":100,"currency":"example-currency","paymentMethodId":"example-paymentMethodId","customerId":"example-customerId","customerPhone":"example-customerPhone","customerEmail":"user@example.com","description":"example-description","metadata":{},"returnUrl":"example-returnUrl","idempotencyKey":"example-idempotencyKey"}},{"method":"POST","path":"/ios/notification-detect","summary":"Create notification detect","description":"`POST /api/v1/ios/notification-detect` — introspected from the live route handler.","parameters":[{"name":"title","in":"body","required":true,"type":"string","description":"","example":"example-title"},{"name":"body","in":"body","required":false,"type":"string","description":"","example":"example-body"},{"name":"appBundleId","in":"body","required":false,"type":"string","description":"","example":"example-appBundleId"},{"name":"timestamp","in":"body","required":false,"type":"string","description":"","example":"example-timestamp"},{"name":"deviceId","in":"body","required":false,"type":"string","description":"","example":"example-deviceId"},{"name":"deviceModel","in":"body","required":false,"type":"string","description":"","example":"example-deviceModel"},{"name":"appVersion","in":"body","required":false,"type":"string","description":"","example":"example-appVersion"}],"exampleBody":{"title":"example-title","body":"example-body","appBundleId":"example-appBundleId","timestamp":"example-timestamp","deviceId":"example-deviceId","deviceModel":"example-deviceModel","appVersion":"example-appVersion"}},{"method":"GET","path":"/languages","summary":"List languages","description":"`GET /api/v1/languages` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/ledger/accounts","summary":"List accounts","description":"`GET /api/v1/ledger/accounts` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/ledger/accounts","summary":"Create accounts","description":"`POST /api/v1/ledger/accounts` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/ledger/balances","summary":"List balances","description":"`GET /api/v1/ledger/balances` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/ledger/integrity","summary":"List integrity","description":"`GET /api/v1/ledger/integrity` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/ledger/journals","summary":"List journals","description":"`GET /api/v1/ledger/journals` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/ledger/journals","summary":"Create journals","description":"`POST /api/v1/ledger/journals` — introspected from the live route handler.","parameters":[{"name":"page","in":"body","required":false,"type":"number","description":"","example":0},{"name":"limit","in":"body","required":false,"type":"number","description":"","example":0},{"name":"type","in":"body","required":true,"type":"string","enum":["debit","credit"],"description":"","example":"debit"},{"name":"startDate","in":"body","required":false,"type":"string","description":"","example":"example-startDate"},{"name":"endDate","in":"body","required":false,"type":"string","description":"","example":"example-endDate"},{"name":"entries","in":"body","required":true,"type":"array","enum":["debit","credit"],"description":"","example":"debit"},{"name":"reference","in":"body","required":false,"type":"string","description":"","example":"example-reference"},{"name":"description","in":"body","required":false,"type":"string","description":"","example":"example-description"},{"name":"metadata","in":"body","required":false,"type":"object","description":"","example":{}},{"name":"accountCode","in":"body","required":true,"type":"string","description":"","example":"example-accountCode"},{"name":"amount","in":"body","required":true,"type":"number","description":"","example":100}],"exampleBody":{"page":0,"limit":0,"type":"debit","startDate":"example-startDate","endDate":"example-endDate","entries":"debit","reference":"example-reference","description":"example-description","metadata":{},"accountCode":"example-accountCode","amount":100}},{"method":"GET","path":"/ledger/statements/{accountCode}","summary":"Get statements","description":"`GET /api/v1/ledger/statements/{accountCode}` — introspected from the live route handler.","parameters":[{"name":"accountCode","in":"path","required":true,"type":"string","description":"accountCode identifier"},{"name":"fromDate","in":"query","required":false,"type":"string","description":"fromDate query parameter"},{"name":"toDate","in":"query","required":false,"type":"string","description":"toDate query parameter"}],"exampleBody":null},{"method":"GET","path":"/ledger/trial-balance","summary":"List trial balance","description":"`GET /api/v1/ledger/trial-balance` — introspected from the live route handler.","parameters":[{"name":"asOfDate","in":"query","required":false,"type":"string","description":"asOfDate query parameter"}],"exampleBody":null},{"method":"GET","path":"/m/{slug}","summary":"Get m","description":"`GET /api/v1/m/{slug}` — introspected from the live route handler.","parameters":[{"name":"slug","in":"path","required":true,"type":"string","description":"slug identifier"}],"exampleBody":null},{"method":"POST","path":"/marketplace/disputes/{disputeId}/resolve","summary":"Create resolve","description":"`POST /api/v1/marketplace/disputes/{disputeId}/resolve` — introspected from the live route handler.","parameters":[{"name":"disputeId","in":"path","required":true,"type":"string","description":"disputeId identifier"},{"name":"winner","in":"body","required":true,"type":"string","description":"","example":"example-winner"},{"name":"refundPercent","in":"body","required":false,"type":"string","description":"","example":"example-refundPercent"},{"name":"notes","in":"body","required":false,"type":"string","description":"","example":"example-notes"}],"exampleBody":{"winner":"example-winner","refundPercent":"example-refundPercent","notes":"example-notes"}},{"method":"GET","path":"/marketplace/disputes/{disputeId}","summary":"Get disputes","description":"`GET /api/v1/marketplace/disputes/{disputeId}` — introspected from the live route handler.","parameters":[{"name":"disputeId","in":"path","required":true,"type":"string","description":"disputeId identifier"}],"exampleBody":null},{"method":"POST","path":"/marketplace/disputes/{disputeId}","summary":"Create disputes","description":"`POST /api/v1/marketplace/disputes/{disputeId}` — introspected from the live route handler.","parameters":[{"name":"disputeId","in":"path","required":true,"type":"string","description":"disputeId identifier"},{"name":"evidence","in":"body","required":false,"type":"string","description":"","example":"example-evidence"}],"exampleBody":{"evidence":"example-evidence"}},{"method":"GET","path":"/marketplace/disputes","summary":"List disputes","description":"`GET /api/v1/marketplace/disputes` — introspected from the live route handler.","parameters":[{"name":"role","in":"query","required":false,"type":"string","description":"role query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"all","in":"query","required":false,"type":"string","description":"all query parameter"}],"exampleBody":null},{"method":"POST","path":"/marketplace/disputes","summary":"Create disputes","description":"`POST /api/v1/marketplace/disputes` — introspected from the live route handler.","parameters":[{"name":"role","in":"query","required":false,"type":"string","description":"role query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"all","in":"query","required":false,"type":"string","description":"all query parameter"},{"name":"orderId","in":"body","required":true,"type":"string","description":"","example":"example-orderId"},{"name":"reason","in":"body","required":true,"type":"string","description":"","example":"example-reason"},{"name":"description","in":"body","required":true,"type":"string","description":"","example":"example-description"},{"name":"evidence","in":"body","required":false,"type":"string","description":"","example":"example-evidence"}],"exampleBody":{"orderId":"example-orderId","reason":"example-reason","description":"example-description","evidence":"example-evidence"}},{"method":"GET","path":"/marketplace","summary":"List marketplace","description":"`GET /api/v1/marketplace` — introspected from the live route handler.","parameters":[{"name":"action","in":"query","required":false,"type":"string","description":"action query parameter"},{"name":"startDate","in":"query","required":false,"type":"string","description":"startDate query parameter"},{"name":"endDate","in":"query","required":false,"type":"string","description":"endDate query parameter"},{"name":"amount","in":"query","required":false,"type":"string","description":"amount query parameter"},{"name":"category","in":"query","required":false,"type":"string","description":"category query parameter"},{"name":"merchantTier","in":"query","required":false,"type":"string","description":"merchantTier query parameter"}],"exampleBody":null},{"method":"DELETE","path":"/merchant/{merchantId}/connections/{connectionId}","summary":"Delete connections","description":"`DELETE /api/v1/merchant/{merchantId}/connections/{connectionId}` — introspected from the live route handler.","parameters":[{"name":"merchantId","in":"path","required":true,"type":"string","description":"merchantId identifier"},{"name":"connectionId","in":"path","required":true,"type":"string","description":"connectionId identifier"}],"exampleBody":null},{"method":"POST","path":"/merchant/{merchantId}/connections/{connectionId}/sync","summary":"Create sync","description":"`POST /api/v1/merchant/{merchantId}/connections/{connectionId}/sync` — introspected from the live route handler.","parameters":[{"name":"merchantId","in":"path","required":true,"type":"string","description":"merchantId identifier"},{"name":"connectionId","in":"path","required":true,"type":"string","description":"connectionId identifier"}],"exampleBody":null},{"method":"GET","path":"/merchant/{merchantId}/connections","summary":"List connections","description":"`GET /api/v1/merchant/{merchantId}/connections` — introspected from the live route handler.","parameters":[{"name":"merchantId","in":"path","required":true,"type":"string","description":"merchantId identifier"}],"exampleBody":null},{"method":"POST","path":"/merchant/{merchantId}/connections","summary":"Create connections","description":"`POST /api/v1/merchant/{merchantId}/connections` — introspected from the live route handler.","parameters":[{"name":"merchantId","in":"path","required":true,"type":"string","description":"merchantId identifier"}],"exampleBody":null},{"method":"POST","path":"/merchant/connections/{id}/sync","summary":"Create sync","description":"`POST /api/v1/merchant/connections/{id}/sync` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"csvContent","in":"body","required":true,"type":"string","description":"","example":"example-csvContent"},{"name":"options","in":"body","required":false,"type":"number","description":"","example":0},{"name":"delimiter","in":"body","required":false,"type":"string","description":"","example":"example-delimiter"},{"name":"columnMap","in":"body","required":false,"type":"number","description":"","example":0}],"exampleBody":{"csvContent":"example-csvContent","options":0,"delimiter":"example-delimiter","columnMap":0}},{"method":"GET","path":"/merchant/connections","summary":"List connections","description":"`GET /api/v1/merchant/connections` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/merchant/connections","summary":"Create connections","description":"`POST /api/v1/merchant/connections` — introspected from the live route handler.","parameters":[{"name":"provider","in":"body","required":true,"type":"string","description":"","example":"example-provider"},{"name":"accountIdentifier","in":"body","required":true,"type":"string","description":"","example":"example-accountIdentifier"},{"name":"nickname","in":"body","required":false,"type":"string","description":"","example":"example-nickname"},{"name":"credentials","in":"body","required":false,"type":"object","description":"","example":{}},{"name":"username","in":"body","required":false,"type":"string","description":"","example":"example-username"},{"name":"password","in":"body","required":false,"type":"string","description":"","example":"YourPassword123!"},{"name":"apiKey","in":"body","required":false,"type":"string","description":"","example":"example-apiKey"},{"name":"additionalData","in":"body","required":false,"type":"object","description":"","example":{}}],"exampleBody":{"provider":"example-provider","accountIdentifier":"example-accountIdentifier","nickname":"example-nickname","credentials":{},"username":"example-username","password":"YourPassword123!","apiKey":"example-apiKey","additionalData":{}}},{"method":"GET","path":"/merchant/credentials","summary":"List credentials","description":"`GET /api/v1/merchant/credentials` — introspected from the live route handler.","parameters":[{"name":"provider","in":"query","required":false,"type":"string","description":"provider query parameter"}],"exampleBody":null},{"method":"POST","path":"/merchant/credentials","summary":"Create credentials","description":"`POST /api/v1/merchant/credentials` — introspected from the live route handler.","parameters":[{"name":"provider","in":"query","required":false,"type":"string","description":"provider query parameter"},{"name":"provider","in":"body","required":true,"type":"string","description":"","example":"example-provider"},{"name":"credentials","in":"body","required":true,"type":"string","description":"","example":"example-credentials"}],"exampleBody":{"provider":"example-provider","credentials":"example-credentials"}},{"method":"DELETE","path":"/merchant/credentials","summary":"Delete credentials","description":"`DELETE /api/v1/merchant/credentials` — introspected from the live route handler.","parameters":[{"name":"provider","in":"query","required":false,"type":"string","description":"provider query parameter"}],"exampleBody":null},{"method":"GET","path":"/merchant/kit","summary":"List kit","description":"`GET /api/v1/merchant/kit` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/merchant/kit","summary":"Create kit","description":"`POST /api/v1/merchant/kit` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/merchant/orders","summary":"List orders","description":"`GET /api/v1/merchant/orders` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"dateFrom","in":"query","required":false,"type":"string","description":"dateFrom query parameter"},{"name":"dateTo","in":"query","required":false,"type":"string","description":"dateTo query parameter"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"}],"exampleBody":null},{"method":"POST","path":"/merchant/orders","summary":"Create orders","description":"`POST /api/v1/merchant/orders` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"dateFrom","in":"query","required":false,"type":"string","description":"dateFrom query parameter"},{"name":"dateTo","in":"query","required":false,"type":"string","description":"dateTo query parameter"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"}],"exampleBody":null},{"method":"GET","path":"/merchant/payout-accounts","summary":"List payout accounts","description":"`GET /api/v1/merchant/payout-accounts` — introspected from the live route handler.","parameters":[{"name":"provider","in":"query","required":false,"type":"string","description":"provider query parameter"},{"name":"accountId","in":"query","required":false,"type":"string","description":"accountId query parameter"}],"exampleBody":null},{"method":"POST","path":"/merchant/payout-accounts","summary":"Create payout accounts","description":"`POST /api/v1/merchant/payout-accounts` — introspected from the live route handler.","parameters":[{"name":"provider","in":"query","required":false,"type":"string","description":"provider query parameter"},{"name":"accountId","in":"query","required":false,"type":"string","description":"accountId query parameter"},{"name":"provider","in":"body","required":true,"type":"string","description":"","example":"example-provider"},{"name":"accountIdentifier","in":"body","required":true,"type":"string","description":"","example":"example-accountIdentifier"},{"name":"accountName","in":"body","required":false,"type":"string","description":"","example":"example-accountName"},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"isDefault","in":"body","required":false,"type":"boolean","description":"","example":false}],"exampleBody":{"provider":"example-provider","accountIdentifier":"example-accountIdentifier","accountName":"example-accountName","currency":"example-currency","country":"example-country","isDefault":false}},{"method":"DELETE","path":"/merchant/payout-accounts","summary":"Delete payout accounts","description":"`DELETE /api/v1/merchant/payout-accounts` — introspected from the live route handler.","parameters":[{"name":"provider","in":"query","required":false,"type":"string","description":"provider query parameter"},{"name":"accountId","in":"query","required":false,"type":"string","description":"accountId query parameter"}],"exampleBody":null},{"method":"GET","path":"/merchant/products/{productId}","summary":"Get products","description":"`GET /api/v1/merchant/products/{productId}` — introspected from the live route handler.","parameters":[{"name":"productId","in":"path","required":true,"type":"string","description":"productId identifier"}],"exampleBody":null},{"method":"PUT","path":"/merchant/products/{productId}","summary":"Replace products","description":"`PUT /api/v1/merchant/products/{productId}` — introspected from the live route handler.","parameters":[{"name":"productId","in":"path","required":true,"type":"string","description":"productId identifier"}],"exampleBody":null},{"method":"DELETE","path":"/merchant/products/{productId}","summary":"Delete products","description":"`DELETE /api/v1/merchant/products/{productId}` — introspected from the live route handler.","parameters":[{"name":"productId","in":"path","required":true,"type":"string","description":"productId identifier"}],"exampleBody":null},{"method":"GET","path":"/merchant/products","summary":"List products","description":"","parameters":[],"exampleBody":null},{"method":"POST","path":"/merchant/products","summary":"Create product","description":"","parameters":[{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"price","in":"body","required":true,"type":"number","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"}],"exampleBody":{"name":"example-name","price":100,"currency":"ETB"}},{"method":"GET","path":"/merchant/products/stats","summary":"List stats","description":"`GET /api/v1/merchant/products/stats` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/merchant/qr-codes/generate","summary":"Generate payment QR","description":"","parameters":[{"name":"amount","in":"body","required":false,"type":"number","description":"","example":0},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"reference","in":"body","required":false,"type":"string","description":"","example":"example-reference"}],"exampleBody":{"amount":0,"currency":"ETB","reference":"example-reference"}},{"method":"GET","path":"/merchant/stats","summary":"List stats","description":"`GET /api/v1/merchant/stats` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/merchant/transactions","summary":"Merchant transactions","description":"","parameters":[{"name":"page","in":"query","required":false,"type":"integer","description":"Page number"},{"name":"limit","in":"query","required":false,"type":"integer","description":"Items per page"}],"exampleBody":null},{"method":"GET","path":"/merchant/users/{id}","summary":"Get users","description":"`GET /api/v1/merchant/users/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PATCH","path":"/merchant/users/{id}","summary":"Update users","description":"`PATCH /api/v1/merchant/users/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"role","in":"body","required":false,"type":"string","description":"","example":"example-role"},{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"},{"name":"phone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"}],"exampleBody":{"role":"example-role","name":"example-name","phone":"example-phone"}},{"method":"DELETE","path":"/merchant/users/{id}","summary":"Delete users","description":"`DELETE /api/v1/merchant/users/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/merchant/users","summary":"List users","description":"`GET /api/v1/merchant/users` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"role","in":"query","required":false,"type":"string","description":"role query parameter"},{"name":"search","in":"query","required":false,"type":"string","description":"search query parameter"}],"exampleBody":null},{"method":"POST","path":"/merchant/users","summary":"Create users","description":"`POST /api/v1/merchant/users` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"role","in":"query","required":false,"type":"string","description":"role query parameter"},{"name":"search","in":"query","required":false,"type":"string","description":"search query parameter"},{"name":"email","in":"body","required":true,"type":"string","description":"","example":"example-email"},{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"role","in":"body","required":true,"type":"string","description":"","example":"example-role"},{"name":"phone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"},{"name":"password","in":"body","required":true,"type":"string","description":"","example":"YourPassword123!"}],"exampleBody":{"email":"example-email","name":"example-name","role":"example-role","phone":"example-phone","password":"YourPassword123!"}},{"method":"GET","path":"/merchants/2fa","summary":"List 2fa","description":"`GET /api/v1/merchants/2fa` — introspected from the live route handler.","parameters":[{"name":"code","in":"query","required":false,"type":"string","description":"code query parameter"}],"exampleBody":null},{"method":"POST","path":"/merchants/2fa","summary":"Create 2fa","description":"`POST /api/v1/merchants/2fa` — introspected from the live route handler.","parameters":[{"name":"code","in":"query","required":false,"type":"string","description":"code query parameter"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"code","in":"body","required":true,"type":"string","description":"","example":"example-code"}],"exampleBody":{"action":"example-action","code":"example-code"}},{"method":"DELETE","path":"/merchants/2fa","summary":"Delete 2fa","description":"`DELETE /api/v1/merchants/2fa` — introspected from the live route handler.","parameters":[{"name":"code","in":"query","required":false,"type":"string","description":"code query parameter"}],"exampleBody":null},{"method":"GET","path":"/merchants/{id}","summary":"Get merchant","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"Resource ID"}],"exampleBody":null},{"method":"PATCH","path":"/merchants/{id}","summary":"Update merchant","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"Resource ID"},{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"},{"name":"email","in":"body","required":false,"type":"string","description":"","example":"example-email"},{"name":"phone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"},{"name":"businessType","in":"body","required":false,"type":"string","description":"","example":"example-businessType"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"}],"exampleBody":{"name":"example-name","email":"example-email","phone":"+251911223344","businessType":"example-businessType","country":"example-country","currency":"ETB"}},{"method":"POST","path":"/merchants/kyc/submit","summary":"Submit merchant KYC","description":"","parameters":[{"name":"fullName","in":"body","required":false,"type":"string","description":"","example":"example-fullName"},{"name":"documentType","in":"body","required":true,"type":"string","enum":["national_id","passport","drivers_license"],"description":"","example":"national_id"},{"name":"documentNumber","in":"body","required":true,"type":"string","description":"","example":"example-documentNumber"},{"name":"documentFront","in":"body","required":false,"type":"string","description":"URL or base64 of front image","example":"example-documentFront"},{"name":"documentBack","in":"body","required":false,"type":"string","description":"","example":"example-documentBack"},{"name":"selfie","in":"body","required":false,"type":"string","description":"","example":"example-selfie"},{"name":"dateOfBirth","in":"body","required":false,"type":"string","format":"date","description":"","example":"example-dateOfBirth"},{"name":"address","in":"body","required":false,"type":"string","description":"","example":"example-address"}],"exampleBody":{"fullName":"example-fullName","documentType":"national_id","documentNumber":"example-documentNumber","documentFront":"example-documentFront","documentBack":"example-documentBack","selfie":"example-selfie","dateOfBirth":"example-dateOfBirth","address":"example-address"}},{"method":"GET","path":"/merchants/me","summary":"My merchant profile","description":"","parameters":[],"exampleBody":null},{"method":"PATCH","path":"/merchants/me","summary":"Update me","description":"`PATCH /api/v1/merchants/me` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"DELETE","path":"/merchants/payout-settings/{accountId}","summary":"Delete payout settings","description":"`DELETE /api/v1/merchants/payout-settings/{accountId}` — introspected from the live route handler.","parameters":[{"name":"accountId","in":"path","required":true,"type":"string","description":"accountId identifier"}],"exampleBody":null},{"method":"GET","path":"/merchants/payout-settings","summary":"List payout settings","description":"`GET /api/v1/merchants/payout-settings` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/merchants/payout-settings","summary":"Create payout settings","description":"`POST /api/v1/merchants/payout-settings` — introspected from the live route handler.","parameters":[{"name":"preferredMethod","in":"body","required":false,"type":"string","description":"","example":"example-preferredMethod"},{"name":"bankAccounts","in":"body","required":false,"type":"string","description":"","example":"example-bankAccounts"},{"name":"mobileMoneyAccounts","in":"body","required":false,"type":"string","description":"","example":"example-mobileMoneyAccounts"},{"name":"cryptoWallets","in":"body","required":false,"type":"string","description":"","example":"example-cryptoWallets"},{"name":"autoPayoutEnabled","in":"body","required":false,"type":"string","description":"","example":"example-autoPayoutEnabled"},{"name":"autoPayoutThreshold","in":"body","required":false,"type":"string","description":"","example":"example-autoPayoutThreshold"},{"name":"autoPayoutSchedule","in":"body","required":false,"type":"string","description":"","example":"example-autoPayoutSchedule"},{"name":"type","in":"body","required":false,"type":"string","description":"","example":"example-type"},{"name":"accountDetails","in":"body","required":false,"type":"string","description":"","example":"example-accountDetails"},{"name":"isDefault","in":"body","required":false,"type":"string","description":"","example":"example-isDefault"}],"exampleBody":{"preferredMethod":"example-preferredMethod","bankAccounts":"example-bankAccounts","mobileMoneyAccounts":"example-mobileMoneyAccounts","cryptoWallets":"example-cryptoWallets","autoPayoutEnabled":"example-autoPayoutEnabled","autoPayoutThreshold":"example-autoPayoutThreshold","autoPayoutSchedule":"example-autoPayoutSchedule","type":"example-type","accountDetails":"example-accountDetails","isDefault":"example-isDefault"}},{"method":"PUT","path":"/merchants/payout-settings","summary":"Replace payout settings","description":"`PUT /api/v1/merchants/payout-settings` — introspected from the live route handler.","parameters":[{"name":"preferredMethod","in":"body","required":false,"type":"string","description":"","example":"example-preferredMethod"},{"name":"bankAccounts","in":"body","required":false,"type":"string","description":"","example":"example-bankAccounts"},{"name":"mobileMoneyAccounts","in":"body","required":false,"type":"string","description":"","example":"example-mobileMoneyAccounts"},{"name":"cryptoWallets","in":"body","required":false,"type":"string","description":"","example":"example-cryptoWallets"},{"name":"autoPayoutEnabled","in":"body","required":false,"type":"string","description":"","example":"example-autoPayoutEnabled"},{"name":"autoPayoutThreshold","in":"body","required":false,"type":"string","description":"","example":"example-autoPayoutThreshold"},{"name":"autoPayoutSchedule","in":"body","required":false,"type":"string","description":"","example":"example-autoPayoutSchedule"},{"name":"type","in":"body","required":false,"type":"string","description":"","example":"example-type"},{"name":"accountDetails","in":"body","required":false,"type":"string","description":"","example":"example-accountDetails"},{"name":"isDefault","in":"body","required":false,"type":"string","description":"","example":"example-isDefault"}],"exampleBody":{"preferredMethod":"example-preferredMethod","bankAccounts":"example-bankAccounts","mobileMoneyAccounts":"example-mobileMoneyAccounts","cryptoWallets":"example-cryptoWallets","autoPayoutEnabled":"example-autoPayoutEnabled","autoPayoutThreshold":"example-autoPayoutThreshold","autoPayoutSchedule":"example-autoPayoutSchedule","type":"example-type","accountDetails":"example-accountDetails","isDefault":"example-isDefault"}},{"method":"PUT","path":"/merchants/profile","summary":"Replace profile","description":"`PUT /api/v1/merchants/profile` — introspected from the live route handler.","parameters":[{"name":"businessName","in":"body","required":false,"type":"string","description":"","example":"example-businessName"},{"name":"businessType","in":"body","required":false,"type":"string","description":"","example":"example-businessType"},{"name":"logo","in":"body","required":false,"type":"string","description":"","example":"example-logo"},{"name":"description","in":"body","required":false,"type":"string","description":"","example":"example-description"},{"name":"website","in":"body","required":false,"type":"string","description":"","example":"example-website"},{"name":"address","in":"body","required":false,"type":"string","description":"","example":"example-address"},{"name":"phone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"},{"name":"supportEmail","in":"body","required":false,"type":"string","description":"","example":"example-supportEmail"},{"name":"socialLinks","in":"body","required":false,"type":"string","description":"","example":"example-socialLinks"}],"exampleBody":{"businessName":"example-businessName","businessType":"example-businessType","logo":"example-logo","description":"example-description","website":"example-website","address":"example-address","phone":"example-phone","supportEmail":"example-supportEmail","socialLinks":"example-socialLinks"}},{"method":"GET","path":"/merchants/profile","summary":"Get merchant profile","description":"","parameters":[],"exampleBody":null},{"method":"PATCH","path":"/merchants/profile","summary":"Update merchant profile","description":"","parameters":[{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"},{"name":"email","in":"body","required":false,"type":"string","description":"","example":"example-email"},{"name":"phone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"},{"name":"businessType","in":"body","required":false,"type":"string","description":"","example":"example-businessType"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"}],"exampleBody":{"name":"example-name","email":"example-email","phone":"+251911223344","businessType":"example-businessType","country":"example-country","currency":"ETB"}},{"method":"GET","path":"/merchants/transactions","summary":"List transactions","description":"`GET /api/v1/merchants/transactions` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"fromDate","in":"query","required":false,"type":"string","description":"fromDate query parameter"},{"name":"toDate","in":"query","required":false,"type":"string","description":"toDate query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"}],"exampleBody":null},{"method":"GET","path":"/merchants/webhooks","summary":"List webhooks","description":"`GET /api/v1/merchants/webhooks` — introspected from the live route handler.","parameters":[{"name":"webhookId","in":"query","required":false,"type":"string","description":"webhookId query parameter"}],"exampleBody":null},{"method":"POST","path":"/merchants/webhooks","summary":"Create webhooks","description":"`POST /api/v1/merchants/webhooks` — introspected from the live route handler.","parameters":[{"name":"webhookId","in":"query","required":false,"type":"string","description":"webhookId query parameter"},{"name":"url","in":"body","required":true,"type":"string","description":"","example":"example-url"},{"name":"events","in":"body","required":true,"type":"array","description":"","example":[]},{"name":"description","in":"body","required":false,"type":"string","description":"","example":"example-description"},{"name":"isActive","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"webhookId","in":"body","required":true,"type":"string","description":"","example":"example-webhookId"}],"exampleBody":{"url":"example-url","events":[],"description":"example-description","isActive":false,"webhookId":"example-webhookId"}},{"method":"PUT","path":"/merchants/webhooks","summary":"Replace webhooks","description":"`PUT /api/v1/merchants/webhooks` — introspected from the live route handler.","parameters":[{"name":"webhookId","in":"query","required":false,"type":"string","description":"webhookId query parameter"},{"name":"url","in":"body","required":true,"type":"string","description":"","example":"example-url"},{"name":"events","in":"body","required":true,"type":"array","description":"","example":[]},{"name":"description","in":"body","required":false,"type":"string","description":"","example":"example-description"},{"name":"isActive","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"webhookId","in":"body","required":true,"type":"string","description":"","example":"example-webhookId"}],"exampleBody":{"url":"example-url","events":[],"description":"example-description","isActive":false,"webhookId":"example-webhookId"}},{"method":"DELETE","path":"/merchants/webhooks","summary":"Delete webhooks","description":"`DELETE /api/v1/merchants/webhooks` — introspected from the live route handler.","parameters":[{"name":"webhookId","in":"query","required":false,"type":"string","description":"webhookId query parameter"}],"exampleBody":null},{"method":"GET","path":"/notifications","summary":"List notifications","description":"","parameters":[{"name":"page","in":"query","required":false,"type":"integer","description":"Page number"},{"name":"limit","in":"query","required":false,"type":"integer","description":"Items per page"},{"name":"unread","in":"query","required":false,"type":"boolean","description":""}],"exampleBody":null},{"method":"POST","path":"/notifications","summary":"Send notification (admin/system)","description":"","parameters":[{"name":"userId","in":"body","required":false,"type":"string","description":"","example":"example-userId"},{"name":"title","in":"body","required":true,"type":"string","description":"","example":"example-title"},{"name":"body","in":"body","required":true,"type":"string","description":"","example":"example-body"},{"name":"type","in":"body","required":false,"type":"string","description":"","example":"example-type"},{"name":"channel","in":"body","required":false,"type":"string","enum":["push","email","sms","in_app"],"description":"","example":"push"}],"exampleBody":{"userId":"example-userId","title":"example-title","body":"example-body","type":"example-type","channel":"push"}},{"method":"PATCH","path":"/notifications","summary":"Mark notifications read","description":"","parameters":[{"name":"ids","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"all","in":"body","required":false,"type":"boolean","description":"","example":false}],"exampleBody":{"ids":[],"all":false}},{"method":"POST","path":"/notifications/subscribe","summary":"Subscribe to push","description":"Register a Web Push subscription for the current device.","parameters":[{"name":"subscription","in":"body","required":true,"type":"object","description":"","example":{}}],"exampleBody":{"subscription":{}}},{"method":"DELETE","path":"/notifications/subscribe","summary":"Delete subscribe","description":"`DELETE /api/v1/notifications/subscribe` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/offline/queue","summary":"List queue","description":"`GET /api/v1/offline/queue` — introspected from the live route handler.","parameters":[{"name":"agentId","in":"query","required":false,"type":"string","description":"agentId query parameter"}],"exampleBody":null},{"method":"POST","path":"/offline/queue","summary":"Create queue","description":"`POST /api/v1/offline/queue` — introspected from the live route handler.","parameters":[{"name":"agentId","in":"query","required":false,"type":"string","description":"agentId query parameter"},{"name":"type","in":"body","required":true,"type":"string","enum":["cash_in","cash_out","claim","transfer"],"description":"","example":"cash_in"},{"name":"agentId","in":"body","required":true,"type":"string","description":"","example":"example-agentId"},{"name":"payload","in":"body","required":true,"type":"object","description":"","example":{}},{"name":"offlineTimestamp","in":"body","required":false,"type":"string","description":"","example":"example-offlineTimestamp"},{"name":"items","in":"body","required":true,"type":"array","description":"","example":[]}],"exampleBody":{"type":"cash_in","agentId":"example-agentId","payload":{},"offlineTimestamp":"example-offlineTimestamp","items":[]}},{"method":"POST","path":"/offline/sync","summary":"Create sync","description":"`POST /api/v1/offline/sync` — introspected from the live route handler.","parameters":[{"name":"agentId","in":"body","required":false,"type":"string","description":"","example":"example-agentId"},{"name":"maxItems","in":"body","required":false,"type":"number","description":"","example":0}],"exampleBody":{"agentId":"example-agentId","maxItems":0}},{"method":"GET","path":"/order","summary":"List order","description":"`GET /api/v1/order` — introspected from the live route handler.","parameters":[{"name":"id","in":"query","required":false,"type":"string","description":"id query parameter"},{"name":"userId","in":"query","required":false,"type":"string","description":"userId query parameter"},{"name":"role","in":"query","required":false,"type":"string","description":"role query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"}],"exampleBody":null},{"method":"POST","path":"/order","summary":"Create order","description":"`POST /api/v1/order` — introspected from the live route handler.","parameters":[{"name":"id","in":"query","required":false,"type":"string","description":"id query parameter"},{"name":"userId","in":"query","required":false,"type":"string","description":"userId query parameter"},{"name":"role","in":"query","required":false,"type":"string","description":"role query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"orderId","in":"body","required":true,"type":"string","description":"","example":"example-orderId"},{"name":"buyerId","in":"body","required":true,"type":"string","description":"","example":"example-buyerId"},{"name":"userId","in":"body","required":true,"type":"string","description":"","example":"example-userId"},{"name":"role","in":"body","required":true,"type":"string","description":"","example":"example-role"}],"exampleBody":{"action":"example-action","orderId":"example-orderId","buyerId":"example-buyerId","userId":"example-userId","role":"example-role"}},{"method":"POST","path":"/partner/branding/upload","summary":"Create upload","description":"`POST /api/v1/partner/branding/upload` — introspected from the live route handler.","parameters":[{"name":"assetType","in":"body","required":false,"type":"string","description":"","example":"example-assetType"},{"name":"file","in":"body","required":true,"type":"string","description":"","example":"example-file"},{"name":"dataUri","in":"body","required":true,"type":"string","description":"","example":"example-dataUri"}],"exampleBody":{"assetType":"example-assetType","file":"example-file","dataUri":"example-dataUri"}},{"method":"GET","path":"/partner/dashboard/limits","summary":"List limits","description":"`GET /api/v1/partner/dashboard/limits` — introspected from the live route handler.","parameters":[{"name":"partnerId","in":"query","required":false,"type":"string","description":"partnerId query parameter"}],"exampleBody":null},{"method":"GET","path":"/partner/dashboard/overview","summary":"List overview","description":"`GET /api/v1/partner/dashboard/overview` — introspected from the live route handler.","parameters":[{"name":"partnerId","in":"query","required":false,"type":"string","description":"partnerId query parameter"},{"name":"from","in":"query","required":false,"type":"string","description":"from query parameter"},{"name":"to","in":"query","required":false,"type":"string","description":"to query parameter"}],"exampleBody":null},{"method":"GET","path":"/partner/dashboard/transactions","summary":"List transactions","description":"`GET /api/v1/partner/dashboard/transactions` — introspected from the live route handler.","parameters":[{"name":"partnerId","in":"query","required":false,"type":"string","description":"partnerId query parameter"},{"name":"from","in":"query","required":false,"type":"string","description":"from query parameter"},{"name":"to","in":"query","required":false,"type":"string","description":"to query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"}],"exampleBody":null},{"method":"GET","path":"/partner/white-label","summary":"List white label","description":"`GET /api/v1/partner/white-label` — introspected from the live route handler.","parameters":[{"name":"partnerId","in":"query","required":false,"type":"string","description":"partnerId query parameter"}],"exampleBody":null},{"method":"PUT","path":"/partner/white-label","summary":"Replace white label","description":"`PUT /api/v1/partner/white-label` — introspected from the live route handler.","parameters":[{"name":"partnerId","in":"query","required":false,"type":"string","description":"partnerId query parameter"}],"exampleBody":null},{"method":"GET","path":"/partners/{id}/branding","summary":"List branding","description":"`GET /api/v1/partners/{id}/branding` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PUT","path":"/partners/{id}/branding","summary":"Replace branding","description":"`PUT /api/v1/partners/{id}/branding` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"POST","path":"/partners/{id}/branding/upload","summary":"Create upload","description":"`POST /api/v1/partners/{id}/branding/upload` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"assetType","in":"body","required":false,"type":"string","description":"","example":"example-assetType"},{"name":"file","in":"body","required":true,"type":"string","description":"","example":"example-file"},{"name":"dataUri","in":"body","required":true,"type":"string","description":"","example":"example-dataUri"}],"exampleBody":{"assetType":"example-assetType","file":"example-file","dataUri":"example-dataUri"}},{"method":"GET","path":"/partners/{id}/commercial","summary":"List commercial","description":"`GET /api/v1/partners/{id}/commercial` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PUT","path":"/partners/{id}/commercial","summary":"Replace commercial","description":"`PUT /api/v1/partners/{id}/commercial` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"requestId","in":"body","required":true,"type":"string","description":"","example":"example-requestId"},{"name":"action","in":"body","required":true,"type":"string","description":"","example":"example-action"},{"name":"adminNote","in":"body","required":false,"type":"string","description":"","example":"example-adminNote"}],"exampleBody":{"requestId":"example-requestId","action":"example-action","adminNote":"example-adminNote"}},{"method":"PATCH","path":"/partners/{id}/commercial","summary":"Update commercial","description":"`PATCH /api/v1/partners/{id}/commercial` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"requestId","in":"body","required":true,"type":"string","description":"","example":"example-requestId"},{"name":"action","in":"body","required":true,"type":"string","description":"","example":"example-action"},{"name":"adminNote","in":"body","required":false,"type":"string","description":"","example":"example-adminNote"}],"exampleBody":{"requestId":"example-requestId","action":"example-action","adminNote":"example-adminNote"}},{"method":"POST","path":"/partners/{id}/domain","summary":"Create domain","description":"`POST /api/v1/partners/{id}/domain` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"domain","in":"body","required":true,"type":"string","description":"","example":"example-domain"}],"exampleBody":{"domain":"example-domain"}},{"method":"PUT","path":"/partners/{id}/domain","summary":"Replace domain","description":"`PUT /api/v1/partners/{id}/domain` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"domain","in":"body","required":true,"type":"string","description":"","example":"example-domain"}],"exampleBody":{"domain":"example-domain"}},{"method":"GET","path":"/partners/{id}/feature-requests","summary":"List feature requests","description":"`GET /api/v1/partners/{id}/feature-requests` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"POST","path":"/partners/{id}/feature-requests","summary":"Create feature requests","description":"`POST /api/v1/partners/{id}/feature-requests` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"requestId","in":"body","required":true,"type":"string","description":"","example":"example-requestId"},{"name":"action","in":"body","required":true,"type":"string","description":"","example":"example-action"},{"name":"adminNote","in":"body","required":false,"type":"string","description":"","example":"example-adminNote"}],"exampleBody":{"requestId":"example-requestId","action":"example-action","adminNote":"example-adminNote"}},{"method":"PATCH","path":"/partners/{id}/feature-requests","summary":"Update feature requests","description":"`PATCH /api/v1/partners/{id}/feature-requests` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"requestId","in":"body","required":true,"type":"string","description":"","example":"example-requestId"},{"name":"action","in":"body","required":true,"type":"string","description":"","example":"example-action"},{"name":"adminNote","in":"body","required":false,"type":"string","description":"","example":"example-adminNote"}],"exampleBody":{"requestId":"example-requestId","action":"example-action","adminNote":"example-adminNote"}},{"method":"GET","path":"/partners/{id}","summary":"Get partners","description":"`GET /api/v1/partners/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PATCH","path":"/partners/{id}","summary":"Update partners","description":"`PATCH /api/v1/partners/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"reason","in":"body","required":false,"type":"string","description":"","example":"example-reason"}],"exampleBody":{"action":"example-action","reason":"example-reason"}},{"method":"GET","path":"/partners/{id}/user-access","summary":"List user access","description":"`GET /api/v1/partners/{id}/user-access` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PUT","path":"/partners/{id}/user-access","summary":"Replace user access","description":"`PUT /api/v1/partners/{id}/user-access` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"userSiteFeatures","in":"body","required":false,"type":"string","description":"","example":"example-userSiteFeatures"},{"name":"features","in":"body","required":false,"type":"string","description":"","example":"example-features"}],"exampleBody":{"userSiteFeatures":"example-userSiteFeatures","features":"example-features"}},{"method":"GET","path":"/partners/{id}/white-label","summary":"List white label","description":"`GET /api/v1/partners/{id}/white-label` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PUT","path":"/partners/{id}/white-label","summary":"Replace white label","description":"`PUT /api/v1/partners/{id}/white-label` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/partners","summary":"List partners","description":"`GET /api/v1/partners` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"search","in":"query","required":false,"type":"string","description":"search query parameter"}],"exampleBody":null},{"method":"POST","path":"/partners","summary":"Create partners","description":"`POST /api/v1/partners` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"search","in":"query","required":false,"type":"string","description":"search query parameter"}],"exampleBody":null},{"method":"GET","path":"/partners/stats","summary":"List stats","description":"`GET /api/v1/partners/stats` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/pay-link/{code}","summary":"Get pay link","description":"`GET /api/v1/pay-link/{code}` — introspected from the live route handler.","parameters":[{"name":"code","in":"path","required":true,"type":"string","description":"code identifier"}],"exampleBody":null},{"method":"POST","path":"/pay-link/{code}","summary":"Create pay link","description":"`POST /api/v1/pay-link/{code}` — introspected from the live route handler.","parameters":[{"name":"code","in":"path","required":true,"type":"string","description":"code identifier"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"note","in":"body","required":false,"type":"string","description":"","example":"example-note"}],"exampleBody":{"amount":"example-amount","currency":"example-currency","note":"example-note"}},{"method":"POST","path":"/pay/{token}/initiate","summary":"Create initiate","description":"`POST /api/v1/pay/{token}/initiate` — introspected from the live route handler.","parameters":[{"name":"token","in":"path","required":true,"type":"string","description":"token identifier"}],"exampleBody":null},{"method":"GET","path":"/pay/{token}/proof","summary":"List proof","description":"`GET /api/v1/pay/{token}/proof` — introspected from the live route handler.","parameters":[{"name":"token","in":"path","required":true,"type":"string","description":"token identifier"}],"exampleBody":null},{"method":"POST","path":"/pay/{token}/proof","summary":"Create proof","description":"`POST /api/v1/pay/{token}/proof` — introspected from the live route handler.","parameters":[{"name":"token","in":"path","required":true,"type":"string","description":"token identifier"},{"name":"senderPhone","in":"body","required":false,"type":"string","description":"","example":"example-senderPhone"},{"name":"senderAccount","in":"body","required":false,"type":"string","description":"","example":"example-senderAccount"},{"name":"senderEmail","in":"body","required":false,"type":"string","format":"email","description":"","example":"user@example.com"},{"name":"submittedCurrency","in":"body","required":false,"type":"string","description":"","example":"example-submittedCurrency"},{"name":"transactionId","in":"body","required":false,"type":"string","description":"","example":"example-transactionId"},{"name":"transactionDate","in":"body","required":false,"type":"string","description":"","example":"example-transactionDate"},{"name":"bankReference","in":"body","required":false,"type":"string","description":"","example":"example-bankReference"},{"name":"blockchainHash","in":"body","required":false,"type":"string","description":"","example":"example-blockchainHash"},{"name":"networkConfirmations","in":"body","required":false,"type":"number","description":"","example":0},{"name":"files","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"customFields","in":"body","required":false,"type":"object","description":"","example":{}},{"name":"type","in":"body","required":false,"type":"string","description":"","example":"example-type"}],"exampleBody":{"senderPhone":"example-senderPhone","senderAccount":"example-senderAccount","senderEmail":"user@example.com","submittedCurrency":"example-submittedCurrency","transactionId":"example-transactionId","transactionDate":"example-transactionDate","bankReference":"example-bankReference","blockchainHash":"example-blockchainHash","networkConfirmations":0,"files":[],"customFields":{},"type":"example-type"}},{"method":"GET","path":"/pay/{token}","summary":"Get pay","description":"`GET /api/v1/pay/{token}` — introspected from the live route handler.","parameters":[{"name":"token","in":"path","required":true,"type":"string","description":"token identifier"}],"exampleBody":null},{"method":"GET","path":"/pay/intent/{id}","summary":"Get intent","description":"`GET /api/v1/pay/intent/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"POST","path":"/pay/intent/{id}","summary":"Create intent","description":"`POST /api/v1/pay/intent/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"paymentMethod","in":"body","required":false,"type":"string","description":"","example":"example-paymentMethod"},{"name":"payerInfo","in":"body","required":false,"type":"object","format":"email","description":"","example":{}},{"name":"proof","in":"body","required":false,"type":"object","description":"","example":{}},{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"},{"name":"email","in":"body","required":false,"type":"string","format":"email","description":"","example":"user@example.com"},{"name":"phone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"},{"name":"transactionId","in":"body","required":false,"type":"string","description":"","example":"example-transactionId"},{"name":"senderName","in":"body","required":false,"type":"string","description":"","example":"example-senderName"},{"name":"senderPhone","in":"body","required":false,"type":"string","description":"","example":"example-senderPhone"},{"name":"screenshot","in":"body","required":false,"type":"string","description":"","example":"example-screenshot"}],"exampleBody":{"paymentMethod":"example-paymentMethod","payerInfo":{},"proof":{},"name":"example-name","email":"user@example.com","phone":"example-phone","transactionId":"example-transactionId","senderName":"example-senderName","senderPhone":"example-senderPhone","screenshot":"example-screenshot"}},{"method":"GET","path":"/pay/link/{slug}","summary":"Get link","description":"`GET /api/v1/pay/link/{slug}` — introspected from the live route handler.","parameters":[{"name":"slug","in":"path","required":true,"type":"string","description":"slug identifier"}],"exampleBody":null},{"method":"POST","path":"/pay/link/{slug}","summary":"Create link","description":"`POST /api/v1/pay/link/{slug}` — introspected from the live route handler.","parameters":[{"name":"slug","in":"path","required":true,"type":"string","description":"slug identifier"}],"exampleBody":null},{"method":"GET","path":"/payment-links/{linkId}","summary":"Get payment links","description":"`GET /api/v1/payment-links/{linkId}` — introspected from the live route handler.","parameters":[{"name":"linkId","in":"path","required":true,"type":"string","description":"linkId identifier"}],"exampleBody":null},{"method":"DELETE","path":"/payment-links/{linkId}","summary":"Delete payment links","description":"`DELETE /api/v1/payment-links/{linkId}` — introspected from the live route handler.","parameters":[{"name":"linkId","in":"path","required":true,"type":"string","description":"linkId identifier"}],"exampleBody":null},{"method":"GET","path":"/payment-links","summary":"List payment links","description":"`GET /api/v1/payment-links` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"}],"exampleBody":null},{"method":"POST","path":"/payment-links","summary":"Create payment links","description":"`POST /api/v1/payment-links` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"}],"exampleBody":null},{"method":"POST","path":"/payment-methods/{id}/actions","summary":"Create actions","description":"`POST /api/v1/payment-methods/{id}/actions` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"action","in":"body","required":true,"type":"string","enum":["toggle","archive","unarchive","update-status"],"description":"","example":"toggle"},{"name":"isActive","in":"body","required":false,"type":"boolean","description":"","example":false}],"exampleBody":{"action":"toggle","isActive":false}},{"method":"GET","path":"/payment-methods/{id}","summary":"Get payment methods","description":"`GET /api/v1/payment-methods/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PATCH","path":"/payment-methods/{id}","summary":"Update payment methods","description":"`PATCH /api/v1/payment-methods/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"description","in":"body","required":false,"type":"string","description":"","example":"example-description"},{"name":"icon","in":"body","required":false,"type":"string","description":"","example":"example-icon"},{"name":"currencies","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"receiverName","in":"body","required":false,"type":"string","description":"","example":"example-receiverName"},{"name":"accountName","in":"body","required":false,"type":"string","description":"","example":"example-accountName"},{"name":"bankName","in":"body","required":false,"type":"string","description":"","example":"example-bankName"},{"name":"bankCode","in":"body","required":false,"type":"string","description":"","example":"example-bankCode"},{"name":"walletNetwork","in":"body","required":false,"type":"string","description":"","example":"example-walletNetwork"},{"name":"agentLocation","in":"body","required":false,"type":"string","description":"","example":"example-agentLocation"},{"name":"agentPhone","in":"body","required":false,"type":"string","description":"","example":"example-agentPhone"},{"name":"customFields","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"verificationMode","in":"body","required":false,"type":"string","description":"","example":"example-verificationMode"},{"name":"autoVerifyRules","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"qrData","in":"body","required":false,"type":"string","description":"","example":"example-qrData"},{"name":"maxAmount","in":"body","required":false,"type":"number","description":"","example":0},{"name":"dailyLimit","in":"body","required":false,"type":"number","description":"","example":0},{"name":"monthlyLimit","in":"body","required":false,"type":"number","description":"","example":0},{"name":"percentageFee","in":"body","required":false,"type":"number","description":"","example":0},{"name":"feeType","in":"body","required":false,"type":"string","enum":["inclusive","exclusive"],"description":"","example":"inclusive"},{"name":"processingTimeMax","in":"body","required":false,"type":"number","description":"","example":0},{"name":"processingTimeUnit","in":"body","required":false,"type":"string","enum":["minutes","hours","days"],"description":"","example":"minutes"},{"name":"isActive","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"sortOrder","in":"body","required":false,"type":"number","description":"","example":0}],"exampleBody":{"description":"example-description","icon":"example-icon","currencies":[],"receiverName":"example-receiverName","accountName":"example-accountName","bankName":"example-bankName","bankCode":"example-bankCode","walletNetwork":"example-walletNetwork","agentLocation":"example-agentLocation","agentPhone":"example-agentPhone","customFields":[],"verificationMode":"example-verificationMode","autoVerifyRules":[],"qrData":"example-qrData","maxAmount":0,"dailyLimit":0,"monthlyLimit":0,"percentageFee":0,"feeType":"inclusive","processingTimeMax":0,"processingTimeUnit":"minutes","isActive":false,"sortOrder":0}},{"method":"DELETE","path":"/payment-methods/{id}","summary":"Delete payment methods","description":"`DELETE /api/v1/payment-methods/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/payment-methods/available-templates","summary":"List available templates","description":"`GET /api/v1/payment-methods/available-templates` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/payment-methods/available","summary":"List available","description":"`GET /api/v1/payment-methods/available` — introspected from the live route handler.","parameters":[{"name":"country","in":"query","required":false,"type":"string","description":"country query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"currency","in":"query","required":false,"type":"string","description":"currency query parameter"}],"exampleBody":null},{"method":"POST","path":"/payment-methods/reorder","summary":"Create reorder","description":"`POST /api/v1/payment-methods/reorder` — introspected from the live route handler.","parameters":[{"name":"orderedIds","in":"body","required":true,"type":"array","description":"","example":[]}],"exampleBody":{"orderedIds":[]}},{"method":"GET","path":"/payment-methods","summary":"List payment methods","description":"`GET /api/v1/payment-methods` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/payment-methods","summary":"Create payment methods","description":"`POST /api/v1/payment-methods` — introspected from the live route handler.","parameters":[{"name":"templateId","in":"body","required":true,"type":"string","description":"","example":"example-templateId"},{"name":"description","in":"body","required":false,"type":"string","description":"","example":"example-description"},{"name":"icon","in":"body","required":false,"type":"string","description":"","example":"example-icon"},{"name":"currencies","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"receiverName","in":"body","required":false,"type":"string","description":"","example":"example-receiverName"},{"name":"accountName","in":"body","required":false,"type":"string","description":"","example":"example-accountName"},{"name":"bankName","in":"body","required":false,"type":"string","description":"","example":"example-bankName"},{"name":"bankCode","in":"body","required":false,"type":"string","description":"","example":"example-bankCode"},{"name":"walletNetwork","in":"body","required":false,"type":"string","description":"","example":"example-walletNetwork"},{"name":"network","in":"body","required":false,"type":"string","description":"","example":"example-network"},{"name":"agentLocation","in":"body","required":false,"type":"string","description":"","example":"example-agentLocation"},{"name":"agentPhone","in":"body","required":false,"type":"string","description":"","example":"example-agentPhone"},{"name":"customFields","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"verificationMode","in":"body","required":false,"type":"string","description":"","example":"example-verificationMode"},{"name":"autoVerifyRules","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"qrData","in":"body","required":false,"type":"string","description":"","example":"example-qrData"},{"name":"maxAmount","in":"body","required":false,"type":"number","description":"","example":0},{"name":"dailyLimit","in":"body","required":false,"type":"number","description":"","example":0},{"name":"monthlyLimit","in":"body","required":false,"type":"number","description":"","example":0},{"name":"percentageFee","in":"body","required":false,"type":"number","description":"","example":0},{"name":"feeType","in":"body","required":false,"type":"string","enum":["inclusive","exclusive"],"description":"","example":"inclusive"},{"name":"processingTimeMax","in":"body","required":false,"type":"number","description":"","example":0},{"name":"processingTimeUnit","in":"body","required":false,"type":"string","enum":["minutes","hours","days"],"description":"","example":"minutes"},{"name":"isActive","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"sortOrder","in":"body","required":false,"type":"number","description":"","example":0}],"exampleBody":{"templateId":"example-templateId","description":"example-description","icon":"example-icon","currencies":[],"receiverName":"example-receiverName","accountName":"example-accountName","bankName":"example-bankName","bankCode":"example-bankCode","walletNetwork":"example-walletNetwork","network":"example-network","agentLocation":"example-agentLocation","agentPhone":"example-agentPhone","customFields":[],"verificationMode":"example-verificationMode","autoVerifyRules":[],"qrData":"example-qrData","maxAmount":0,"dailyLimit":0,"monthlyLimit":0,"percentageFee":0,"feeType":"inclusive","processingTimeMax":0,"processingTimeUnit":"minutes","isActive":false,"sortOrder":0}},{"method":"POST","path":"/payment-proofs/{id}/review","summary":"Create review","description":"`POST /api/v1/payment-proofs/{id}/review` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"action","in":"body","required":true,"type":"string","enum":["approve","reject"],"description":"","example":"approve"},{"name":"notes","in":"body","required":false,"type":"string","description":"","example":"example-notes"},{"name":"rejectionReason","in":"body","required":false,"type":"string","description":"","example":"example-rejectionReason"}],"exampleBody":{"action":"approve","notes":"example-notes","rejectionReason":"example-rejectionReason"}},{"method":"GET","path":"/payment-proofs/{id}","summary":"Get payment proofs","description":"`GET /api/v1/payment-proofs/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/payment-proofs","summary":"List payment proofs","description":"`GET /api/v1/payment-proofs` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/payment-requests","summary":"List payment requests","description":"`GET /api/v1/payment-requests` — introspected from the live route handler.","parameters":[{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"}],"exampleBody":null},{"method":"POST","path":"/payment-requests","summary":"Create payment requests","description":"`POST /api/v1/payment-requests` — introspected from the live route handler.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"amount","in":"body","required":false,"type":"string","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"recipientPhone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"note","in":"body","required":false,"type":"string","description":"","example":"example-note"},{"name":"requestId","in":"body","required":true,"type":"string","description":"","example":"example-requestId"},{"name":"action","in":"body","required":true,"type":"string","description":"","example":"example-action"},{"name":"stepUpVerified","in":"body","required":true,"type":"string","description":"","example":"example-stepUpVerified"},{"name":"reason","in":"body","required":false,"type":"string","description":"","example":"example-reason"},{"name":"details","in":"body","required":false,"type":"string","description":"","example":"example-details"}],"exampleBody":{"amount":"example-amount","currency":"example-currency","recipientPhone":"example-recipientPhone","note":"example-note","requestId":"example-requestId","action":"example-action","stepUpVerified":"example-stepUpVerified","reason":"example-reason","details":"example-details"}},{"method":"PATCH","path":"/payment-requests","summary":"Update payment requests","description":"`PATCH /api/v1/payment-requests` — introspected from the live route handler.","parameters":[{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"amount","in":"body","required":false,"type":"string","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"recipientPhone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"note","in":"body","required":false,"type":"string","description":"","example":"example-note"},{"name":"requestId","in":"body","required":true,"type":"string","description":"","example":"example-requestId"},{"name":"action","in":"body","required":true,"type":"string","description":"","example":"example-action"},{"name":"stepUpVerified","in":"body","required":true,"type":"string","description":"","example":"example-stepUpVerified"},{"name":"reason","in":"body","required":false,"type":"string","description":"","example":"example-reason"},{"name":"details","in":"body","required":false,"type":"string","description":"","example":"example-details"}],"exampleBody":{"amount":"example-amount","currency":"example-currency","recipientPhone":"example-recipientPhone","note":"example-note","requestId":"example-requestId","action":"example-action","stepUpVerified":"example-stepUpVerified","reason":"example-reason","details":"example-details"}},{"method":"POST","path":"/payment-sessions/{id}/actions","summary":"Create actions","description":"`POST /api/v1/payment-sessions/{id}/actions` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"action","in":"body","required":true,"type":"string","description":"","example":"example-action"},{"name":"reason","in":"body","required":true,"type":"string","description":"","example":"example-reason"},{"name":"notes","in":"body","required":false,"type":"string","description":"","example":"example-notes"},{"name":"amount","in":"body","required":false,"type":"number","description":"","example":0},{"name":"proofData","in":"body","required":false,"type":"string","enum":["screenshot","reference","receipt","transaction_id"],"description":"","example":"screenshot"},{"name":"type","in":"body","required":false,"type":"string","enum":["screenshot","reference","receipt","transaction_id"],"description":"","example":"screenshot"},{"name":"reference","in":"body","required":false,"type":"string","description":"","example":"example-reference"},{"name":"senderName","in":"body","required":false,"type":"string","description":"","example":"example-senderName"},{"name":"senderPhone","in":"body","required":false,"type":"string","description":"","example":"example-senderPhone"},{"name":"senderEmail","in":"body","required":false,"type":"string","description":"","example":"example-senderEmail"},{"name":"fileUrl","in":"body","required":false,"type":"string","description":"","example":"example-fileUrl"}],"exampleBody":{"action":"example-action","reason":"example-reason","notes":"example-notes","amount":0,"proofData":"screenshot","type":"screenshot","reference":"example-reference","senderName":"example-senderName","senderPhone":"example-senderPhone","senderEmail":"example-senderEmail","fileUrl":"example-fileUrl"}},{"method":"GET","path":"/payment-sessions/{id}/events","summary":"List events","description":"`GET /api/v1/payment-sessions/{id}/events` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/payment-sessions/{id}","summary":"Get payment sessions","description":"`GET /api/v1/payment-sessions/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/payment-sessions","summary":"List payment sessions","description":"`GET /api/v1/payment-sessions` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/payment-sessions","summary":"Create payment sessions","description":"`POST /api/v1/payment-sessions` — introspected from the live route handler.","parameters":[{"name":"paymentMethodId","in":"body","required":true,"type":"string","description":"","example":"example-paymentMethodId"},{"name":"amount","in":"body","required":true,"type":"number","description":"","example":100},{"name":"currency","in":"body","required":true,"type":"string","description":"","example":"ETB"},{"name":"externalOrderId","in":"body","required":false,"type":"string","description":"","example":"example-externalOrderId"},{"name":"destinationCountry","in":"body","required":false,"type":"string","description":"","example":"example-destinationCountry"},{"name":"webhookUrl","in":"body","required":false,"type":"string","description":"","example":"example-webhookUrl"},{"name":"statuses","in":"body","required":false,"type":"string","description":"","example":"example-statuses"},{"name":"fromDate","in":"body","required":false,"type":"string","description":"","example":"example-fromDate"},{"name":"toDate","in":"body","required":false,"type":"string","description":"","example":"example-toDate"},{"name":"page","in":"body","required":false,"type":"number","description":"","example":0},{"name":"limit","in":"body","required":false,"type":"number","description":"","example":0},{"name":"sortBy","in":"body","required":false,"type":"string","enum":["createdAt","amount","status"],"description":"","example":"createdAt"},{"name":"sortOrder","in":"body","required":false,"type":"string","enum":["asc","desc"],"description":"","example":"asc"}],"exampleBody":{"paymentMethodId":"example-paymentMethodId","amount":100,"currency":"example-currency","externalOrderId":"example-externalOrderId","destinationCountry":"example-destinationCountry","webhookUrl":"example-webhookUrl","statuses":"example-statuses","fromDate":"example-fromDate","toDate":"example-toDate","page":0,"limit":0,"sortBy":"createdAt","sortOrder":"asc"}},{"method":"GET","path":"/payment-sessions/stats","summary":"List stats","description":"`GET /api/v1/payment-sessions/stats` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/payment-templates/{id}","summary":"Get payment templates","description":"`GET /api/v1/payment-templates/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PATCH","path":"/payment-templates/{id}","summary":"Update payment templates","description":"`PATCH /api/v1/payment-templates/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"},{"name":"description","in":"body","required":false,"type":"string","description":"","example":"example-description"},{"name":"countries","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"currencies","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"icon","in":"body","required":false,"type":"string","description":"","example":"example-icon"},{"name":"requiredFields","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"proofFields","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"verificationModes","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"defaultVerificationMode","in":"body","required":false,"type":"string","description":"","example":"example-defaultVerificationMode"},{"name":"qrSupported","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"qrMetadata","in":"body","required":false,"type":"object","description":"","example":{}},{"name":"metadata","in":"body","required":false,"type":"object","description":"","example":{}},{"name":"sortOrder","in":"body","required":false,"type":"number","description":"","example":0},{"name":"key","in":"body","required":true,"type":"string","description":"","example":"example-key"},{"name":"label","in":"body","required":true,"type":"string","description":"","example":"example-label"},{"name":"type","in":"body","required":true,"type":"string","description":"","example":"example-type"},{"name":"required","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"defaultValue","in":"body","required":false,"type":"string","description":"","example":"example-defaultValue"},{"name":"options","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"value","in":"body","required":true,"type":"string","description":"","example":"example-value"}],"exampleBody":{"name":"example-name","description":"example-description","countries":[],"currencies":[],"icon":"example-icon","requiredFields":[],"proofFields":[],"verificationModes":[],"defaultVerificationMode":"example-defaultVerificationMode","qrSupported":false,"qrMetadata":{},"metadata":{},"sortOrder":0,"key":"example-key","label":"example-label","type":"example-type","required":false,"defaultValue":"example-defaultValue","options":[],"value":"example-value"}},{"method":"DELETE","path":"/payment-templates/{id}","summary":"Delete payment templates","description":"`DELETE /api/v1/payment-templates/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/payment-templates","summary":"List payment templates","description":"`GET /api/v1/payment-templates` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/payment-templates","summary":"Create payment templates","description":"`POST /api/v1/payment-templates` — introspected from the live route handler.","parameters":[{"name":"code","in":"body","required":true,"type":"string","description":"","example":"example-code"},{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"type","in":"body","required":true,"type":"string","description":"","example":"example-type"},{"name":"description","in":"body","required":false,"type":"string","description":"","example":"example-description"},{"name":"countries","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"currencies","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"icon","in":"body","required":false,"type":"string","description":"","example":"example-icon"},{"name":"requiredFields","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"proofFields","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"verificationModes","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"defaultVerificationMode","in":"body","required":false,"type":"string","description":"","example":"example-defaultVerificationMode"},{"name":"qrSupported","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"qrMetadata","in":"body","required":false,"type":"object","description":"","example":{}},{"name":"metadata","in":"body","required":false,"type":"object","description":"","example":{}},{"name":"sortOrder","in":"body","required":false,"type":"number","description":"","example":0},{"name":"key","in":"body","required":true,"type":"string","description":"","example":"example-key"},{"name":"label","in":"body","required":true,"type":"string","description":"","example":"example-label"},{"name":"required","in":"body","required":false,"type":"boolean","description":"","example":false},{"name":"defaultValue","in":"body","required":false,"type":"string","description":"","example":"example-defaultValue"},{"name":"options","in":"body","required":false,"type":"array","description":"","example":[]},{"name":"value","in":"body","required":true,"type":"string","description":"","example":"example-value"}],"exampleBody":{"code":"example-code","name":"example-name","type":"example-type","description":"example-description","countries":[],"currencies":[],"icon":"example-icon","requiredFields":[],"proofFields":[],"verificationModes":[],"defaultVerificationMode":"example-defaultVerificationMode","qrSupported":false,"qrMetadata":{},"metadata":{},"sortOrder":0,"key":"example-key","label":"example-label","required":false,"defaultValue":"example-defaultValue","options":[],"value":"example-value"}},{"method":"POST","path":"/payment-templates/seed","summary":"Create seed","description":"`POST /api/v1/payment-templates/seed` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/payment/session/{sessionId}","summary":"Get session","description":"`GET /api/v1/payment/session/{sessionId}` — introspected from the live route handler.","parameters":[{"name":"sessionId","in":"path","required":true,"type":"string","description":"sessionId identifier"}],"exampleBody":null},{"method":"GET","path":"/payments/chapa/initialize","summary":"List initialize","description":"`GET /api/v1/payments/chapa/initialize` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/payments/chapa/initialize","summary":"Create initialize","description":"`POST /api/v1/payments/chapa/initialize` — introspected from the live route handler.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"}],"exampleBody":null},{"method":"GET","path":"/payments/checkout","summary":"List checkout","description":"`GET /api/v1/payments/checkout` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/payments/checkout","summary":"Create checkout","description":"`POST /api/v1/payments/checkout` — introspected from the live route handler.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"}],"exampleBody":null},{"method":"GET","path":"/payments/corridors","summary":"List corridors","description":"`GET /api/v1/payments/corridors` — introspected from the live route handler.","parameters":[{"name":"sourceCurrency","in":"query","required":false,"type":"string","description":"sourceCurrency query parameter"},{"name":"destinationCountry","in":"query","required":false,"type":"string","description":"destinationCountry query parameter"},{"name":"destinationCurrency","in":"query","required":false,"type":"string","description":"destinationCurrency query parameter"}],"exampleBody":null},{"method":"POST","path":"/payments/detect-sms","summary":"Create detect sms","description":"`POST /api/v1/payments/detect-sms` — introspected from the live route handler.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"},{"name":"smsBody","in":"body","required":true,"type":"string","description":"","example":"example-smsBody"},{"name":"sender","in":"body","required":true,"type":"string","description":"","example":"example-sender"},{"name":"sessionId","in":"body","required":false,"type":"string","description":"","example":"example-sessionId"},{"name":"timestamp","in":"body","required":false,"type":"string","description":"","example":"example-timestamp"}],"exampleBody":{"smsBody":"example-smsBody","sender":"example-sender","sessionId":"example-sessionId","timestamp":"example-timestamp"}},{"method":"POST","path":"/payments/merchant","summary":"Create merchant","description":"`POST /api/v1/payments/merchant` — introspected from the live route handler.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"},{"name":"code","in":"body","required":false,"type":"string","description":"","example":"example-code"},{"name":"kycStatus","in":"body","required":false,"type":"string","description":"","example":"example-kycStatus"}],"exampleBody":{"code":"example-code","kycStatus":"example-kycStatus"}},{"method":"POST","path":"/payments/quote","summary":"Create quote","description":"`POST /api/v1/payments/quote` — introspected from the live route handler.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"},{"name":"sourceAmount","in":"body","required":false,"type":"string","description":"","example":"example-sourceAmount"},{"name":"sourceCurrency","in":"body","required":false,"type":"string","description":"","example":"example-sourceCurrency"},{"name":"targetCurrency","in":"body","required":false,"type":"string","description":"","example":"example-targetCurrency"},{"name":"type","in":"body","required":false,"type":"string","description":"","example":"example-type"},{"name":"corridor","in":"body","required":false,"type":"string","description":"","example":"example-corridor"},{"name":"provider","in":"body","required":false,"type":"string","description":"","example":"example-provider"},{"name":"paymentMethod","in":"body","required":false,"type":"string","description":"","example":"example-paymentMethod"}],"exampleBody":{"sourceAmount":"example-sourceAmount","sourceCurrency":"example-sourceCurrency","targetCurrency":"example-targetCurrency","type":"example-type","corridor":"example-corridor","provider":"example-provider","paymentMethod":"example-paymentMethod"}},{"method":"POST","path":"/payments/send","summary":"Create send","description":"`POST /api/v1/payments/send` — introspected from the live route handler.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"},{"name":"recipientPhone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"},{"name":"recipientEmail","in":"body","required":false,"type":"string","description":"","example":"example-recipientEmail"},{"name":"recipientName","in":"body","required":false,"type":"string","description":"","example":"example-recipientName"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"type","in":"body","required":false,"type":"string","description":"","example":"example-type"},{"name":"metadata","in":"body","required":false,"type":"string","description":"","example":"example-metadata"}],"exampleBody":{"recipientPhone":"example-recipientPhone","recipientEmail":"example-recipientEmail","recipientName":"example-recipientName","country":"example-country","amount":"example-amount","currency":"example-currency","type":"example-type","metadata":"example-metadata"}},{"method":"GET","path":"/payments/stream/{sessionId}","summary":"Get stream","description":"`GET /api/v1/payments/stream/{sessionId}` — introspected from the live route handler.","parameters":[{"name":"sessionId","in":"path","required":true,"type":"string","description":"sessionId identifier"}],"exampleBody":null},{"method":"POST","path":"/payments/stripe/checkout","summary":"Create checkout","description":"`POST /api/v1/payments/stripe/checkout` — introspected from the live route handler.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"}],"exampleBody":null},{"method":"POST","path":"/payments/stripe/create-intent","summary":"Create create intent","description":"`POST /api/v1/payments/stripe/create-intent` — introspected from the live route handler.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"}],"exampleBody":null},{"method":"GET","path":"/payments/stripe/verify","summary":"List verify","description":"`GET /api/v1/payments/stripe/verify` — introspected from the live route handler.","parameters":[{"name":"session_id","in":"query","required":false,"type":"string","description":"session_id query parameter"}],"exampleBody":null},{"method":"POST","path":"/payments/webhook/{provider}","summary":"Create webhook","description":"`POST /api/v1/payments/webhook/{provider}` — introspected from the live route handler.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"},{"name":"provider","in":"path","required":true,"type":"string","description":"provider identifier"}],"exampleBody":null},{"method":"POST","path":"/pin/set","summary":"Create set","description":"`POST /api/v1/pin/set` — introspected from the live route handler.","parameters":[{"name":"pin","in":"body","required":false,"type":"string","description":"","example":"example-pin"},{"name":"confirmPin","in":"body","required":false,"type":"string","description":"","example":"example-confirmPin"},{"name":"currentPin","in":"body","required":true,"type":"string","description":"","example":"example-currentPin"}],"exampleBody":{"pin":"example-pin","confirmPin":"example-confirmPin","currentPin":"example-currentPin"}},{"method":"GET","path":"/pin/status","summary":"List status","description":"`GET /api/v1/pin/status` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/pin/verify","summary":"Create verify","description":"`POST /api/v1/pin/verify` — introspected from the live route handler.","parameters":[{"name":"pin","in":"body","required":false,"type":"string","description":"","example":"example-pin"}],"exampleBody":{"pin":"example-pin"}},{"method":"GET","path":"/product-modules/my","summary":"List my","description":"`GET /api/v1/product-modules/my` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/product","summary":"List product","description":"`GET /api/v1/product` — introspected from the live route handler.","parameters":[{"name":"id","in":"query","required":false,"type":"string","description":"id query parameter"},{"name":"category","in":"query","required":false,"type":"string","description":"category query parameter"},{"name":"search","in":"query","required":false,"type":"string","description":"search query parameter"},{"name":"sort","in":"query","required":false,"type":"string","description":"sort query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"offset","in":"query","required":false,"type":"string","description":"offset query parameter"}],"exampleBody":null},{"method":"POST","path":"/product","summary":"Create product","description":"`POST /api/v1/product` — introspected from the live route handler.","parameters":[{"name":"id","in":"query","required":false,"type":"string","description":"id query parameter"},{"name":"category","in":"query","required":false,"type":"string","description":"category query parameter"},{"name":"search","in":"query","required":false,"type":"string","description":"search query parameter"},{"name":"sort","in":"query","required":false,"type":"string","description":"sort query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"offset","in":"query","required":false,"type":"string","description":"offset query parameter"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"merchantId","in":"body","required":true,"type":"string","description":"","example":"example-merchantId"},{"name":"productId","in":"body","required":false,"type":"string","description":"","example":"example-productId"}],"exampleBody":{"action":"example-action","merchantId":"example-merchantId","productId":"example-productId"}},{"method":"GET","path":"/providers/available","summary":"List available","description":"`GET /api/v1/providers/available` — introspected from the live route handler.","parameters":[{"name":"country","in":"query","required":false,"type":"string","description":"country query parameter"},{"name":"currency","in":"query","required":false,"type":"string","description":"currency query parameter"},{"name":"environment","in":"query","required":false,"type":"string","description":"environment query parameter"},{"name":"includeUnavailable","in":"query","required":false,"type":"string","description":"includeUnavailable query parameter"}],"exampleBody":null},{"method":"POST","path":"/providers/check","summary":"Create check","description":"`POST /api/v1/providers/check` — introspected from the live route handler.","parameters":[{"name":"providerCode","in":"body","required":true,"type":"string","description":"","example":"example-providerCode"},{"name":"amount","in":"body","required":false,"type":"string","description":"","example":100},{"name":"environment","in":"body","required":false,"type":"string","description":"","example":"example-environment"}],"exampleBody":{"providerCode":"example-providerCode","amount":"example-amount","environment":"example-environment"}},{"method":"GET","path":"/public/contact","summary":"List contact","description":"`GET /api/v1/public/contact` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/public/contact","summary":"Create contact","description":"`POST /api/v1/public/contact` — introspected from the live route handler.","parameters":[{"name":"type","in":"body","required":false,"type":"string","description":"","example":"example-type"},{"name":"email","in":"body","required":false,"type":"string","description":"","example":"example-email"},{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"company","in":"body","required":false,"type":"string","description":"","example":"example-company"},{"name":"phone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"},{"name":"subject","in":"body","required":false,"type":"string","description":"","example":"example-subject"}],"exampleBody":{"type":"example-type","email":"example-email","name":"example-name","company":"example-company","phone":"example-phone","subject":"example-subject"}},{"method":"GET","path":"/public/fees","summary":"List fees","description":"`GET /api/v1/public/fees` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/public/investor-leads","summary":"Create investor leads","description":"`POST /api/v1/public/investor-leads` — introspected from the live route handler.","parameters":[{"name":"type","in":"body","required":false,"type":"string","description":"","example":"example-type"},{"name":"email","in":"body","required":false,"type":"string","description":"","example":"example-email"},{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"company","in":"body","required":false,"type":"string","description":"","example":"example-company"},{"name":"investorType","in":"body","required":false,"type":"string","description":"","example":"example-investorType"},{"name":"ticketSize","in":"body","required":false,"type":"string","description":"","example":"example-ticketSize"}],"exampleBody":{"type":"example-type","email":"example-email","name":"example-name","company":"example-company","investorType":"example-investorType","ticketSize":"example-ticketSize"}},{"method":"GET","path":"/public/investor-metrics","summary":"List investor metrics","description":"`GET /api/v1/public/investor-metrics` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/public/partners/{slug}","summary":"Get partners","description":"`GET /api/v1/public/partners/{slug}` — introspected from the live route handler.","parameters":[{"name":"slug","in":"path","required":true,"type":"string","description":"slug identifier"}],"exampleBody":null},{"method":"GET","path":"/public/tap/{tapSessionId}","summary":"Get tap","description":"`GET /api/v1/public/tap/{tapSessionId}` — introspected from the live route handler.","parameters":[{"name":"tapSessionId","in":"path","required":true,"type":"string","description":"tapSessionId identifier"}],"exampleBody":null},{"method":"POST","path":"/public/tap/{tapSessionId}","summary":"Create tap","description":"`POST /api/v1/public/tap/{tapSessionId}` — introspected from the live route handler.","parameters":[{"name":"tapSessionId","in":"path","required":true,"type":"string","description":"tapSessionId identifier"}],"exampleBody":null},{"method":"POST","path":"/public/waitlist","summary":"Create waitlist","description":"`POST /api/v1/public/waitlist` — introspected from the live route handler.","parameters":[{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"email","in":"body","required":false,"type":"string","description":"","example":"example-email"},{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"country","in":"body","required":true,"type":"string","description":"","example":"example-country"},{"name":"company","in":"body","required":false,"type":"string","description":"","example":"example-company"},{"name":"role","in":"body","required":false,"type":"string","description":"","example":"example-role"},{"name":"category","in":"body","required":true,"type":"string","description":"","example":"example-category"},{"name":"expectedVolume","in":"body","required":false,"type":"string","description":"","example":"example-expectedVolume"},{"name":"consentContact","in":"body","required":true,"type":"string","description":"","example":"example-consentContact"},{"name":"consentPrivacy","in":"body","required":true,"type":"string","description":"","example":"example-consentPrivacy"}],"exampleBody":{"name":"example-name","email":"example-email","phone":"example-phone","country":"example-country","company":"example-company","role":"example-role","category":"example-category","expectedVolume":"example-expectedVolume","consentContact":"example-consentContact","consentPrivacy":"example-consentPrivacy"}},{"method":"GET","path":"/qr/{id}/image","summary":"List image","description":"`GET /api/v1/qr/{id}/image` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"POST","path":"/qr/{id}/pay","summary":"Create pay","description":"`POST /api/v1/qr/{id}/pay` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"amount","in":"body","required":false,"type":"number","description":"","example":0},{"name":"payerInfo","in":"body","required":false,"type":"object","format":"email","description":"","example":{}},{"name":"metadata","in":"body","required":false,"type":"object","description":"","example":{}},{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"},{"name":"phone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"},{"name":"email","in":"body","required":false,"type":"string","format":"email","description":"","example":"user@example.com"}],"exampleBody":{"amount":0,"payerInfo":{},"metadata":{},"name":"example-name","phone":"example-phone","email":"user@example.com"}},{"method":"POST","path":"/qr/{id}/session","summary":"Create session","description":"`POST /api/v1/qr/{id}/session` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PUT","path":"/qr/{id}/session","summary":"Replace session","description":"`PUT /api/v1/qr/{id}/session` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"POST","path":"/qr/{id}/smart-route","summary":"Create smart route","description":"`POST /api/v1/qr/{id}/smart-route` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"POST","path":"/qr/generate","summary":"Create generate","description":"`POST /api/v1/qr/generate` — introspected from the live route handler.","parameters":[{"name":"type","in":"body","required":false,"type":"string","enum":["static","dynamic","subscription"],"description":"","example":"static"},{"name":"standard","in":"body","required":false,"type":"string","description":"","example":"example-standard"},{"name":"amount","in":"body","required":false,"type":"number","description":"","example":0},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"merchantName","in":"body","required":false,"type":"string","description":"","example":"example-merchantName"},{"name":"merchantCity","in":"body","required":false,"type":"string","description":"","example":"example-merchantCity"},{"name":"description","in":"body","required":false,"type":"string","description":"","example":"example-description"},{"name":"metadata","in":"body","required":false,"type":"object","description":"","example":{}},{"name":"expiresIn","in":"body","required":false,"type":"number","description":"","example":0}],"exampleBody":{"type":"static","standard":"example-standard","amount":0,"currency":"example-currency","country":"example-country","merchantName":"example-merchantName","merchantCity":"example-merchantCity","description":"example-description","metadata":{},"expiresIn":0}},{"method":"GET","path":"/qr","summary":"List qr","description":"`GET /api/v1/qr` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"standard","in":"query","required":false,"type":"string","description":"standard query parameter"}],"exampleBody":null},{"method":"POST","path":"/qr/scan","summary":"Create scan","description":"`POST /api/v1/qr/scan` — introspected from the live route handler.","parameters":[{"name":"payload","in":"body","required":true,"type":"string","description":"","example":"example-payload"},{"name":"scannerInfo","in":"body","required":false,"type":"number","description":"","example":0},{"name":"deviceId","in":"body","required":false,"type":"string","description":"","example":"example-deviceId"},{"name":"location","in":"body","required":false,"type":"number","description":"","example":0},{"name":"userAgent","in":"body","required":false,"type":"string","description":"","example":"example-userAgent"},{"name":"lat","in":"body","required":true,"type":"number","description":"","example":100},{"name":"lng","in":"body","required":true,"type":"number","description":"","example":100}],"exampleBody":{"payload":"example-payload","scannerInfo":0,"deviceId":"example-deviceId","location":0,"userAgent":"example-userAgent","lat":100,"lng":100}},{"method":"GET","path":"/receipts/{receiptId}","summary":"Get receipts","description":"`GET /api/v1/receipts/{receiptId}` — introspected from the live route handler.","parameters":[{"name":"receiptId","in":"path","required":true,"type":"string","description":"receiptId identifier"}],"exampleBody":null},{"method":"POST","path":"/remittance/{id}/pay","summary":"Create pay","description":"`POST /api/v1/remittance/{id}/pay` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"},{"name":"sender","in":"body","required":false,"type":"object","format":"email","description":"","example":{}},{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"email","in":"body","required":true,"type":"string","format":"email","description":"","example":"user@example.com"},{"name":"phone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"}],"exampleBody":{"sender":{},"name":"example-name","email":"user@example.com","phone":"example-phone"}},{"method":"GET","path":"/remittance/{id}","summary":"Get remittance","description":"`GET /api/v1/remittance/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/remittance/claim","summary":"List claim","description":"`GET /api/v1/remittance/claim` — introspected from the live route handler.","parameters":[{"name":"code","in":"query","required":false,"type":"string","description":"code query parameter"},{"name":"pin","in":"query","required":false,"type":"string","description":"pin query parameter"}],"exampleBody":null},{"method":"POST","path":"/remittance/claim","summary":"Create claim","description":"`POST /api/v1/remittance/claim` — introspected from the live route handler.","parameters":[{"name":"code","in":"query","required":false,"type":"string","description":"code query parameter"},{"name":"pin","in":"query","required":false,"type":"string","description":"pin query parameter"},{"name":"claimCode","in":"body","required":true,"type":"string","description":"","example":"example-claimCode"},{"name":"claimPin","in":"body","required":false,"type":"string","description":"","example":"example-claimPin"},{"name":"recipientIdNumber","in":"body","required":false,"type":"string","description":"","example":"example-recipientIdNumber"},{"name":"recipientIdType","in":"body","required":false,"type":"string","description":"","example":"example-recipientIdType"},{"name":"signature","in":"body","required":false,"type":"string","description":"","example":"example-signature"}],"exampleBody":{"claimCode":"example-claimCode","claimPin":"example-claimPin","recipientIdNumber":"example-recipientIdNumber","recipientIdType":"example-recipientIdType","signature":"example-signature"}},{"method":"OPTIONS","path":"/remittance/claim","summary":"Options for claim","description":"`OPTIONS /api/v1/remittance/claim` — introspected from the live route handler.","parameters":[{"name":"code","in":"query","required":false,"type":"string","description":"code query parameter"},{"name":"pin","in":"query","required":false,"type":"string","description":"pin query parameter"}],"exampleBody":null},{"method":"POST","path":"/remittance/confirm","summary":"Create confirm","description":"`POST /api/v1/remittance/confirm` — introspected from the live route handler.","parameters":[{"name":"transferId","in":"body","required":true,"type":"string","description":"","example":"example-transferId"},{"name":"smsContent","in":"body","required":true,"type":"string","description":"","example":"example-smsContent"}],"exampleBody":{"transferId":"example-transferId","smsContent":"example-smsContent"}},{"method":"POST","path":"/remittance/initiate","summary":"Create initiate","description":"`POST /api/v1/remittance/initiate` — introspected from the live route handler.","parameters":[{"name":"sendAmount","in":"body","required":true,"type":"string","description":"","example":"example-sendAmount"},{"name":"sendCurrency","in":"body","required":false,"type":"string","description":"","example":"example-sendCurrency"},{"name":"receiveCurrency","in":"body","required":false,"type":"string","description":"","example":"example-receiveCurrency"},{"name":"paymentMethod","in":"body","required":true,"type":"string","description":"","example":"example-paymentMethod"},{"name":"beneficiaryPhone","in":"body","required":true,"type":"string","description":"","example":"example-beneficiaryPhone"},{"name":"beneficiaryName","in":"body","required":false,"type":"string","description":"","example":"example-beneficiaryName"},{"name":"note","in":"body","required":false,"type":"string","description":"","example":"example-note"},{"name":"type","in":"body","required":false,"type":"string","description":"","example":"example-type"}],"exampleBody":{"sendAmount":"example-sendAmount","sendCurrency":"example-sendCurrency","receiveCurrency":"example-receiveCurrency","paymentMethod":"example-paymentMethod","beneficiaryPhone":"example-beneficiaryPhone","beneficiaryName":"example-beneficiaryName","note":"example-note","type":"example-type"}},{"method":"GET","path":"/remittance/quote","summary":"List quote","description":"`GET /api/v1/remittance/quote` — introspected from the live route handler.","parameters":[{"name":"sendAmount","in":"query","required":false,"type":"string","description":"sendAmount query parameter"},{"name":"sendCurrency","in":"query","required":false,"type":"string","description":"sendCurrency query parameter"},{"name":"from","in":"query","required":false,"type":"string","description":"from query parameter"},{"name":"receiveCurrency","in":"query","required":false,"type":"string","description":"receiveCurrency query parameter"},{"name":"currency","in":"query","required":false,"type":"string","description":"currency query parameter"},{"name":"to","in":"query","required":false,"type":"string","description":"to query parameter"},{"name":"amount","in":"query","required":false,"type":"string","description":"amount query parameter"}],"exampleBody":null},{"method":"POST","path":"/remittance/quote","summary":"Create quote","description":"`POST /api/v1/remittance/quote` — introspected from the live route handler.","parameters":[{"name":"sendAmount","in":"query","required":false,"type":"string","description":"sendAmount query parameter"},{"name":"sendCurrency","in":"query","required":false,"type":"string","description":"sendCurrency query parameter"},{"name":"from","in":"query","required":false,"type":"string","description":"from query parameter"},{"name":"receiveCurrency","in":"query","required":false,"type":"string","description":"receiveCurrency query parameter"},{"name":"currency","in":"query","required":false,"type":"string","description":"currency query parameter"},{"name":"to","in":"query","required":false,"type":"string","description":"to query parameter"},{"name":"amount","in":"query","required":false,"type":"string","description":"amount query parameter"},{"name":"receiverAmount","in":"body","required":true,"type":"string","description":"","example":"example-receiverAmount"},{"name":"receiverCurrency","in":"body","required":false,"type":"string","description":"","example":"example-receiverCurrency"},{"name":"senderCurrency","in":"body","required":false,"type":"string","description":"","example":"example-senderCurrency"}],"exampleBody":{"receiverAmount":"example-receiverAmount","receiverCurrency":"example-receiverCurrency","senderCurrency":"example-senderCurrency"}},{"method":"GET","path":"/remittance/rates","summary":"List rates","description":"`GET /api/v1/remittance/rates` — introspected from the live route handler.","parameters":[{"name":"action","in":"query","required":false,"type":"string","description":"action query parameter"},{"name":"corridor","in":"query","required":false,"type":"string","description":"corridor query parameter"},{"name":"amount","in":"query","required":false,"type":"string","description":"amount query parameter"},{"name":"express","in":"query","required":false,"type":"string","description":"express query parameter"},{"name":"doorDelivery","in":"query","required":false,"type":"string","description":"doorDelivery query parameter"}],"exampleBody":null},{"method":"OPTIONS","path":"/remittance/rates","summary":"Options for rates","description":"`OPTIONS /api/v1/remittance/rates` — introspected from the live route handler.","parameters":[{"name":"action","in":"query","required":false,"type":"string","description":"action query parameter"},{"name":"corridor","in":"query","required":false,"type":"string","description":"corridor query parameter"},{"name":"amount","in":"query","required":false,"type":"string","description":"amount query parameter"},{"name":"express","in":"query","required":false,"type":"string","description":"express query parameter"},{"name":"doorDelivery","in":"query","required":false,"type":"string","description":"doorDelivery query parameter"}],"exampleBody":null},{"method":"GET","path":"/remittance","summary":"List remittance","description":"`GET /api/v1/remittance` — introspected from the live route handler.","parameters":[{"name":"action","in":"query","required":false,"type":"string","description":"action query parameter"},{"name":"from","in":"query","required":false,"type":"string","description":"from query parameter"},{"name":"to","in":"query","required":false,"type":"string","description":"to query parameter"},{"name":"amount","in":"query","required":false,"type":"string","description":"amount query parameter"}],"exampleBody":null},{"method":"POST","path":"/remittance","summary":"Create remittance","description":"`POST /api/v1/remittance` — introspected from the live route handler.","parameters":[{"name":"action","in":"query","required":false,"type":"string","description":"action query parameter"},{"name":"from","in":"query","required":false,"type":"string","description":"from query parameter"},{"name":"to","in":"query","required":false,"type":"string","description":"to query parameter"},{"name":"amount","in":"query","required":false,"type":"string","description":"amount query parameter"},{"name":"action","in":"body","required":true,"type":"string","description":"","example":"example-action"},{"name":"corridor","in":"body","required":false,"type":"string","description":"","example":"example-corridor"},{"name":"sendMethod","in":"body","required":false,"type":"string","description":"","example":"example-sendMethod"},{"name":"receiveMethod","in":"body","required":false,"type":"string","description":"","example":"example-receiveMethod"},{"name":"sendAmount","in":"body","required":false,"type":"string","description":"","example":"example-sendAmount"},{"name":"beneficiary","in":"body","required":true,"type":"string","description":"","example":"example-beneficiary"},{"name":"beneficiaryId","in":"body","required":false,"type":"string","description":"","example":"example-beneficiaryId"},{"name":"sendCurrency","in":"body","required":false,"type":"string","description":"","example":"example-sendCurrency"},{"name":"receiveCurrency","in":"body","required":false,"type":"string","description":"","example":"example-receiveCurrency"},{"name":"purpose","in":"body","required":false,"type":"string","description":"","example":"example-purpose"},{"name":"paymentMethod","in":"body","required":false,"type":"string","description":"","example":"example-paymentMethod"},{"name":"recipientPhone","in":"body","required":false,"type":"string","description":"","example":"+251911223344"},{"name":"recipientName","in":"body","required":false,"type":"string","description":"","example":"example-recipientName"},{"name":"transferId","in":"body","required":false,"type":"string","description":"","example":"example-transferId"},{"name":"amount","in":"body","required":false,"type":"string","description":"","example":100},{"name":"reference","in":"body","required":false,"type":"string","description":"","example":"example-reference"},{"name":"proof","in":"body","required":false,"type":"string","description":"","example":"example-proof"},{"name":"method","in":"body","required":false,"type":"string","description":"","example":"example-method"},{"name":"senderDetails","in":"body","required":false,"type":"string","description":"","example":"example-senderDetails"},{"name":"stepUpToken","in":"body","required":false,"type":"string","description":"","example":"example-stepUpToken"},{"name":"idempotencyKey","in":"body","required":false,"type":"string","description":"","example":"example-idempotencyKey"},{"name":"quoteId","in":"body","required":false,"type":"string","description":"","example":"example-quoteId"},{"name":"recipientAccount","in":"body","required":false,"type":"string","description":"","example":"example-recipientAccount"}],"exampleBody":{"action":"example-action","corridor":"example-corridor","sendMethod":"example-sendMethod","receiveMethod":"example-receiveMethod","sendAmount":"example-sendAmount","beneficiary":"example-beneficiary","beneficiaryId":"example-beneficiaryId","sendCurrency":"example-sendCurrency","receiveCurrency":"example-receiveCurrency","purpose":"example-purpose","paymentMethod":"example-paymentMethod","recipientPhone":"example-recipientPhone","recipientName":"example-recipientName","transferId":"example-transferId","amount":"example-amount","reference":"example-reference","proof":"example-proof","method":"example-method","senderDetails":"example-senderDetails","stepUpToken":"example-stepUpToken","idempotencyKey":"example-idempotencyKey","quoteId":"example-quoteId","recipientAccount":"example-recipientAccount"}},{"method":"POST","path":"/remittance/send","summary":"Create send","description":"`POST /api/v1/remittance/send` — introspected from the live route handler.","parameters":[{"name":"corridor","in":"body","required":true,"type":"string","description":"","example":"example-corridor"},{"name":"sendAmount","in":"body","required":true,"type":"string","description":"","example":"example-sendAmount"},{"name":"recipientPhone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"recipientName","in":"body","required":true,"type":"string","description":"","example":"example-recipientName"},{"name":"paymentMethod","in":"body","required":false,"type":"string","description":"","example":"example-paymentMethod"},{"name":"express","in":"body","required":false,"type":"string","description":"","example":"example-express"},{"name":"doorDelivery","in":"body","required":false,"type":"string","description":"","example":"example-doorDelivery"},{"name":"note","in":"body","required":false,"type":"string","description":"","example":"example-note"},{"name":"transfers","in":"body","required":true,"type":"string","description":"","example":"example-transfers"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"}],"exampleBody":{"corridor":"example-corridor","sendAmount":"example-sendAmount","recipientPhone":"example-recipientPhone","recipientName":"example-recipientName","paymentMethod":"example-paymentMethod","express":"example-express","doorDelivery":"example-doorDelivery","note":"example-note","transfers":"example-transfers","action":"example-action"}},{"method":"OPTIONS","path":"/remittance/send","summary":"Options for send","description":"`OPTIONS /api/v1/remittance/send` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/remittance/status/{reference}","summary":"Get status","description":"`GET /api/v1/remittance/status/{reference}` — introspected from the live route handler.","parameters":[{"name":"reference","in":"path","required":true,"type":"string","description":"reference identifier"}],"exampleBody":null},{"method":"GET","path":"/reports","summary":"List reports","description":"`GET /api/v1/reports` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/reports","summary":"Create reports","description":"`POST /api/v1/reports` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/requests/{requestId}/pay","summary":"Create pay","description":"`POST /api/v1/requests/{requestId}/pay` — introspected from the live route handler.","parameters":[{"name":"requestId","in":"path","required":true,"type":"string","description":"requestId identifier"},{"name":"payerName","in":"body","required":true,"type":"string","description":"","example":"example-payerName"},{"name":"payerEmail","in":"body","required":true,"type":"string","description":"","example":"example-payerEmail"},{"name":"payerPhone","in":"body","required":true,"type":"string","description":"","example":"example-payerPhone"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"paymentMethod","in":"body","required":false,"type":"string","description":"","example":"example-paymentMethod"}],"exampleBody":{"payerName":"example-payerName","payerEmail":"example-payerEmail","payerPhone":"example-payerPhone","amount":"example-amount","currency":"example-currency","paymentMethod":"example-paymentMethod"}},{"method":"GET","path":"/requests/{requestId}","summary":"Get requests","description":"`GET /api/v1/requests/{requestId}` — introspected from the live route handler.","parameters":[{"name":"requestId","in":"path","required":true,"type":"string","description":"requestId identifier"}],"exampleBody":null},{"method":"GET","path":"/requests/{requestId}/status","summary":"List status","description":"`GET /api/v1/requests/{requestId}/status` — introspected from the live route handler.","parameters":[{"name":"requestId","in":"path","required":true,"type":"string","description":"requestId identifier"}],"exampleBody":null},{"method":"POST","path":"/requests/create","summary":"Create create","description":"`POST /api/v1/requests/create` — introspected from the live route handler.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"},{"name":"amountGoal","in":"body","required":true,"type":"string","description":"","example":"example-amountGoal"},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"reason","in":"body","required":false,"type":"string","description":"","example":"example-reason"},{"name":"type","in":"body","required":false,"type":"string","description":"","example":"example-type"},{"name":"customSlug","in":"body","required":false,"type":"string","description":"","example":"example-customSlug"},{"name":"recurring","in":"body","required":false,"type":"string","description":"","example":"example-recurring"},{"name":"recurrenceInterval","in":"body","required":false,"type":"string","description":"","example":"example-recurrenceInterval"},{"name":"teamMembers","in":"body","required":false,"type":"string","description":"","example":"example-teamMembers"},{"name":"expiryDays","in":"body","required":false,"type":"string","description":"","example":"example-expiryDays"}],"exampleBody":{"amountGoal":"example-amountGoal","currency":"example-currency","reason":"example-reason","type":"example-type","customSlug":"example-customSlug","recurring":"example-recurring","recurrenceInterval":"example-recurrenceInterval","teamMembers":"example-teamMembers","expiryDays":"example-expiryDays"}},{"method":"GET","path":"/requests/my","summary":"List my","description":"`GET /api/v1/requests/my` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/restaurant/merchant/tables","summary":"List tables","description":"`GET /api/v1/restaurant/merchant/tables` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/restaurant/table/{tableId}/pay","summary":"Create pay","description":"`POST /api/v1/restaurant/table/{tableId}/pay` — introspected from the live route handler.","parameters":[{"name":"tableId","in":"path","required":true,"type":"string","description":"tableId identifier"},{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"otp","in":"body","required":true,"type":"string","description":"","example":"example-otp"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100}],"exampleBody":{"phone":"example-phone","otp":"example-otp","amount":"example-amount"}},{"method":"GET","path":"/restaurant/table/{tableId}","summary":"Get table","description":"`GET /api/v1/restaurant/table/{tableId}` — introspected from the live route handler.","parameters":[{"name":"tableId","in":"path","required":true,"type":"string","description":"tableId identifier"}],"exampleBody":null},{"method":"PATCH","path":"/restaurant/table/{tableId}","summary":"Update table","description":"`PATCH /api/v1/restaurant/table/{tableId}` — introspected from the live route handler.","parameters":[{"name":"tableId","in":"path","required":true,"type":"string","description":"tableId identifier"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"billAmount","in":"body","required":true,"type":"string","description":"","example":"example-billAmount"},{"name":"reason","in":"body","required":false,"type":"string","description":"","example":"example-reason"}],"exampleBody":{"action":"example-action","billAmount":"example-billAmount","reason":"example-reason"}},{"method":"GET","path":"/restaurant/table/{tableId}/stream","summary":"List stream","description":"`GET /api/v1/restaurant/table/{tableId}/stream` — introspected from the live route handler.","parameters":[{"name":"tableId","in":"path","required":true,"type":"string","description":"tableId identifier"}],"exampleBody":null},{"method":"POST","path":"/restaurant/table/create","summary":"Create create","description":"`POST /api/v1/restaurant/table/create` — introspected from the live route handler.","parameters":[{"name":"merchantId","in":"body","required":true,"type":"string","description":"","example":"example-merchantId"},{"name":"tableNumber","in":"body","required":true,"type":"string","description":"","example":"example-tableNumber"},{"name":"billAmount","in":"body","required":true,"type":"string","description":"","example":"example-billAmount"},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"}],"exampleBody":{"merchantId":"example-merchantId","tableNumber":"example-tableNumber","billAmount":"example-billAmount","currency":"example-currency"}},{"method":"GET","path":"/routing/ai/metrics","summary":"List metrics","description":"`GET /api/v1/routing/ai/metrics` — introspected from the live route handler.","parameters":[{"name":"days","in":"query","required":false,"type":"string","description":"days query parameter"}],"exampleBody":null},{"method":"GET","path":"/routing/ai","summary":"List ai","description":"`GET /api/v1/routing/ai` — introspected from the live route handler.","parameters":[{"name":"amount","in":"query","required":false,"type":"string","description":"amount query parameter"},{"name":"srcCurrency","in":"query","required":false,"type":"string","description":"srcCurrency query parameter"},{"name":"dstCurrency","in":"query","required":false,"type":"string","description":"dstCurrency query parameter"},{"name":"srcCountry","in":"query","required":false,"type":"string","description":"srcCountry query parameter"},{"name":"dstCountry","in":"query","required":false,"type":"string","description":"dstCountry query parameter"},{"name":"preference","in":"query","required":false,"type":"string","description":"preference query parameter"},{"name":"transactionId","in":"query","required":false,"type":"string","description":"transactionId query parameter"}],"exampleBody":null},{"method":"POST","path":"/routing/ai","summary":"Create ai","description":"`POST /api/v1/routing/ai` — introspected from the live route handler.","parameters":[{"name":"amount","in":"query","required":false,"type":"string","description":"amount query parameter"},{"name":"srcCurrency","in":"query","required":false,"type":"string","description":"srcCurrency query parameter"},{"name":"dstCurrency","in":"query","required":false,"type":"string","description":"dstCurrency query parameter"},{"name":"srcCountry","in":"query","required":false,"type":"string","description":"srcCountry query parameter"},{"name":"dstCountry","in":"query","required":false,"type":"string","description":"dstCountry query parameter"},{"name":"preference","in":"query","required":false,"type":"string","description":"preference query parameter"},{"name":"transactionId","in":"query","required":false,"type":"string","description":"transactionId query parameter"},{"name":"transactionId","in":"body","required":true,"type":"string","description":"","example":"example-transactionId"},{"name":"outcome","in":"body","required":true,"type":"string","description":"","example":"example-outcome"}],"exampleBody":{"transactionId":"example-transactionId","outcome":"example-outcome"}},{"method":"POST","path":"/routing/evaluate","summary":"Create evaluate","description":"`POST /api/v1/routing/evaluate` — introspected from the live route handler.","parameters":[{"name":"sessionId","in":"body","required":false,"type":"string","description":"","example":"example-sessionId"},{"name":"amount","in":"body","required":true,"type":"number","description":"","example":100},{"name":"currency","in":"body","required":true,"type":"string","description":"","example":"ETB"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"strategy","in":"body","required":false,"type":"string","enum":["manual","lowest_cost","fastest","highest_success","balanced","round_robin"],"description":"","example":"manual"}],"exampleBody":{"sessionId":"example-sessionId","amount":100,"currency":"example-currency","country":"example-country","strategy":"manual"}},{"method":"GET","path":"/sandbox/entities/{type}","summary":"Get entities","description":"`GET /api/v1/sandbox/entities/{type}` — introspected from the live route handler.","parameters":[{"name":"type","in":"path","required":true,"type":"string","description":"type identifier"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"}],"exampleBody":null},{"method":"DELETE","path":"/sandbox/keys/{id}","summary":"Delete keys","description":"`DELETE /api/v1/sandbox/keys/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/sandbox/keys","summary":"List keys","description":"`GET /api/v1/sandbox/keys` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/sandbox/keys","summary":"Create keys","description":"`POST /api/v1/sandbox/keys` — introspected from the live route handler.","parameters":[{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"}],"exampleBody":{"name":"example-name"}},{"method":"POST","path":"/sandbox/payments","summary":"Create payments","description":"`POST /api/v1/sandbox/payments` — introspected from the live route handler.","parameters":[{"name":"secretKey","in":"body","required":true,"type":"string","description":"","example":"example-secretKey"},{"name":"amount","in":"body","required":false,"type":"string","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"fromUserId","in":"body","required":false,"type":"string","description":"","example":"example-fromUserId"},{"name":"toUserId","in":"body","required":false,"type":"string","description":"","example":"example-toUserId"},{"name":"cardLast4","in":"body","required":false,"type":"string","description":"","example":"example-cardLast4"}],"exampleBody":{"secretKey":"example-secretKey","amount":"example-amount","currency":"example-currency","fromUserId":"example-fromUserId","toUserId":"example-toUserId","cardLast4":"example-cardLast4"}},{"method":"POST","path":"/sandbox/reset","summary":"Create reset","description":"`POST /api/v1/sandbox/reset` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/sandbox/seed","summary":"Create seed","description":"`POST /api/v1/sandbox/seed` — introspected from the live route handler.","parameters":[{"name":"force","in":"body","required":false,"type":"string","description":"","example":"example-force"}],"exampleBody":{"force":"example-force"}},{"method":"GET","path":"/sandbox/status","summary":"List status","description":"`GET /api/v1/sandbox/status` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/sandbox/teardown","summary":"Create teardown","description":"`POST /api/v1/sandbox/teardown` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/search","summary":"List search","description":"`GET /api/v1/search` — introspected from the live route handler.","parameters":[{"name":"q","in":"query","required":false,"type":"string","description":"q query parameter"},{"name":"query","in":"query","required":false,"type":"string","description":"query query parameter"},{"name":"category","in":"query","required":false,"type":"string","description":"category query parameter"},{"name":"minPrice","in":"query","required":false,"type":"string","description":"minPrice query parameter"},{"name":"maxPrice","in":"query","required":false,"type":"string","description":"maxPrice query parameter"},{"name":"currency","in":"query","required":false,"type":"string","description":"currency query parameter"},{"name":"merchantId","in":"query","required":false,"type":"string","description":"merchantId query parameter"},{"name":"sort","in":"query","required":false,"type":"string","description":"sort query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"offset","in":"query","required":false,"type":"string","description":"offset query parameter"}],"exampleBody":null},{"method":"POST","path":"/search","summary":"Create search","description":"`POST /api/v1/search` — introspected from the live route handler.","parameters":[{"name":"q","in":"query","required":false,"type":"string","description":"q query parameter"},{"name":"query","in":"query","required":false,"type":"string","description":"query query parameter"},{"name":"category","in":"query","required":false,"type":"string","description":"category query parameter"},{"name":"minPrice","in":"query","required":false,"type":"string","description":"minPrice query parameter"},{"name":"maxPrice","in":"query","required":false,"type":"string","description":"maxPrice query parameter"},{"name":"currency","in":"query","required":false,"type":"string","description":"currency query parameter"},{"name":"merchantId","in":"query","required":false,"type":"string","description":"merchantId query parameter"},{"name":"sort","in":"query","required":false,"type":"string","description":"sort query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"offset","in":"query","required":false,"type":"string","description":"offset query parameter"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"query","in":"body","required":false,"type":"string","description":"","example":"example-query"},{"name":"filters","in":"body","required":false,"type":"string","description":"","example":"example-filters"}],"exampleBody":{"action":"example-action","query":"example-query","filters":"example-filters"}},{"method":"POST","path":"/sms/detect","summary":"Create detect","description":"`POST /api/v1/sms/detect` — introspected from the live route handler.","parameters":[{"name":"smsContent","in":"body","required":true,"type":"string","description":"","example":"example-smsContent"},{"name":"smsSender","in":"body","required":false,"type":"string","description":"","example":"example-smsSender"},{"name":"smsTimestamp","in":"body","required":false,"type":"string","description":"","example":"example-smsTimestamp"},{"name":"deviceId","in":"body","required":false,"type":"string","description":"","example":"example-deviceId"},{"name":"deviceModel","in":"body","required":false,"type":"string","description":"","example":"example-deviceModel"},{"name":"appVersion","in":"body","required":false,"type":"string","description":"","example":"example-appVersion"},{"name":"transferId","in":"body","required":false,"type":"string","description":"","example":"example-transferId"},{"name":"parsedData","in":"body","required":true,"type":"string","description":"","example":"example-parsedData"}],"exampleBody":{"smsContent":"example-smsContent","smsSender":"example-smsSender","smsTimestamp":"example-smsTimestamp","deviceId":"example-deviceId","deviceModel":"example-deviceModel","appVersion":"example-appVersion","transferId":"example-transferId","parsedData":"example-parsedData"}},{"method":"GET","path":"/softpos/devices/{deviceId}","summary":"Get devices","description":"`GET /api/v1/softpos/devices/{deviceId}` — introspected from the live route handler.","parameters":[{"name":"deviceId","in":"path","required":true,"type":"string","description":"deviceId identifier"}],"exampleBody":null},{"method":"PATCH","path":"/softpos/devices/{deviceId}","summary":"Update devices","description":"`PATCH /api/v1/softpos/devices/{deviceId}` — introspected from the live route handler.","parameters":[{"name":"deviceId","in":"path","required":true,"type":"string","description":"deviceId identifier"}],"exampleBody":null},{"method":"GET","path":"/softpos/devices","summary":"List devices","description":"`GET /api/v1/softpos/devices` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"}],"exampleBody":null},{"method":"POST","path":"/softpos/devices","summary":"Create devices","description":"`POST /api/v1/softpos/devices` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"}],"exampleBody":null},{"method":"GET","path":"/softpos/tap/{tapSessionId}","summary":"Get tap","description":"`GET /api/v1/softpos/tap/{tapSessionId}` — introspected from the live route handler.","parameters":[{"name":"tapSessionId","in":"path","required":true,"type":"string","description":"tapSessionId identifier"}],"exampleBody":null},{"method":"POST","path":"/softpos/tap/{tapSessionId}","summary":"Create tap","description":"`POST /api/v1/softpos/tap/{tapSessionId}` — introspected from the live route handler.","parameters":[{"name":"tapSessionId","in":"path","required":true,"type":"string","description":"tapSessionId identifier"}],"exampleBody":null},{"method":"POST","path":"/softpos/tap","summary":"Create tap","description":"`POST /api/v1/softpos/tap` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/softpos/transactions","summary":"List transactions","description":"`GET /api/v1/softpos/transactions` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"}],"exampleBody":null},{"method":"GET","path":"/status/health","summary":"List health","description":"`GET /api/v1/status/health` — introspected from the live route handler.","parameters":[{"name":"system","in":"query","required":false,"type":"string","description":"system query parameter"}],"exampleBody":null},{"method":"GET","path":"/status/incidents","summary":"List incidents","description":"`GET /api/v1/status/incidents` — introspected from the live route handler.","parameters":[{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"}],"exampleBody":null},{"method":"GET","path":"/subscriptions","summary":"List subscriptions","description":"`GET /api/v1/subscriptions` — introspected from the live route handler.","parameters":[{"name":"action","in":"query","required":false,"type":"string","description":"action query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"}],"exampleBody":null},{"method":"POST","path":"/subscriptions","summary":"Create subscriptions","description":"`POST /api/v1/subscriptions` — introspected from the live route handler.","parameters":[{"name":"action","in":"query","required":false,"type":"string","description":"action query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"planId","in":"body","required":false,"type":"string","description":"","example":"example-planId"},{"name":"paymentMethod","in":"body","required":false,"type":"string","description":"","example":"example-paymentMethod"},{"name":"reason","in":"body","required":false,"type":"string","description":"","example":"example-reason"},{"name":"newPlanId","in":"body","required":false,"type":"string","description":"","example":"example-newPlanId"}],"exampleBody":{"action":"example-action","planId":"example-planId","paymentMethod":"example-paymentMethod","reason":"example-reason","newPlanId":"example-newPlanId"}},{"method":"GET","path":"/support/tickets/{ticketId}","summary":"Get tickets","description":"`GET /api/v1/support/tickets/{ticketId}` — introspected from the live route handler.","parameters":[{"name":"ticketId","in":"path","required":true,"type":"string","description":"ticketId identifier"}],"exampleBody":null},{"method":"POST","path":"/support/tickets/{ticketId}","summary":"Create tickets","description":"`POST /api/v1/support/tickets/{ticketId}` — introspected from the live route handler.","parameters":[{"name":"ticketId","in":"path","required":true,"type":"string","description":"ticketId identifier"},{"name":"content","in":"body","required":true,"type":"string","description":"","example":"example-content"},{"name":"attachments","in":"body","required":false,"type":"string","description":"","example":"example-attachments"}],"exampleBody":{"content":"example-content","attachments":"example-attachments"}},{"method":"GET","path":"/support/tickets","summary":"List tickets","description":"`GET /api/v1/support/tickets` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"skip","in":"query","required":false,"type":"string","description":"skip query parameter"}],"exampleBody":null},{"method":"POST","path":"/support/tickets","summary":"Create tickets","description":"`POST /api/v1/support/tickets` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"skip","in":"query","required":false,"type":"string","description":"skip query parameter"},{"name":"subject","in":"body","required":true,"type":"string","description":"","example":"example-subject"},{"name":"description","in":"body","required":true,"type":"string","description":"","example":"example-description"},{"name":"category","in":"body","required":true,"type":"string","description":"","example":"example-category"},{"name":"priority","in":"body","required":false,"type":"string","description":"","example":"example-priority"},{"name":"subcategory","in":"body","required":false,"type":"string","description":"","example":"example-subcategory"},{"name":"transactionId","in":"body","required":false,"type":"string","description":"","example":"example-transactionId"},{"name":"disputeId","in":"body","required":false,"type":"string","description":"","example":"example-disputeId"},{"name":"orderId","in":"body","required":false,"type":"string","description":"","example":"example-orderId"},{"name":"attachments","in":"body","required":false,"type":"string","description":"","example":"example-attachments"},{"name":"tags","in":"body","required":false,"type":"string","description":"","example":"example-tags"}],"exampleBody":{"subject":"example-subject","description":"example-description","category":"example-category","priority":"example-priority","subcategory":"example-subcategory","transactionId":"example-transactionId","disputeId":"example-disputeId","orderId":"example-orderId","attachments":"example-attachments","tags":"example-tags"}},{"method":"POST","path":"/tap/{tapSessionId}/pay","summary":"Create pay","description":"`POST /api/v1/tap/{tapSessionId}/pay` — introspected from the live route handler.","parameters":[{"name":"tapSessionId","in":"path","required":true,"type":"string","description":"tapSessionId identifier"}],"exampleBody":null},{"method":"GET","path":"/tenant/legal-pages","summary":"List legal pages","description":"`GET /api/v1/tenant/legal-pages` — introspected from the live route handler.","parameters":[{"name":"slug","in":"query","required":false,"type":"string","description":"slug query parameter"}],"exampleBody":null},{"method":"PUT","path":"/tenant/legal-pages","summary":"Replace legal pages","description":"`PUT /api/v1/tenant/legal-pages` — introspected from the live route handler.","parameters":[{"name":"slug","in":"query","required":false,"type":"string","description":"slug query parameter"}],"exampleBody":null},{"method":"DELETE","path":"/tenant/legal-pages","summary":"Delete legal pages","description":"`DELETE /api/v1/tenant/legal-pages` — introspected from the live route handler.","parameters":[{"name":"slug","in":"query","required":false,"type":"string","description":"slug query parameter"}],"exampleBody":null},{"method":"GET","path":"/tenant/roles","summary":"List roles","description":"`GET /api/v1/tenant/roles` — introspected from the live route handler.","parameters":[{"name":"roleKey","in":"query","required":false,"type":"string","description":"roleKey query parameter"}],"exampleBody":null},{"method":"PUT","path":"/tenant/roles","summary":"Replace roles","description":"`PUT /api/v1/tenant/roles` — introspected from the live route handler.","parameters":[{"name":"roleKey","in":"query","required":false,"type":"string","description":"roleKey query parameter"}],"exampleBody":null},{"method":"DELETE","path":"/tenant/roles","summary":"Delete roles","description":"`DELETE /api/v1/tenant/roles` — introspected from the live route handler.","parameters":[{"name":"roleKey","in":"query","required":false,"type":"string","description":"roleKey query parameter"}],"exampleBody":null},{"method":"GET","path":"/tenant/settings","summary":"List settings","description":"`GET /api/v1/tenant/settings` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"PUT","path":"/tenant/settings","summary":"Replace settings","description":"`PUT /api/v1/tenant/settings` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/token/market","summary":"List market","description":"`GET /api/v1/token/market` — introspected from the live route handler.","parameters":[{"name":"side","in":"query","required":false,"type":"string","description":"side query parameter"},{"name":"amount","in":"query","required":false,"type":"string","description":"amount query parameter"}],"exampleBody":null},{"method":"POST","path":"/token/market","summary":"Create market","description":"`POST /api/v1/token/market` — introspected from the live route handler.","parameters":[{"name":"side","in":"query","required":false,"type":"string","description":"side query parameter"},{"name":"amount","in":"query","required":false,"type":"string","description":"amount query parameter"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"side","in":"body","required":false,"type":"string","description":"","example":"example-side"},{"name":"amnAmount","in":"body","required":false,"type":"string","description":"","example":"example-amnAmount"},{"name":"amount","in":"body","required":false,"type":"string","description":"","example":100}],"exampleBody":{"action":"example-action","side":"example-side","amnAmount":"example-amnAmount","amount":"example-amount"}},{"method":"GET","path":"/token","summary":"List token","description":"`GET /api/v1/token` — introspected from the live route handler.","parameters":[{"name":"action","in":"query","required":false,"type":"string","description":"action query parameter"},{"name":"userId","in":"query","required":false,"type":"string","description":"userId query parameter"},{"name":"baseFee","in":"query","required":false,"type":"string","description":"baseFee query parameter"},{"name":"agentId","in":"query","required":false,"type":"string","description":"agentId query parameter"},{"name":"developerId","in":"query","required":false,"type":"string","description":"developerId query parameter"}],"exampleBody":null},{"method":"POST","path":"/token","summary":"Create token","description":"`POST /api/v1/token` — introspected from the live route handler.","parameters":[{"name":"action","in":"query","required":false,"type":"string","description":"action query parameter"},{"name":"userId","in":"query","required":false,"type":"string","description":"userId query parameter"},{"name":"baseFee","in":"query","required":false,"type":"string","description":"baseFee query parameter"},{"name":"agentId","in":"query","required":false,"type":"string","description":"agentId query parameter"},{"name":"developerId","in":"query","required":false,"type":"string","description":"developerId query parameter"},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"agentId","in":"body","required":true,"type":"string","description":"","example":"example-agentId"},{"name":"actionType","in":"body","required":true,"type":"string","description":"","example":"example-actionType"},{"name":"metadata","in":"body","required":false,"type":"string","description":"","example":"example-metadata"},{"name":"developerId","in":"body","required":true,"type":"string","description":"","example":"example-developerId"},{"name":"userId","in":"body","required":true,"type":"string","description":"","example":"example-userId"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"tier","in":"body","required":false,"type":"string","description":"","example":"example-tier"},{"name":"creatorId","in":"body","required":true,"type":"string","description":"","example":"example-creatorId"},{"name":"proposalType","in":"body","required":true,"type":"string","description":"","example":"example-proposalType"},{"name":"title","in":"body","required":true,"type":"string","description":"","example":"example-title"},{"name":"description","in":"body","required":false,"type":"string","description":"","example":"example-description"},{"name":"parameters","in":"body","required":false,"type":"string","description":"","example":"example-parameters"},{"name":"proposalId","in":"body","required":true,"type":"string","description":"","example":"example-proposalId"},{"name":"voterId","in":"body","required":true,"type":"string","description":"","example":"example-voterId"},{"name":"voteDirection","in":"body","required":true,"type":"string","description":"","example":"example-voteDirection"},{"name":"amnBalance","in":"body","required":false,"type":"string","description":"","example":"example-amnBalance"},{"name":"feature","in":"body","required":true,"type":"string","description":"","example":"example-feature"},{"name":"condition","in":"body","required":true,"type":"string","description":"","example":"example-condition"},{"name":"met","in":"body","required":false,"type":"string","description":"","example":"example-met"}],"exampleBody":{"action":"example-action","agentId":"example-agentId","actionType":"example-actionType","metadata":"example-metadata","developerId":"example-developerId","userId":"example-userId","amount":"example-amount","tier":"example-tier","creatorId":"example-creatorId","proposalType":"example-proposalType","title":"example-title","description":"example-description","parameters":"example-parameters","proposalId":"example-proposalId","voterId":"example-voterId","voteDirection":"example-voteDirection","amnBalance":"example-amnBalance","feature":"example-feature","condition":"example-condition","met":"example-met"}},{"method":"POST","path":"/transactions/validate","summary":"Create validate","description":"`POST /api/v1/transactions/validate` — introspected from the live route handler.","parameters":[{"name":"transactionType","in":"body","required":true,"type":"string","description":"","example":"example-transactionType"},{"name":"amount","in":"body","required":false,"type":"string","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"partnerId","in":"body","required":false,"type":"string","description":"","example":"example-partnerId"},{"name":"bankCode","in":"body","required":false,"type":"string","description":"","example":"example-bankCode"},{"name":"merchantId","in":"body","required":false,"type":"string","description":"","example":"example-merchantId"},{"name":"agentId","in":"body","required":false,"type":"string","description":"","example":"example-agentId"},{"name":"agentTier","in":"body","required":false,"type":"string","description":"","example":"example-agentTier"},{"name":"riskScore","in":"body","required":false,"type":"string","description":"","example":"example-riskScore"},{"name":"referenceId","in":"body","required":false,"type":"string","description":"","example":"example-referenceId"},{"name":"featureKey","in":"body","required":false,"type":"string","description":"","example":"example-featureKey"}],"exampleBody":{"transactionType":"example-transactionType","amount":"example-amount","currency":"example-currency","country":"example-country","partnerId":"example-partnerId","bankCode":"example-bankCode","merchantId":"example-merchantId","agentId":"example-agentId","agentTier":"example-agentTier","riskScore":"example-riskScore","referenceId":"example-referenceId","featureKey":"example-featureKey"}},{"method":"POST","path":"/transfers/{transferId}/cancel","summary":"Cancel transfer","description":"","parameters":[{"name":"transferId","in":"path","required":true,"type":"string","description":"Transfer ID"}],"exampleBody":null},{"method":"POST","path":"/transfers/{transferId}/claim","summary":"Claim transfer","description":"","parameters":[{"name":"transferId","in":"path","required":true,"type":"string","description":"Transfer ID"}],"exampleBody":null},{"method":"GET","path":"/transfers/{transferId}","summary":"Get transfer","description":"","parameters":[{"name":"transferId","in":"path","required":true,"type":"string","description":"Transfer ID"}],"exampleBody":null},{"method":"POST","path":"/transfers/bypass/confirm","summary":"Create confirm","description":"`POST /api/v1/transfers/bypass/confirm` — introspected from the live route handler.","parameters":[{"name":"transferId","in":"body","required":true,"type":"string","description":"","example":"example-transferId"},{"name":"txnId","in":"body","required":false,"type":"string","description":"","example":"example-txnId"},{"name":"adminKey","in":"body","required":false,"type":"string","description":"","example":"example-adminKey"}],"exampleBody":{"transferId":"example-transferId","txnId":"example-txnId","adminKey":"example-adminKey"}},{"method":"GET","path":"/transfers/bypass","summary":"List bypass","description":"`GET /api/v1/transfers/bypass` — introspected from the live route handler.","parameters":[{"name":"id","in":"query","required":false,"type":"string","description":"id query parameter"},{"name":"phone","in":"query","required":false,"type":"string","description":"phone query parameter"}],"exampleBody":null},{"method":"POST","path":"/transfers/bypass","summary":"Create bypass","description":"`POST /api/v1/transfers/bypass` — introspected from the live route handler.","parameters":[{"name":"id","in":"query","required":false,"type":"string","description":"id query parameter"},{"name":"phone","in":"query","required":false,"type":"string","description":"phone query parameter"},{"name":"senderPhone","in":"body","required":true,"type":"string","description":"","example":"example-senderPhone"},{"name":"recipientPhone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"recipientName","in":"body","required":false,"type":"string","description":"","example":"example-recipientName"},{"name":"sourceAmount","in":"body","required":true,"type":"number","description":"","example":100},{"name":"sourceCurrency","in":"body","required":true,"type":"string","description":"","example":"example-sourceCurrency"},{"name":"targetCurrency","in":"body","required":true,"type":"string","description":"","example":"example-targetCurrency"},{"name":"sourceProvider","in":"body","required":true,"type":"string","description":"","example":"example-sourceProvider"}],"exampleBody":{"senderPhone":"example-senderPhone","recipientPhone":"example-recipientPhone","recipientName":"example-recipientName","sourceAmount":100,"sourceCurrency":"example-sourceCurrency","targetCurrency":"example-targetCurrency","sourceProvider":"example-sourceProvider"}},{"method":"POST","path":"/transfers/bypass/verify","summary":"Create verify","description":"`POST /api/v1/transfers/bypass/verify` — introspected from the live route handler.","parameters":[{"name":"transferId","in":"body","required":true,"type":"string","description":"","example":"example-transferId"},{"name":"reference","in":"body","required":true,"type":"string","description":"","example":"example-reference"},{"name":"transactionId","in":"body","required":true,"type":"string","description":"","example":"example-transactionId"},{"name":"smsContent","in":"body","required":true,"type":"string","description":"","example":"example-smsContent"}],"exampleBody":{"transferId":"example-transferId","reference":"example-reference","transactionId":"example-transactionId","smsContent":"example-smsContent"}},{"method":"GET","path":"/transfers/claim/{code}","summary":"Inspect claim code","description":"","parameters":[{"name":"code","in":"path","required":true,"type":"string","description":""}],"exampleBody":null},{"method":"POST","path":"/transfers/claim/{code}","summary":"Create claim","description":"`POST /api/v1/transfers/claim/{code}` — introspected from the live route handler.","parameters":[{"name":"code","in":"path","required":true,"type":"string","description":"code identifier"},{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"password","in":"body","required":true,"type":"string","description":"","example":"YourPassword123!"},{"name":"otpVerified","in":"body","required":true,"type":"string","description":"","example":"example-otpVerified"}],"exampleBody":{"name":"example-name","phone":"example-phone","password":"YourPassword123!","otpVerified":"example-otpVerified"}},{"method":"POST","path":"/transfers/claim/execute","summary":"Create execute","description":"`POST /api/v1/transfers/claim/execute` — introspected from the live route handler.","parameters":[{"name":"sessionId","in":"body","required":true,"type":"string","description":"","example":"example-sessionId"},{"name":"otp","in":"body","required":true,"type":"string","description":"","example":"example-otp"},{"name":"claimCode","in":"body","required":true,"type":"string","description":"","example":"example-claimCode"}],"exampleBody":{"sessionId":"example-sessionId","otp":"example-otp","claimCode":"example-claimCode"}},{"method":"POST","path":"/transfers/claim/prepare","summary":"Create prepare","description":"`POST /api/v1/transfers/claim/prepare` — introspected from the live route handler.","parameters":[{"name":"transferId","in":"body","required":true,"type":"string","description":"","example":"example-transferId"},{"name":"receiverIdentifier","in":"body","required":true,"type":"string","description":"","example":"example-receiverIdentifier"}],"exampleBody":{"transferId":"example-transferId","receiverIdentifier":"example-receiverIdentifier"}},{"method":"GET","path":"/transfers/confirm-payment","summary":"List confirm payment","description":"`GET /api/v1/transfers/confirm-payment` — introspected from the live route handler.","parameters":[{"name":"transferId","in":"query","required":false,"type":"string","description":"transferId query parameter"}],"exampleBody":null},{"method":"POST","path":"/transfers/confirm-payment","summary":"Create confirm payment","description":"`POST /api/v1/transfers/confirm-payment` — introspected from the live route handler.","parameters":[{"name":"transferId","in":"query","required":false,"type":"string","description":"transferId query parameter"},{"name":"transferId","in":"body","required":true,"type":"string","description":"","example":"example-transferId"},{"name":"TrxID","in":"body","required":false,"type":"string","description":"","example":"example-TrxID"}],"exampleBody":{"transferId":"example-transferId","TrxID":"example-TrxID"}},{"method":"GET","path":"/transfers/delivery-options","summary":"List delivery options","description":"`GET /api/v1/transfers/delivery-options` — introspected from the live route handler.","parameters":[{"name":"countryCode","in":"query","required":false,"type":"string","description":"countryCode query parameter"}],"exampleBody":null},{"method":"GET","path":"/transfers/interop/{transferId}","summary":"Get interop","description":"`GET /api/v1/transfers/interop/{transferId}` — introspected from the live route handler.","parameters":[{"name":"transferId","in":"path","required":true,"type":"string","description":"transferId identifier"}],"exampleBody":null},{"method":"GET","path":"/transfers/interop","summary":"List interop","description":"`GET /api/v1/transfers/interop` — introspected from the live route handler.","parameters":[{"name":"action","in":"query","required":false,"type":"string","description":"action query parameter"},{"name":"country","in":"query","required":false,"type":"string","description":"country query parameter"},{"name":"amount","in":"query","required":false,"type":"string","description":"amount query parameter"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"}],"exampleBody":null},{"method":"POST","path":"/transfers/interop","summary":"Create interop","description":"`POST /api/v1/transfers/interop` — introspected from the live route handler.","parameters":[{"name":"action","in":"query","required":false,"type":"string","description":"action query parameter"},{"name":"country","in":"query","required":false,"type":"string","description":"country query parameter"},{"name":"amount","in":"query","required":false,"type":"string","description":"amount query parameter"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"senderPhone","in":"body","required":true,"type":"string","description":"","example":"example-senderPhone"},{"name":"senderName","in":"body","required":false,"type":"string","description":"","example":"example-senderName"},{"name":"recipientPhone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"recipientName","in":"body","required":false,"type":"string","description":"","example":"example-recipientName"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"sourceProvider","in":"body","required":true,"type":"string","description":"","example":"example-sourceProvider"},{"name":"destProvider","in":"body","required":true,"type":"string","description":"","example":"example-destProvider"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"note","in":"body","required":false,"type":"string","description":"","example":"example-note"}],"exampleBody":{"senderPhone":"example-senderPhone","senderName":"example-senderName","recipientPhone":"example-recipientPhone","recipientName":"example-recipientName","amount":"example-amount","sourceProvider":"example-sourceProvider","destProvider":"example-destProvider","country":"example-country","note":"example-note"}},{"method":"POST","path":"/transfers/lookup","summary":"Create lookup","description":"`POST /api/v1/transfers/lookup` — introspected from the live route handler.","parameters":[{"name":"identifier","in":"body","required":true,"type":"string","description":"","example":"example-identifier"},{"name":"identifierType","in":"body","required":true,"type":"string","enum":["phone","email","national_id","username"],"description":"","example":"phone"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"}],"exampleBody":{"identifier":"example-identifier","identifierType":"phone","country":"example-country"}},{"method":"GET","path":"/transfers/lookup","summary":"Lookup by reference","description":"","parameters":[{"name":"reference","in":"query","required":true,"type":"string","description":""}],"exampleBody":null},{"method":"GET","path":"/transfers/my","summary":"My transfers","description":"","parameters":[],"exampleBody":null},{"method":"POST","path":"/transfers/process-expired","summary":"Create process expired","description":"`POST /api/v1/transfers/process-expired` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/transfers","summary":"List transfers","description":"","parameters":[{"name":"page","in":"query","required":false,"type":"integer","description":"Page number"},{"name":"limit","in":"query","required":false,"type":"integer","description":"Items per page"}],"exampleBody":null},{"method":"POST","path":"/transfers","summary":"Create transfer","description":"","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"},{"name":"recipient","in":"body","required":false,"type":"string","description":"Who receives the money: phone, email, or wallet ID. Required unless recipientIdentifier is sent.","example":"+8801712345678"},{"name":"recipientIdentifier","in":"body","required":false,"type":"string","description":"Optional alias of `recipient` (same value). Use one of recipient or recipientIdentifier.","example":"+8801712345678"},{"name":"recipientType","in":"body","required":false,"type":"string","enum":["phone","email","wallet_id"],"description":"Optional. How to interpret recipient. Defaults to phone.","example":"phone"},{"name":"amount","in":"body","required":true,"type":"number","description":"How much to send in `currency`.","example":1000},{"name":"currency","in":"body","required":false,"type":"string","description":"Optional ISO 4217 code. Defaults to the sender wallet currency.","example":"ETB"},{"name":"note","in":"body","required":false,"type":"string","description":"Optional message shown on the receipt.","example":"example-note"},{"name":"method","in":"body","required":false,"type":"string","description":"Optional send rail. Defaults to wallet.","example":"wallet"},{"name":"reference","in":"body","required":false,"type":"string","description":"Optional receipt / invoice number you generate. Returned on the transfer for reconciliation.","example":"INV-4192"}],"exampleBody":{"recipient":"+8801712345678","recipientIdentifier":"+8801712345678","recipientType":"phone","amount":1000,"currency":"ETB","note":"example-note","method":"wallet","reference":"INV-4192"}},{"method":"GET","path":"/transfers/send-to-any","summary":"List send to any","description":"`GET /api/v1/transfers/send-to-any` — introspected from the live route handler.","parameters":[{"name":"code","in":"query","required":false,"type":"string","description":"code query parameter"}],"exampleBody":null},{"method":"POST","path":"/transfers/send-to-any","summary":"Send to non-user","description":"Send to a recipient without an Amnen Pay account. JSON body uses recipientPhone (not recipient). Optional deliveryMethodCode pays out directly instead of a claim code.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"},{"name":"recipientPhone","in":"body","required":true,"type":"string","description":"International phone, e.g. +251911123456","example":"+251911123456"},{"name":"amount","in":"body","required":true,"type":"number","description":"","example":500},{"name":"currency","in":"body","required":false,"type":"string","description":"Optional ISO 4217. Defaults to BDT.","example":"ETB"},{"name":"note","in":"body","required":false,"type":"string","description":"Optional receipt message.","example":"example-note"},{"name":"recipientName","in":"body","required":false,"type":"string","description":"Optional display name on the claim.","example":"example-recipientName"},{"name":"deliveryMethodCode","in":"body","required":false,"type":"string","description":"Optional payout method when paying out directly.","example":"example-deliveryMethodCode"},{"name":"destination","in":"body","required":false,"type":"object","description":"Optional extra delivery fields for the payout method.","example":{}}],"exampleBody":{"recipientPhone":"+251911123456","amount":500,"currency":"ETB","note":"Family support"}},{"method":"GET","path":"/transfers/send","summary":"Transfer history","description":"","parameters":[{"name":"limit","in":"query","required":false,"type":"integer","description":"Items per page"},{"name":"offset","in":"query","required":false,"type":"integer","description":""}],"exampleBody":null},{"method":"POST","path":"/transfers/send","summary":"Send money","description":"Wallet-to-wallet send with automatic FX conversion, routing engine selection and settlement leg creation.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"},{"name":"recipient","in":"body","required":false,"type":"string","description":"Who receives the money: phone, email, or wallet ID. Required unless recipientIdentifier is sent.","example":"+8801712345678"},{"name":"recipientIdentifier","in":"body","required":false,"type":"string","description":"Optional alias of `recipient` (same value). Use one of recipient or recipientIdentifier.","example":"+8801712345678"},{"name":"recipientType","in":"body","required":false,"type":"string","enum":["phone","email","wallet_id"],"description":"Optional. How to interpret recipient. Defaults to phone.","example":"phone"},{"name":"amount","in":"body","required":true,"type":"number","description":"How much to send in `currency`.","example":1000},{"name":"currency","in":"body","required":false,"type":"string","description":"Optional ISO 4217 code. Defaults to the sender wallet currency.","example":"ETB"},{"name":"note","in":"body","required":false,"type":"string","description":"Optional message shown on the receipt.","example":"example-note"},{"name":"method","in":"body","required":false,"type":"string","description":"Optional send rail. Defaults to wallet.","example":"wallet"},{"name":"reference","in":"body","required":false,"type":"string","description":"Optional receipt / invoice number you generate. Returned on the transfer for reconciliation.","example":"INV-4192"}],"exampleBody":{"recipient":"+8801712345678","amount":1000,"currency":"ETB","note":"Lunch","reference":"INV-4192"}},{"method":"POST","path":"/translate","summary":"Create translate","description":"`POST /api/v1/translate` — introspected from the live route handler.","parameters":[{"name":"translations","in":"body","required":true,"type":"array","description":"","example":[]}],"exampleBody":{"translations":[]}},{"method":"POST","path":"/upload/image","summary":"Create image","description":"`POST /api/v1/upload/image` — introspected from the live route handler.","parameters":[{"name":"file","in":"body","required":true,"type":"string","description":"","example":"example-file"},{"name":"filename","in":"body","required":true,"type":"string","description":"","example":"example-filename"}],"exampleBody":{"file":"example-file","filename":"example-filename"}},{"method":"GET","path":"/upload","summary":"List upload","description":"`GET /api/v1/upload` — introspected from the live route handler.","parameters":[{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"}],"exampleBody":null},{"method":"POST","path":"/upload","summary":"Create upload","description":"`POST /api/v1/upload` — introspected from the live route handler.","parameters":[{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"file","in":"body","required":true,"type":"string","description":"","example":"example-file"},{"name":"type","in":"body","required":false,"type":"string","description":"","example":"example-type"},{"name":"agentId","in":"body","required":false,"type":"string","description":"","example":"example-agentId"},{"name":"documentType","in":"body","required":false,"type":"string","description":"","example":"example-documentType"},{"name":"publicId","in":"body","required":false,"type":"string","description":"","example":"example-publicId"},{"name":"tags","in":"body","required":false,"type":"string","description":"","example":"example-tags"}],"exampleBody":{"file":"example-file","type":"example-type","agentId":"example-agentId","documentType":"example-documentType","publicId":"example-publicId","tags":"example-tags"}},{"method":"GET","path":"/user/balance","summary":"List balance","description":"`GET /api/v1/user/balance` — introspected from the live route handler.","parameters":[{"name":"currency","in":"query","required":false,"type":"string","description":"currency query parameter"}],"exampleBody":null},{"method":"GET","path":"/user/cards/{cardId}/ledger","summary":"List ledger","description":"`GET /api/v1/user/cards/{cardId}/ledger` — introspected from the live route handler.","parameters":[{"name":"cardId","in":"path","required":true,"type":"string","description":"cardId identifier"}],"exampleBody":null},{"method":"GET","path":"/user/cards/{cardId}","summary":"Get cards","description":"`GET /api/v1/user/cards/{cardId}` — introspected from the live route handler.","parameters":[{"name":"cardId","in":"path","required":true,"type":"string","description":"cardId identifier"},{"name":"stepUpToken","in":"query","required":false,"type":"string","description":"stepUpToken query parameter"},{"name":"reveal","in":"query","required":false,"type":"string","description":"reveal query parameter"},{"name":"showDetails","in":"query","required":false,"type":"string","description":"showDetails query parameter"}],"exampleBody":null},{"method":"POST","path":"/user/cards/{cardId}","summary":"Create cards","description":"`POST /api/v1/user/cards/{cardId}` — introspected from the live route handler.","parameters":[{"name":"cardId","in":"path","required":true,"type":"string","description":"cardId identifier"},{"name":"stepUpToken","in":"query","required":false,"type":"string","description":"stepUpToken query parameter"},{"name":"reveal","in":"query","required":false,"type":"string","description":"reveal query parameter"},{"name":"showDetails","in":"query","required":false,"type":"string","description":"showDetails query parameter"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"controls","in":"body","required":false,"type":"string","description":"","example":"example-controls"},{"name":"spendingLimit","in":"body","required":false,"type":"string","description":"","example":"example-spendingLimit"},{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"}],"exampleBody":{"amount":"example-amount","action":"example-action","controls":"example-controls","spendingLimit":"example-spendingLimit","name":"example-name"}},{"method":"PUT","path":"/user/cards/{cardId}","summary":"Replace cards","description":"`PUT /api/v1/user/cards/{cardId}` — introspected from the live route handler.","parameters":[{"name":"cardId","in":"path","required":true,"type":"string","description":"cardId identifier"},{"name":"stepUpToken","in":"query","required":false,"type":"string","description":"stepUpToken query parameter"},{"name":"reveal","in":"query","required":false,"type":"string","description":"reveal query parameter"},{"name":"showDetails","in":"query","required":false,"type":"string","description":"showDetails query parameter"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"controls","in":"body","required":false,"type":"string","description":"","example":"example-controls"},{"name":"spendingLimit","in":"body","required":false,"type":"string","description":"","example":"example-spendingLimit"},{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"}],"exampleBody":{"amount":"example-amount","action":"example-action","controls":"example-controls","spendingLimit":"example-spendingLimit","name":"example-name"}},{"method":"PATCH","path":"/user/cards/{cardId}","summary":"Update cards","description":"`PATCH /api/v1/user/cards/{cardId}` — introspected from the live route handler.","parameters":[{"name":"cardId","in":"path","required":true,"type":"string","description":"cardId identifier"},{"name":"stepUpToken","in":"query","required":false,"type":"string","description":"stepUpToken query parameter"},{"name":"reveal","in":"query","required":false,"type":"string","description":"reveal query parameter"},{"name":"showDetails","in":"query","required":false,"type":"string","description":"showDetails query parameter"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"controls","in":"body","required":false,"type":"string","description":"","example":"example-controls"},{"name":"spendingLimit","in":"body","required":false,"type":"string","description":"","example":"example-spendingLimit"},{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"}],"exampleBody":{"amount":"example-amount","action":"example-action","controls":"example-controls","spendingLimit":"example-spendingLimit","name":"example-name"}},{"method":"DELETE","path":"/user/cards/{cardId}","summary":"Delete cards","description":"`DELETE /api/v1/user/cards/{cardId}` — introspected from the live route handler.","parameters":[{"name":"cardId","in":"path","required":true,"type":"string","description":"cardId identifier"},{"name":"stepUpToken","in":"query","required":false,"type":"string","description":"stepUpToken query parameter"},{"name":"reveal","in":"query","required":false,"type":"string","description":"reveal query parameter"},{"name":"showDetails","in":"query","required":false,"type":"string","description":"showDetails query parameter"}],"exampleBody":null},{"method":"GET","path":"/user/cards","summary":"List cards","description":"`GET /api/v1/user/cards` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/user/cards","summary":"Create cards","description":"`POST /api/v1/user/cards` — introspected from the live route handler.","parameters":[{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"},{"name":"firstName","in":"body","required":false,"type":"string","description":"","example":"example-firstName"},{"name":"lastName","in":"body","required":false,"type":"string","description":"","example":"example-lastName"},{"name":"spendingLimit","in":"body","required":false,"type":"string","description":"","example":"example-spendingLimit"}],"exampleBody":{"name":"example-name","firstName":"example-firstName","lastName":"example-lastName","spendingLimit":"example-spendingLimit"}},{"method":"GET","path":"/user/crypto/deposit","summary":"List deposit","description":"`GET /api/v1/user/crypto/deposit` — introspected from the live route handler.","parameters":[{"name":"depositId","in":"query","required":false,"type":"string","description":"depositId query parameter"}],"exampleBody":null},{"method":"POST","path":"/user/crypto/deposit","summary":"Create deposit","description":"`POST /api/v1/user/crypto/deposit` — introspected from the live route handler.","parameters":[{"name":"depositId","in":"query","required":false,"type":"string","description":"depositId query parameter"},{"name":"amount","in":"body","required":false,"type":"string","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"payCurrency","in":"body","required":false,"type":"string","description":"","example":"example-payCurrency"},{"name":"provider","in":"body","required":false,"type":"string","description":"","example":"example-provider"}],"exampleBody":{"amount":"example-amount","currency":"example-currency","payCurrency":"example-payCurrency","provider":"example-provider"}},{"method":"GET","path":"/user/crypto/transactions","summary":"List transactions","description":"`GET /api/v1/user/crypto/transactions` — introspected from the live route handler.","parameters":[{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"skip","in":"query","required":false,"type":"string","description":"skip query parameter"}],"exampleBody":null},{"method":"GET","path":"/user/crypto/withdraw","summary":"List withdraw","description":"`GET /api/v1/user/crypto/withdraw` — introspected from the live route handler.","parameters":[{"name":"withdrawalId","in":"query","required":false,"type":"string","description":"withdrawalId query parameter"}],"exampleBody":null},{"method":"POST","path":"/user/crypto/withdraw","summary":"Create withdraw","description":"`POST /api/v1/user/crypto/withdraw` — introspected from the live route handler.","parameters":[{"name":"withdrawalId","in":"query","required":false,"type":"string","description":"withdrawalId query parameter"},{"name":"amount","in":"body","required":false,"type":"string","description":"","example":100},{"name":"asset","in":"body","required":false,"type":"string","description":"","example":"example-asset"},{"name":"walletAddress","in":"body","required":true,"type":"string","description":"","example":"example-walletAddress"},{"name":"payCurrency","in":"body","required":false,"type":"string","description":"","example":"example-payCurrency"},{"name":"provider","in":"body","required":false,"type":"string","description":"","example":"example-provider"}],"exampleBody":{"amount":"example-amount","asset":"example-asset","walletAddress":"example-walletAddress","payCurrency":"example-payCurrency","provider":"example-provider"}},{"method":"GET","path":"/user/dashboard","summary":"List dashboard","description":"`GET /api/v1/user/dashboard` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/user/kyc/document","summary":"List document","description":"`GET /api/v1/user/kyc/document` — introspected from the live route handler.","parameters":[{"name":"index","in":"query","required":false,"type":"string","description":"index query parameter"}],"exampleBody":null},{"method":"POST","path":"/user/kyc/reply","summary":"Create reply","description":"`POST /api/v1/user/kyc/reply` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/user/kyc/status","summary":"List status","description":"`GET /api/v1/user/kyc/status` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/user/kyc/submit","summary":"Create submit","description":"`POST /api/v1/user/kyc/submit` — introspected from the live route handler.","parameters":[{"name":"documents","in":"body","required":false,"type":"string","description":"","example":"example-documents"},{"name":"personalInfo","in":"body","required":false,"type":"string","description":"","example":"example-personalInfo"},{"name":"issuingCountry","in":"body","required":false,"type":"string","description":"","example":"example-issuingCountry"},{"name":"documentExpiry","in":"body","required":false,"type":"string","description":"","example":"example-documentExpiry"}],"exampleBody":{"documents":"example-documents","personalInfo":"example-personalInfo","issuingCountry":"example-issuingCountry","documentExpiry":"example-documentExpiry"}},{"method":"GET","path":"/user/onboarding","summary":"List onboarding","description":"`GET /api/v1/user/onboarding` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/user/onboarding","summary":"Create onboarding","description":"`POST /api/v1/user/onboarding` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/user/profile","summary":"List profile","description":"`GET /api/v1/user/profile` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"PATCH","path":"/user/profile","summary":"Update profile","description":"`PATCH /api/v1/user/profile` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/user/transactions/{id}/history","summary":"List history","description":"`GET /api/v1/user/transactions/{id}/history` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/user/transactions/{id}","summary":"Get transactions","description":"`GET /api/v1/user/transactions/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/user/transactions","summary":"List transactions","description":"`GET /api/v1/user/transactions` — introspected from the live route handler.","parameters":[{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"}],"exampleBody":null},{"method":"GET","path":"/users/{id}","summary":"Get user","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"Resource ID"}],"exampleBody":null},{"method":"PATCH","path":"/users/{id}","summary":"Update user","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"Resource ID"},{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"},{"name":"avatar","in":"body","required":false,"type":"string","description":"","example":"example-avatar"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"language","in":"body","required":false,"type":"string","description":"","example":"example-language"},{"name":"status","in":"body","required":false,"type":"string","enum":["active","suspended","deactivated"],"description":"","example":"active"}],"exampleBody":{"name":"example-name","avatar":"example-avatar","country":"example-country","currency":"ETB","language":"example-language","status":"active"}},{"method":"DELETE","path":"/users/{id}","summary":"Delete/deactivate user","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"Resource ID"}],"exampleBody":null},{"method":"GET","path":"/users/me","summary":"List me","description":"`GET /api/v1/users/me` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"PUT","path":"/users/me","summary":"Replace me","description":"`PUT /api/v1/users/me` — introspected from the live route handler.","parameters":[{"name":"firstName","in":"body","required":false,"type":"string","description":"","example":"example-firstName"},{"name":"lastName","in":"body","required":false,"type":"string","description":"","example":"example-lastName"},{"name":"email","in":"body","required":false,"type":"string","description":"","example":"example-email"},{"name":"address","in":"body","required":false,"type":"string","description":"","example":"example-address"},{"name":"city","in":"body","required":false,"type":"string","description":"","example":"example-city"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"avatar","in":"body","required":false,"type":"string","description":"","example":"example-avatar"}],"exampleBody":{"firstName":"example-firstName","lastName":"example-lastName","email":"example-email","address":"example-address","city":"example-city","country":"example-country","avatar":"example-avatar"}},{"method":"POST","path":"/users/me/verify-email","summary":"Create verify email","description":"`POST /api/v1/users/me/verify-email` — introspected from the live route handler.","parameters":[{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"otp","in":"body","required":true,"type":"string","description":"","example":"example-otp"}],"exampleBody":{"action":"example-action","otp":"example-otp"}},{"method":"GET","path":"/users/payment-link","summary":"List payment link","description":"`GET /api/v1/users/payment-link` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/users","summary":"List users","description":"Paginated list of users. Admin/staff scope.","parameters":[{"name":"page","in":"query","required":false,"type":"integer","description":"Page number"},{"name":"limit","in":"query","required":false,"type":"integer","description":"Items per page"},{"name":"q","in":"query","required":false,"type":"string","description":"Search query"}],"exampleBody":null},{"method":"POST","path":"/users","summary":"Create user","description":"","parameters":[{"name":"firstName","in":"body","required":true,"type":"string","description":"Given name","example":"Amina"},{"name":"lastName","in":"body","required":true,"type":"string","description":"Family name","example":"Yusuf"},{"name":"phone","in":"body","required":true,"type":"string","description":"Mobile number in international format","example":"+251911223344"},{"name":"password","in":"body","required":true,"type":"string","format":"password","description":"Min 8 chars with upper, lower, number, special","example":"YourPassword123!"},{"name":"email","in":"body","required":false,"type":"string","format":"email","description":"Optional. If omitted a tenant-scoped address is generated from the phone.","example":"user@example.com"},{"name":"country","in":"body","required":false,"type":"string","description":"ISO 3166-1 alpha-2. Optional; defaults from the signup site.","example":"ET"},{"name":"type","in":"body","required":false,"type":"string","enum":["user","merchant","agent"],"description":"Optional account kind. Defaults to user (or merchant if businessName is set).","example":"user"},{"name":"businessName","in":"body","required":false,"type":"string","description":"Optional. Required when type is merchant.","example":"example-businessName"},{"name":"name","in":"body","required":false,"type":"string","description":"Optional display name (merchant/agent).","example":"example-name"},{"name":"referralCode","in":"body","required":false,"type":"string","description":"Optional affiliate or ambassador code.","example":"example-referralCode"}],"exampleBody":{"firstName":"Amina","lastName":"Yusuf","phone":"+251911223344","password":"YourPassword123!","email":"user@example.com","country":"ET","type":"user","businessName":"example-businessName","name":"example-name","referralCode":"example-referralCode"}},{"method":"GET","path":"/users/search","summary":"Search users","description":"Find users by phone, email, name or wallet ID.","parameters":[{"name":"q","in":"query","required":false,"type":"string","description":"Search query"}],"exampleBody":null},{"method":"GET","path":"/ussd/webhook","summary":"List webhook","description":"`GET /api/v1/ussd/webhook` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/ussd/webhook","summary":"Create webhook","description":"`POST /api/v1/ussd/webhook` — introspected from the live route handler.","parameters":[{"name":"sessionId","in":"body","required":true,"type":"string","description":"","example":"example-sessionId"},{"name":"SessionId","in":"body","required":false,"type":"string","description":"","example":"example-SessionId"},{"name":"session_id","in":"body","required":false,"type":"string","description":"","example":"example-session_id"},{"name":"phoneNumber","in":"body","required":true,"type":"string","description":"","example":"example-phoneNumber"},{"name":"PhoneNumber","in":"body","required":false,"type":"string","description":"","example":"example-PhoneNumber"},{"name":"from","in":"body","required":false,"type":"string","description":"","example":"example-from"},{"name":"From","in":"body","required":false,"type":"string","description":"","example":"example-From"},{"name":"msisdn","in":"body","required":false,"type":"string","description":"","example":"example-msisdn"},{"name":"Text","in":"body","required":false,"type":"string","description":"","example":"example-Text"},{"name":"input","in":"body","required":false,"type":"string","description":"","example":"example-input"},{"name":"Input","in":"body","required":false,"type":"string","description":"","example":"example-Input"},{"name":"networkCode","in":"body","required":false,"type":"string","description":"","example":"example-networkCode"},{"name":"network","in":"body","required":false,"type":"string","description":"","example":"example-network"},{"name":"Network","in":"body","required":false,"type":"string","description":"","example":"example-Network"}],"exampleBody":{"sessionId":"example-sessionId","SessionId":"example-SessionId","session_id":"example-session_id","phoneNumber":"example-phoneNumber","PhoneNumber":"example-PhoneNumber","from":"example-from","From":"example-From","msisdn":"example-msisdn","Text":"example-Text","input":"example-input","Input":"example-Input","networkCode":"example-networkCode","network":"example-network","Network":"example-Network"}},{"method":"GET","path":"/verification","summary":"List verification","description":"`GET /api/v1/verification` — introspected from the live route handler.","parameters":[{"name":"sessionId","in":"query","required":false,"type":"string","description":"sessionId query parameter"},{"name":"fromDate","in":"query","required":false,"type":"string","description":"fromDate query parameter"},{"name":"toDate","in":"query","required":false,"type":"string","description":"toDate query parameter"}],"exampleBody":null},{"method":"POST","path":"/verification","summary":"Create verification","description":"`POST /api/v1/verification` — introspected from the live route handler.","parameters":[{"name":"sessionId","in":"query","required":false,"type":"string","description":"sessionId query parameter"},{"name":"fromDate","in":"query","required":false,"type":"string","description":"fromDate query parameter"},{"name":"toDate","in":"query","required":false,"type":"string","description":"toDate query parameter"},{"name":"sessionId","in":"body","required":true,"type":"string","description":"","example":"example-sessionId"},{"name":"proofData","in":"body","required":false,"type":"number","description":"","example":0},{"name":"amount","in":"body","required":false,"type":"number","description":"","example":0},{"name":"reference","in":"body","required":false,"type":"string","description":"","example":"example-reference"},{"name":"transactionId","in":"body","required":false,"type":"string","description":"","example":"example-transactionId"},{"name":"timestamp","in":"body","required":false,"type":"string","description":"","example":"example-timestamp"},{"name":"senderName","in":"body","required":false,"type":"string","description":"","example":"example-senderName"},{"name":"senderPhone","in":"body","required":false,"type":"string","description":"","example":"example-senderPhone"},{"name":"senderEmail","in":"body","required":false,"type":"string","description":"","example":"example-senderEmail"},{"name":"destinationAccount","in":"body","required":false,"type":"string","description":"","example":"example-destinationAccount"},{"name":"blockchainHash","in":"body","required":false,"type":"string","description":"","example":"example-blockchainHash"},{"name":"blockchain","in":"body","required":false,"type":"string","description":"","example":"example-blockchain"},{"name":"reconciliationEntryId","in":"body","required":false,"type":"string","description":"","example":"example-reconciliationEntryId"},{"name":"ocrResult","in":"body","required":false,"type":"number","description":"","example":0},{"name":"confidence","in":"body","required":true,"type":"number","description":"","example":100},{"name":"extractedAmount","in":"body","required":false,"type":"number","description":"","example":0},{"name":"extractedReference","in":"body","required":false,"type":"string","description":"","example":"example-extractedReference"}],"exampleBody":{"sessionId":"example-sessionId","proofData":0,"amount":0,"reference":"example-reference","transactionId":"example-transactionId","timestamp":"example-timestamp","senderName":"example-senderName","senderPhone":"example-senderPhone","senderEmail":"example-senderEmail","destinationAccount":"example-destinationAccount","blockchainHash":"example-blockchainHash","blockchain":"example-blockchain","reconciliationEntryId":"example-reconciliationEntryId","ocrResult":0,"confidence":100,"extractedAmount":0,"extractedReference":"example-extractedReference"}},{"method":"POST","path":"/verification/sms-detected","summary":"Create sms detected","description":"`POST /api/v1/verification/sms-detected` — introspected from the live route handler.","parameters":[{"name":"sessionId","in":"body","required":true,"type":"string","description":"","example":"example-sessionId"},{"name":"smsContent","in":"body","required":true,"type":"string","description":"","example":"example-smsContent"},{"name":"parsedData","in":"body","required":false,"type":"string","description":"","example":"example-parsedData"},{"name":"source","in":"body","required":false,"type":"string","description":"","example":"example-source"},{"name":"timestamp","in":"body","required":false,"type":"string","description":"","example":"example-timestamp"}],"exampleBody":{"sessionId":"example-sessionId","smsContent":"example-smsContent","parsedData":"example-parsedData","source":"example-source","timestamp":"example-timestamp"}},{"method":"POST","path":"/voice/amount","summary":"Create amount","description":"`POST /api/v1/voice/amount` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/voice/confirm","summary":"Create confirm","description":"`POST /api/v1/voice/confirm` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/voice/menu","summary":"Create menu","description":"`POST /api/v1/voice/menu` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/voice/pin","summary":"Create pin","description":"`POST /api/v1/voice/pin` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/voice/recipient","summary":"Create recipient","description":"`POST /api/v1/voice/recipient` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/voice/webhook","summary":"List webhook","description":"`GET /api/v1/voice/webhook` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/voice/webhook","summary":"Create webhook","description":"`POST /api/v1/voice/webhook` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/wallet/balance","summary":"Get my wallet balance","description":"","parameters":[],"exampleBody":null},{"method":"GET","path":"/wallet/currency","summary":"List currency","description":"`GET /api/v1/wallet/currency` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/wallet/currency","summary":"Create currency","description":"`POST /api/v1/wallet/currency` — introspected from the live route handler.","parameters":[{"name":"action","in":"body","required":false,"type":"string","description":"","example":"example-action"},{"name":"currency","in":"body","required":true,"type":"string","description":"","example":"ETB"}],"exampleBody":{"action":"example-action","currency":"example-currency"}},{"method":"POST","path":"/wallet/deposit/confirm","summary":"Confirm deposit","description":"","parameters":[{"name":"reference","in":"body","required":true,"type":"string","description":"","example":"example-reference"}],"exampleBody":{"reference":"example-reference"}},{"method":"POST","path":"/wallet/deposit","summary":"Initiate deposit","description":"","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"},{"name":"amount","in":"body","required":true,"type":"number","description":"","example":100},{"name":"method","in":"body","required":true,"type":"string","description":"","example":"cbe"},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"}],"exampleBody":{"amount":100,"method":"cbe","currency":"ETB"}},{"method":"POST","path":"/wallet/deposit/sms-verify","summary":"Create sms verify","description":"`POST /api/v1/wallet/deposit/sms-verify` — introspected from the live route handler.","parameters":[{"name":"smsText","in":"body","required":true,"type":"string","description":"","example":"example-smsText"},{"name":"depositReference","in":"body","required":true,"type":"string","description":"","example":"example-depositReference"},{"name":"source","in":"body","required":false,"type":"string","description":"","example":"example-source"}],"exampleBody":{"smsText":"example-smsText","depositReference":"example-depositReference","source":"example-source"}},{"method":"GET","path":"/wallet/deposit/status","summary":"List status","description":"`GET /api/v1/wallet/deposit/status` — introspected from the live route handler.","parameters":[{"name":"reference","in":"query","required":false,"type":"string","description":"reference query parameter"}],"exampleBody":null},{"method":"POST","path":"/wallet/deposit/verify","summary":"Create verify","description":"`POST /api/v1/wallet/deposit/verify` — introspected from the live route handler.","parameters":[{"name":"transactionId","in":"body","required":true,"type":"string","description":"","example":"example-transactionId"},{"name":"depositReference","in":"body","required":true,"type":"string","description":"","example":"example-depositReference"},{"name":"provider","in":"body","required":false,"type":"string","description":"","example":"example-provider"},{"name":"smsSender","in":"body","required":false,"type":"string","description":"","example":"example-smsSender"}],"exampleBody":{"transactionId":"example-transactionId","depositReference":"example-depositReference","provider":"example-provider","smsSender":"example-smsSender"}},{"method":"GET","path":"/wallet/ledger","summary":"List ledger","description":"`GET /api/v1/wallet/ledger` — introspected from the live route handler.","parameters":[{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"skip","in":"query","required":false,"type":"string","description":"skip query parameter"}],"exampleBody":null},{"method":"GET","path":"/wallets/{walletId}/balance","summary":"Get wallet balance","description":"","parameters":[{"name":"walletId","in":"path","required":true,"type":"string","description":"Wallet ID"}],"exampleBody":null},{"method":"POST","path":"/wallets/{walletId}/fund","summary":"Fund wallet","description":"","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"},{"name":"walletId","in":"path","required":true,"type":"string","description":"Wallet ID"},{"name":"amount","in":"body","required":true,"type":"number","description":"","example":500},{"name":"method","in":"body","required":true,"type":"string","description":"","example":"telebirr"}],"exampleBody":{"amount":500,"method":"telebirr"}},{"method":"GET","path":"/wallets/{walletId}","summary":"Get wallet","description":"","parameters":[{"name":"walletId","in":"path","required":true,"type":"string","description":"Wallet ID"}],"exampleBody":null},{"method":"GET","path":"/wallets/{walletId}/transactions","summary":"Wallet transactions","description":"","parameters":[{"name":"walletId","in":"path","required":true,"type":"string","description":"Wallet ID"},{"name":"page","in":"query","required":false,"type":"integer","description":"Page number"},{"name":"limit","in":"query","required":false,"type":"integer","description":"Items per page"}],"exampleBody":null},{"method":"POST","path":"/wallets/{walletId}/transfer","summary":"Wallet-to-wallet transfer","description":"","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"type":"string","description":"A unique client-generated key (e.g. a UUID v4) that makes this request safe to retry. Replaying the same key returns the original result instead of creating a duplicate payment.","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"},{"name":"walletId","in":"path","required":true,"type":"string","description":"Wallet ID"},{"name":"recipient","in":"body","required":false,"type":"string","description":"Who receives the money: phone, email, or wallet ID. Required unless recipientIdentifier is sent.","example":"+8801712345678"},{"name":"recipientIdentifier","in":"body","required":false,"type":"string","description":"Optional alias of `recipient` (same value). Use one of recipient or recipientIdentifier.","example":"+8801712345678"},{"name":"recipientType","in":"body","required":false,"type":"string","enum":["phone","email","wallet_id"],"description":"Optional. How to interpret recipient. Defaults to phone.","example":"phone"},{"name":"amount","in":"body","required":true,"type":"number","description":"How much to send in `currency`.","example":1000},{"name":"currency","in":"body","required":false,"type":"string","description":"Optional ISO 4217 code. Defaults to the sender wallet currency.","example":"ETB"},{"name":"note","in":"body","required":false,"type":"string","description":"Optional message shown on the receipt.","example":"example-note"},{"name":"method","in":"body","required":false,"type":"string","description":"Optional send rail. Defaults to wallet.","example":"wallet"},{"name":"reference","in":"body","required":false,"type":"string","description":"Optional receipt / invoice number you generate. Returned on the transfer for reconciliation.","example":"INV-4192"}],"exampleBody":{"recipient":"+8801712345678","recipientIdentifier":"+8801712345678","recipientType":"phone","amount":1000,"currency":"ETB","note":"example-note","method":"wallet","reference":"INV-4192"}},{"method":"GET","path":"/wallets","summary":"List wallets","description":"","parameters":[{"name":"page","in":"query","required":false,"type":"integer","description":"Page number"},{"name":"limit","in":"query","required":false,"type":"integer","description":"Items per page"}],"exampleBody":null},{"method":"POST","path":"/wallets","summary":"Create wallet","description":"","parameters":[{"name":"currency","in":"body","required":true,"type":"string","description":"","example":"ETB"}],"exampleBody":{"currency":"ETB"}},{"method":"POST","path":"/webhooks/{id}/rotate","summary":"Create rotate","description":"`POST /api/v1/webhooks/{id}/rotate` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/webhooks/{id}","summary":"Get webhooks","description":"`GET /api/v1/webhooks/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"PATCH","path":"/webhooks/{id}","summary":"Update webhooks","description":"`PATCH /api/v1/webhooks/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"DELETE","path":"/webhooks/{id}","summary":"Delete webhooks","description":"`DELETE /api/v1/webhooks/{id}` — introspected from the live route handler.","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"id identifier"}],"exampleBody":null},{"method":"GET","path":"/webhooks/amole","summary":"List amole","description":"`GET /api/v1/webhooks/amole` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/webhooks/amole","summary":"Create amole","description":"`POST /api/v1/webhooks/amole` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/webhooks/arifpay","summary":"List arifpay","description":"`GET /api/v1/webhooks/arifpay` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/webhooks/arifpay","summary":"Create arifpay","description":"`POST /api/v1/webhooks/arifpay` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/webhooks/bkash","summary":"List bkash","description":"`GET /api/v1/webhooks/bkash` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/webhooks/bkash","summary":"Create bkash","description":"`POST /api/v1/webhooks/bkash` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/webhooks/cbe","summary":"List cbe","description":"`GET /api/v1/webhooks/cbe` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/webhooks/cbe","summary":"Create cbe","description":"`POST /api/v1/webhooks/cbe` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/webhooks/deliveries/{deliveryId}/retry","summary":"Create retry","description":"`POST /api/v1/webhooks/deliveries/{deliveryId}/retry` — introspected from the live route handler.","parameters":[{"name":"deliveryId","in":"path","required":true,"type":"string","description":"deliveryId identifier"}],"exampleBody":null},{"method":"GET","path":"/webhooks/deliveries","summary":"List deliveries","description":"`GET /api/v1/webhooks/deliveries` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/webhooks/events","summary":"List events","description":"`GET /api/v1/webhooks/events` — introspected from the live route handler.","parameters":[{"name":"types","in":"query","required":false,"type":"string","description":"types query parameter"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"type","in":"query","required":false,"type":"string","description":"type query parameter"}],"exampleBody":null},{"method":"GET","path":"/webhooks","summary":"List webhooks","description":"`GET /api/v1/webhooks` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/webhooks","summary":"Create webhooks","description":"`POST /api/v1/webhooks` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/webhooks/sms","summary":"List sms","description":"`GET /api/v1/webhooks/sms` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/webhooks/sms","summary":"Create sms","description":"`POST /api/v1/webhooks/sms` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/webhooks/swish","summary":"List swish","description":"`GET /api/v1/webhooks/swish` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/webhooks/swish","summary":"Create swish","description":"`POST /api/v1/webhooks/swish` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/webhooks/telebirr","summary":"List telebirr","description":"`GET /api/v1/webhooks/telebirr` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/webhooks/telebirr","summary":"Create telebirr","description":"`POST /api/v1/webhooks/telebirr` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"GET","path":"/white-label/resolve","summary":"List resolve","description":"`GET /api/v1/white-label/resolve` — introspected from the live route handler.","parameters":[{"name":"partnerId","in":"query","required":false,"type":"string","description":"partnerId query parameter"},{"name":"slug","in":"query","required":false,"type":"string","description":"slug query parameter"},{"name":"partnerSlug","in":"query","required":false,"type":"string","description":"partnerSlug query parameter"},{"name":"domain","in":"query","required":false,"type":"string","description":"domain query parameter"}],"exampleBody":null},{"method":"GET","path":"/white-label","summary":"List white label","description":"`GET /api/v1/white-label` — introspected from the live route handler.","parameters":[{"name":"domain","in":"query","required":false,"type":"string","description":"domain query parameter"},{"name":"slug","in":"query","required":false,"type":"string","description":"slug query parameter"},{"name":"partnerId","in":"query","required":false,"type":"string","description":"partnerId query parameter"},{"name":"partnerSlug","in":"query","required":false,"type":"string","description":"partnerSlug query parameter"}],"exampleBody":null},{"method":"POST","path":"/wishlist/{productId}","summary":"Create wishlist","description":"`POST /api/v1/wishlist/{productId}` — introspected from the live route handler.","parameters":[{"name":"productId","in":"path","required":true,"type":"string","description":"productId identifier"}],"exampleBody":null},{"method":"DELETE","path":"/wishlist/{productId}","summary":"Delete wishlist","description":"`DELETE /api/v1/wishlist/{productId}` — introspected from the live route handler.","parameters":[{"name":"productId","in":"path","required":true,"type":"string","description":"productId identifier"}],"exampleBody":null},{"method":"GET","path":"/wishlist","summary":"List wishlist","description":"`GET /api/v1/wishlist` — introspected from the live route handler.","parameters":[],"exampleBody":null},{"method":"POST","path":"/wishlist","summary":"Create wishlist","description":"`POST /api/v1/wishlist` — introspected from the live route handler.","parameters":[{"name":"productId","in":"body","required":false,"type":"string","description":"","example":"example-productId"}],"exampleBody":{"productId":"example-productId"}},{"method":"POST","path":"/withdrawal-codes/redeem","summary":"Create redeem","description":"`POST /api/v1/withdrawal-codes/redeem` — introspected from the live route handler.","parameters":[{"name":"code","in":"body","required":true,"type":"string","description":"","example":"example-code"},{"name":"agentId","in":"body","required":true,"type":"string","description":"","example":"example-agentId"}],"exampleBody":{"code":"example-code","agentId":"example-agentId"}},{"method":"GET","path":"/withdrawal-codes","summary":"List withdrawal codes","description":"`GET /api/v1/withdrawal-codes` — introspected from the live route handler.","parameters":[{"name":"userId","in":"query","required":false,"type":"string","description":"userId query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"}],"exampleBody":null},{"method":"POST","path":"/withdrawal-codes","summary":"Create withdrawal codes","description":"`POST /api/v1/withdrawal-codes` — introspected from the live route handler.","parameters":[{"name":"userId","in":"query","required":false,"type":"string","description":"userId query parameter"},{"name":"status","in":"query","required":false,"type":"string","description":"status query parameter"},{"name":"page","in":"query","required":false,"type":"string","description":"page query parameter"},{"name":"limit","in":"query","required":false,"type":"string","description":"limit query parameter"},{"name":"userId","in":"body","required":true,"type":"string","description":"","example":"example-userId"},{"name":"amount","in":"body","required":true,"type":"string","description":"","example":100},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"}],"exampleBody":{"userId":"example-userId","amount":"example-amount","currency":"example-currency"}},{"method":"POST","path":"/withdrawal-codes/validate","summary":"Create validate","description":"`POST /api/v1/withdrawal-codes/validate` — introspected from the live route handler.","parameters":[{"name":"code","in":"body","required":true,"type":"string","description":"","example":"example-code"},{"name":"agentId","in":"body","required":true,"type":"string","description":"","example":"example-agentId"}],"exampleBody":{"code":"example-code","agentId":"example-agentId"}},{"method":"GET","path":"/profile","summary":"Get my profile","description":"","parameters":[],"exampleBody":null},{"method":"PATCH","path":"/profile","summary":"Update my profile","description":"","parameters":[{"name":"name","in":"body","required":false,"type":"string","description":"","example":"example-name"},{"name":"avatar","in":"body","required":false,"type":"string","description":"","example":"example-avatar"},{"name":"country","in":"body","required":false,"type":"string","description":"","example":"example-country"},{"name":"currency","in":"body","required":false,"type":"string","description":"","example":"ETB"},{"name":"language","in":"body","required":false,"type":"string","description":"","example":"example-language"},{"name":"status","in":"body","required":false,"type":"string","enum":["active","suspended","deactivated"],"description":"","example":"active"}],"exampleBody":{"name":"example-name","avatar":"example-avatar","country":"example-country","currency":"ETB","language":"example-language","status":"active"}},{"method":"GET","path":"/agents/{id}","summary":"Get agent","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"Resource ID"}],"exampleBody":null},{"method":"PATCH","path":"/agents/{id}","summary":"Update agent","description":"","parameters":[{"name":"id","in":"path","required":true,"type":"string","description":"Resource ID"},{"name":"name","in":"body","required":true,"type":"string","description":"","example":"example-name"},{"name":"email","in":"body","required":false,"type":"string","description":"","example":"example-email"},{"name":"phone","in":"body","required":true,"type":"string","description":"","example":"+251911223344"},{"name":"region","in":"body","required":false,"type":"string","description":"","example":"example-region"},{"name":"commissionRate","in":"body","required":false,"type":"number","description":"","example":0},{"name":"password","in":"body","required":false,"type":"string","description":"","example":"YourPassword123!"}],"exampleBody":{"name":"example-name","email":"example-email","phone":"+251911223344","region":"example-region","commissionRate":0,"password":"YourPassword123!"}}]}