{"openapi":"3.0.3","info":{"title":"Amnen Pay Apps API","description":"APIs used by Amnen Pay’s own apps (customer, agent, merchant, bank) — the same surface the website uses. Auto-generated from live route handlers so new product endpoints appear here. Admin, founder, and operational control-plane APIs are excluded. Customer/agent/merchant apps authenticate with a short-lived Bearer JWT from POST /auth/login (never embed secret keys in the mobile app). Payment-creating requests must include an Idempotency-Key header. The public playground only executes isolated sandbox routes; it will not move live money.","version":"1.0.0","contact":{"name":"Amnen Pay Engineering","email":"engineering@amnenpay.com","url":"https://amnenpay.com"},"license":{"name":"Proprietary","url":"https://amnenpay.com/license"},"x-totalPaths":488,"x-totalOperations":712,"x-introspectedRoutes":989,"x-detailedGroups":11,"x-categories":55,"x-visibility":"apps","x-audience":"apps"},"servers":[{"url":"https://api.amnenpay.com/v1","description":"Amnen Pay API. Sandbox vs live is the credential (test user JWT or sk_test_ / ampk_test_), not a separate host."}],"tags":[{"name":"Auth","description":"Authentication"},{"name":"Users","description":"User Management"},{"name":"Wallets","description":"Wallet Management"},{"name":"Transfers","description":"Transfers"},{"name":"KYC","description":"KYC & Verification"},{"name":"Agents","description":"Agent Management"},{"name":"Merchants","description":"Merchant Management"},{"name":"Cards","description":"Card Management"},{"name":"Notifications","description":"Notifications"},{"name":"Health","description":"Health Check"},{"name":"Affiliate","description":"Affiliate endpoints"},{"name":"Affiliates","description":"Affiliates endpoints"},{"name":"Agent payouts","description":"Agent payouts endpoints"},{"name":"Airtime & Mobile","description":"Airtime & Mobile"},{"name":"Ambassadors","description":"Ambassadors endpoints"},{"name":"Api keys","description":"Api keys endpoints"},{"name":"Banking","description":"Banking"},{"name":"Beneficiaries","description":"Beneficiaries"},{"name":"Betting","description":"Betting"},{"name":"Bills & Utilities","description":"Bills & Utilities"},{"name":"Blockchain","description":"Blockchain"},{"name":"Bulk jobs","description":"Bulk jobs endpoints"},{"name":"Business","description":"Business endpoints"},{"name":"Business Management","description":"Business Management"},{"name":"Bypass","description":"Bypass endpoints"},{"name":"Bypass transfer","description":"Bypass transfer endpoints"},{"name":"Cart","description":"Cart endpoints"},{"name":"Chat & Messaging","description":"Chat & Messaging"},{"name":"Checkout","description":"Checkout endpoints"},{"name":"Claims Management","description":"Claims Management"},{"name":"Connect Platform","description":"Connect Platform"},{"name":"Country Data","description":"Country Data"},{"name":"Cryptocurrency","description":"Cryptocurrency"},{"name":"Customer Management","description":"Customer Management"},{"name":"Customers","description":"Customers endpoints"},{"name":"Ddr","description":"Ddr endpoints"},{"name":"Developer","description":"Developer endpoints"},{"name":"Developers","description":"Developers endpoints"},{"name":"Disbursement","description":"Disbursement"},{"name":"Documents","description":"Documents endpoints"},{"name":"Email","description":"Email endpoints"},{"name":"Errors","description":"Errors endpoints"},{"name":"Escrow Services","description":"Escrow Services"},{"name":"Exchange rates","description":"Exchange rates endpoints"},{"name":"Exchange Rates","description":"Exchange Rates"},{"name":"Exports","description":"Exports endpoints"},{"name":"Features","description":"Features endpoints"},{"name":"Fees","description":"Fees endpoints"},{"name":"Fraud Detection","description":"Fraud Detection"},{"name":"Group bill","description":"Group bill endpoints"},{"name":"Identity Verification","description":"Identity Verification"},{"name":"Integration marketplace","description":"Integration marketplace endpoints"},{"name":"Intents","description":"Intents endpoints"},{"name":"Ios","description":"Ios endpoints"},{"name":"Languages","description":"Languages endpoints"},{"name":"Ledger & Accounting","description":"Ledger & Accounting"},{"name":"M","description":"M endpoints"},{"name":"Marketplace","description":"Marketplace"},{"name":"Offline","description":"Offline endpoints"},{"name":"Order","description":"Order endpoints"},{"name":"Partner","description":"Partner endpoints"},{"name":"Partners","description":"Partners endpoints"},{"name":"Pay","description":"Pay endpoints"},{"name":"Pay link","description":"Pay link endpoints"},{"name":"Payment","description":"Payment endpoints"},{"name":"Payment Bridge","description":"Payment Bridge"},{"name":"Payment Links","description":"Payment Links"},{"name":"Payment methods","description":"Payment methods endpoints"},{"name":"Payment Processing","description":"Payment Processing"},{"name":"Payment proofs","description":"Payment proofs endpoints"},{"name":"Payment Requests","description":"Payment Requests"},{"name":"Payment sessions","description":"Payment sessions endpoints"},{"name":"Payment templates","description":"Payment templates endpoints"},{"name":"Pin","description":"Pin endpoints"},{"name":"Product","description":"Product endpoints"},{"name":"Product modules","description":"Product modules endpoints"},{"name":"Providers","description":"Providers endpoints"},{"name":"Public","description":"Public endpoints"},{"name":"QR Codes","description":"QR Codes"},{"name":"Receipts","description":"Receipts endpoints"},{"name":"Remittance","description":"Remittance endpoints"},{"name":"Reports","description":"Reports endpoints"},{"name":"Requests","description":"Requests endpoints"},{"name":"Restaurant","description":"Restaurant endpoints"},{"name":"Routing","description":"Routing endpoints"},{"name":"Sandbox","description":"Sandbox endpoints"},{"name":"Search","description":"Search endpoints"},{"name":"Sms","description":"Sms endpoints"},{"name":"Softpos","description":"Softpos endpoints"},{"name":"Status","description":"Status endpoints"},{"name":"Subscriptions","description":"Subscriptions"},{"name":"Support Ticketing","description":"Support Ticketing"},{"name":"Tap","description":"Tap endpoints"},{"name":"Tenant","description":"Tenant endpoints"},{"name":"Token","description":"Token endpoints"},{"name":"Translate","description":"Translate endpoints"},{"name":"Upload","description":"Upload endpoints"},{"name":"User","description":"User endpoints"},{"name":"Ussd","description":"Ussd endpoints"},{"name":"Verification","description":"Verification endpoints"},{"name":"Voice","description":"Voice endpoints"},{"name":"Webhooks","description":"Webhooks"},{"name":"White label","description":"White label endpoints"},{"name":"Wishlist","description":"Wishlist endpoints"},{"name":"Withdrawal codes","description":"Withdrawal codes endpoints"}],"paths":{"/affiliate/dashboard":{"get":{"tags":["Affiliate"],"summary":"List dashboard","description":"`GET /api/v1/affiliate/dashboard` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/affiliates/track":{"post":{"tags":["Affiliates"],"summary":"Create track","description":"`POST /api/v1/affiliates/track` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"referralCode":{"type":"string"},"referredUserId":{"type":"string"},"source":{"type":"string"},"metadata":{"type":"string"}},"required":["referralCode","referredUserId"]},"example":{"referralCode":"example-referralCode","referredUserId":"example-referredUserId","source":"example-source","metadata":"example-metadata"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent-payouts":{"get":{"tags":["Agent payouts"],"summary":"List agent payouts","description":"`GET /api/v1/agent-payouts` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"action","in":"query","required":false,"description":"action query parameter","schema":{"type":"string"}},{"name":"id","in":"query","required":false,"description":"id query parameter","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"period query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Agent payouts"],"summary":"Create agent payouts","description":"`POST /api/v1/agent-payouts` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"action","in":"query","required":false,"description":"action query parameter","schema":{"type":"string"}},{"name":"id","in":"query","required":false,"description":"id query parameter","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"period query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/2fa":{"get":{"tags":["Agents"],"summary":"List 2fa","description":"`GET /api/v1/agent/2fa` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Agents"],"summary":"Create 2fa","description":"`POST /api/v1/agent/2fa` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"code":{"type":"string"}}},"example":{"action":"example-action","code":"example-code"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/account-exists":{"post":{"tags":["Agents"],"summary":"Create account exists","description":"`POST /api/v1/agent/account-exists` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"phone":{"type":"string"}},"required":["phone"]},"example":{"phone":"example-phone"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/balance":{"get":{"tags":["Agents"],"summary":"Agent float balance","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Float balance","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/cash-in":{"post":{"tags":["Agents"],"summary":"Create cash in","description":"`POST /api/v1/agent/cash-in` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerPhone":{"type":"string"},"amount":{"type":"string"},"currency":{"type":"string"}},"required":["customerPhone","amount"]},"example":{"customerPhone":"example-customerPhone","amount":"example-amount","currency":"example-currency"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/commission/payout-request":{"get":{"tags":["Agents"],"summary":"List payout request","description":"`GET /api/v1/agent/commission/payout-request` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Agents"],"summary":"Create payout request","description":"`POST /api/v1/agent/commission/payout-request` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"string"},"payoutMethod":{"type":"string"},"bankAccountId":{"type":"string"}},"required":["amount"]},"example":{"amount":"example-amount","payoutMethod":"example-payoutMethod","bankAccountId":"example-bankAccountId"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/commission":{"get":{"tags":["Agents"],"summary":"List commission","description":"`GET /api/v1/agent/commission` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"period","in":"query","required":false,"description":"period query parameter","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/deposit/confirm":{"post":{"tags":["Agents"],"summary":"Create confirm","description":"`POST /api/v1/agent/deposit/confirm` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"depositId":{"type":"string"},"otp":{"type":"string"}},"required":["depositId"]},"example":{"depositId":"example-depositId","otp":"example-otp"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/deposit":{"post":{"tags":["Agents"],"summary":"Create deposit","description":"`POST /api/v1/agent/deposit` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customerPhone":{"type":"string"},"amount":{"type":"number"},"notes":{"type":"string"},"reference":{"type":"string"}},"required":["customerPhone","amount"]},"example":{"customerPhone":"example-customerPhone","amount":100,"notes":"example-notes","reference":"example-reference"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/enablement/exam":{"get":{"tags":["Agents"],"summary":"List exam","description":"`GET /api/v1/agent/enablement/exam` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/enablement":{"get":{"tags":["Agents"],"summary":"List enablement","description":"`GET /api/v1/agent/enablement` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"export","in":"query","required":false,"description":"export query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Agents"],"summary":"Create enablement","description":"`POST /api/v1/agent/enablement` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"export","in":"query","required":false,"description":"export query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"moduleId":{"type":"string"},"lessonId":{"type":"string"},"answers":{"type":"string"}},"required":["moduleId","lessonId"]},"example":{"action":"example-action","moduleId":"example-moduleId","lessonId":"example-lessonId","answers":"example-answers"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/kyc/reply":{"post":{"tags":["Agents"],"summary":"Create reply","description":"`POST /api/v1/agent/kyc/reply` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/kyc/status":{"get":{"tags":["KYC"],"summary":"Get KYC status","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"KYC status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/kyc/submit":{"post":{"tags":["KYC"],"summary":"Submit KYC (agent-assisted)","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["documentType","documentNumber"],"properties":{"fullName":{"type":"string"},"documentType":{"type":"string","enum":["national_id","passport","drivers_license"]},"documentNumber":{"type":"string"},"documentFront":{"type":"string","description":"URL or base64 of front image"},"documentBack":{"type":"string"},"selfie":{"type":"string"},"dateOfBirth":{"type":"string","format":"date"},"address":{"type":"string"}},"title":"KycSubmissionRequest"},"example":{"fullName":"example-fullName","documentType":"national_id","documentNumber":"example-documentNumber","documentFront":"example-documentFront","documentBack":"example-documentBack","selfie":"example-selfie","dateOfBirth":"example-dateOfBirth","address":"example-address"}}}},"responses":{"200":{"description":"KYC submitted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/login":{"post":{"tags":["Agents"],"summary":"Create login","description":"`POST /api/v1/agent/login` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"phone":{"type":"string"},"password":{"type":"string"}},"required":["phone","password"]},"example":{"phone":"example-phone","password":"YourPassword123!"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/money-preview":{"get":{"tags":["Agents"],"summary":"List money preview","description":"`GET /api/v1/agent/money-preview` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Agents"],"summary":"Create money preview","description":"`POST /api/v1/agent/money-preview` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"string"},"currency":{"type":"string"}}},"example":{"amount":"example-amount","currency":"example-currency"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/payouts/complete":{"post":{"tags":["Agents"],"summary":"Create complete","description":"`POST /api/v1/agent/payouts/complete` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"payoutId":{"type":"string"},"completedAt":{"type":"string"},"transactionId":{"type":"string"}},"required":["payoutId"]},"example":{"payoutId":"example-payoutId","completedAt":"example-completedAt","transactionId":"example-transactionId"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/payouts":{"get":{"tags":["Agents"],"summary":"List payouts","description":"`GET /api/v1/agent/payouts` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/reset-password":{"post":{"tags":["Agents"],"summary":"Create reset password","description":"`POST /api/v1/agent/reset-password` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"otp":{"type":"string"},"newPassword":{"type":"string"},"firebaseVerified":{"type":"string"},"phone":{"type":"string"}},"required":["otp","newPassword","firebaseVerified","phone"]},"example":{"otp":"example-otp","newPassword":"example-newPassword","firebaseVerified":"example-firebaseVerified","phone":"example-phone"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/sessions":{"get":{"tags":["Agents"],"summary":"List sessions","description":"`GET /api/v1/agent/sessions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Agents"],"summary":"Create sessions","description":"`POST /api/v1/agent/sessions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sessionId":{"type":"string"},"keepCurrent":{"type":"string"}},"required":["sessionId"]},"example":{"sessionId":"example-sessionId","keepCurrent":"example-keepCurrent"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/settings":{"get":{"tags":["Agents"],"summary":"List settings","description":"`GET /api/v1/agent/settings` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Agents"],"summary":"Replace settings","description":"`PUT /api/v1/agent/settings` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"monday":{"type":"string"},"tuesday":{"type":"string"},"wednesday":{"type":"string"},"thursday":{"type":"string"},"friday":{"type":"string"},"saturday":{"type":"string"},"sunday":{"type":"string"},"open":{"type":"string"},"close":{"type":"string"},"sms":{"type":"boolean"},"email":{"type":"boolean"},"push":{"type":"boolean"},"transactionAlerts":{"type":"boolean"},"dailySummary":{"type":"boolean"},"weeklySummary":{"type":"boolean"},"lowBalanceAlert":{"type":"boolean"},"lowBalanceThreshold":{"type":"number"},"marketing":{"type":"boolean"},"completedPayouts":{"type":"boolean"},"lowBalance":{"type":"boolean"},"dailyLimit":{"type":"number"},"notificationPreferences":{"type":"string"},"settlementSchedule":{"type":"string","enum":["daily","weekly","manual"]},"settlementDay":{"type":"number"},"autoSettlement":{"type":"boolean"},"businessHours":{"type":"string"},"preferences":{"type":"string"},"security":{"type":"string"}},"required":["monday","tuesday","wednesday","thursday","friday","saturday","sunday","open","close"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/transactions":{"get":{"tags":["Agents"],"summary":"List transactions","description":"`GET /api/v1/agent/transactions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"fromDate","in":"query","required":false,"description":"fromDate query parameter","schema":{"type":"string"}},{"name":"toDate","in":"query","required":false,"description":"toDate query parameter","schema":{"type":"string"}},{"name":"customerPhone","in":"query","required":false,"description":"customerPhone query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agent/withdraw/confirm":{"post":{"tags":["Agents"],"summary":"Create confirm","description":"`POST /api/v1/agent/withdraw/confirm` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"withdrawalId":{"type":"string"}},"required":["code"]},"example":{"code":"example-code","withdrawalId":"example-withdrawalId"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]}},"/agent/withdraw/verify-code":{"post":{"tags":["Agents"],"summary":"Create verify code","description":"`POST /api/v1/agent/withdraw/verify-code` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"}},"required":["code"]},"example":{"code":"example-code"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]}},"/agents/{id}/activate":{"post":{"tags":["Agents"],"summary":"Create activate","description":"`POST /api/v1/agents/{id}/activate` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agents/{id}/assisted-kyc":{"post":{"tags":["Agents"],"summary":"Create assisted kyc","description":"`POST /api/v1/agents/{id}/assisted-kyc` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userPhone":{"type":"string"},"idType":{"type":"string","enum":["national_id","passport","driving_license","voter_id"]},"idNumber":{"type":"string"},"idExpiryDate":{"type":"string"},"fullName":{"type":"string"},"dateOfBirth":{"type":"string"},"address":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"selfieVerified":{"type":"boolean"},"documentVerified":{"type":"boolean"},"notes":{"type":"string"}},"required":["userPhone","idType","idNumber","fullName","dateOfBirth"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agents/{id}/cash-in":{"post":{"tags":["Agents"],"summary":"Agent cash-in","description":"Customer deposits physical cash with an agent; agent float decreases, customer wallet increases.","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Id"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["customerIdentifier","amount"],"properties":{"customerIdentifier":{"type":"string"},"amount":{"type":"number"}}},"example":{"customerIdentifier":"example-customerIdentifier","amount":100}}}},"responses":{"200":{"description":"Cash-in complete","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agents/{id}/cash-out":{"post":{"tags":["Agents"],"summary":"Agent cash-out","description":"Customer withdraws physical cash from an agent.","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Id"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["customerIdentifier","amount"],"properties":{"customerIdentifier":{"type":"string"},"amount":{"type":"number"}}},"example":{"customerIdentifier":"example-customerIdentifier","amount":100}}}},"responses":{"200":{"description":"Cash-out complete","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agents/{id}/commissions":{"get":{"tags":["Agents"],"summary":"Agent commissions","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Id"}],"responses":{"200":{"description":"Commissions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Agents"],"summary":"Create commissions","description":"`POST /api/v1/agents/{id}/commissions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"}}},"example":{"action":"example-action"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agents/{id}/dashboard":{"get":{"tags":["Agents"],"summary":"List dashboard","description":"`GET /api/v1/agents/{id}/dashboard` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agents/{id}/onboard-user":{"post":{"tags":["Agents"],"summary":"Create onboard user","description":"`POST /api/v1/agents/{id}/onboard-user` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"phone":{"type":"string"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"idType":{"type":"string"},"idNumber":{"type":"string"},"address":{"type":"string"},"city":{"type":"string"},"country":{"type":"string"},"dateOfBirth":{"type":"string"},"initialDeposit":{"type":"number"}},"required":["phone","name"]},"example":{"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}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agents/{id}/set-password":{"post":{"tags":["Agents"],"summary":"Create set password","description":"`POST /api/v1/agents/{id}/set-password` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"password":{"type":"string"}},"required":["password"]},"example":{"password":"YourPassword123!"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agents/{id}/status":{"get":{"tags":["Agents"],"summary":"List status","description":"`GET /api/v1/agents/{id}/status` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Agents"],"summary":"Replace status","description":"`PUT /api/v1/agents/{id}/status` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string"},"notifyAgent":{"type":"boolean"},"suspensionEndDate":{"type":"string"}}},"example":{"reason":"example-reason","notifyAgent":false,"suspensionEndDate":"example-suspensionEndDate"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agents/{id}/transactions":{"get":{"tags":["Agents"],"summary":"List transactions","description":"`GET /api/v1/agents/{id}/transactions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"skip","in":"query","required":false,"description":"skip query parameter","schema":{"type":"string"}},{"name":"startDate","in":"query","required":false,"description":"startDate query parameter","schema":{"type":"string"}},{"name":"endDate","in":"query","required":false,"description":"endDate query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agents/{id}/verify-kyc":{"post":{"tags":["Agents"],"summary":"Create verify kyc","description":"`POST /api/v1/agents/{id}/verify-kyc` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agents/kyc/submit":{"post":{"tags":["Agents"],"summary":"Create submit","description":"`POST /api/v1/agents/kyc/submit` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string"},"documentUrl":{"type":"string"},"documentData":{"type":"string"},"metadata":{"type":"object"},"agentId":{"type":"string"},"documents":{"type":"array"},"selfieUrl":{"type":"string"},"selfieData":{"type":"string"},"address":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"bankName":{"type":"string"},"bankAccountNumber":{"type":"string"},"bankAccountName":{"type":"string"}},"required":["type","documentUrl","agentId","documents","selfieUrl"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agents/kyc/verify":{"post":{"tags":["Agents"],"summary":"Create verify","description":"`POST /api/v1/agents/kyc/verify` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"agentId":{"type":"string"},"notes":{"type":"string"},"activateAgent":{"type":"boolean"}},"required":["agentId"]},"example":{"agentId":"example-agentId","notes":"example-notes","activateAgent":false}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agents/list":{"get":{"tags":["Agents"],"summary":"List list","description":"`GET /api/v1/agents/list` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"tier","in":"query","required":false,"description":"tier query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"kycStatus","in":"query","required":false,"description":"kycStatus query parameter","schema":{"type":"string"}},{"name":"country","in":"query","required":false,"description":"country query parameter","schema":{"type":"string"}},{"name":"city","in":"query","required":false,"description":"city query parameter","schema":{"type":"string"}},{"name":"search","in":"query","required":false,"description":"search query parameter","schema":{"type":"string"}},{"name":"sortBy","in":"query","required":false,"description":"sortBy query parameter","schema":{"type":"string"}},{"name":"sortOrder","in":"query","required":false,"description":"sortOrder query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agents/me":{"get":{"tags":["Agents"],"summary":"List me","description":"`GET /api/v1/agents/me` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agents/register":{"post":{"tags":["Agents"],"summary":"Create register","description":"`POST /api/v1/agents/register` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"lastName":{"type":"string"},"email":{"type":"string","format":"email"},"phone":{"type":"string"},"agentType":{"type":"string"},"city":{"type":"string"},"country":{"type":"string"},"idDocument":{"type":"string"}},"required":["lastName","phone","city","country"]},"example":{"lastName":"example-lastName","email":"user@example.com","phone":"example-phone","agentType":"example-agentType","city":"example-city","country":"example-country","idDocument":"example-idDocument"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agents":{"get":{"tags":["Agents"],"summary":"List agents","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/Limit"}],"responses":{"200":{"description":"Agents","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentListResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Agents"],"summary":"Create agent","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","phone"],"properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"region":{"type":"string"},"commissionRate":{"type":"number"},"password":{"type":"string"}},"title":"AgentRequest"},"example":{"name":"example-name","email":"example-email","phone":"+251911223344","region":"example-region","commissionRate":0,"password":"YourPassword123!"}}}},"responses":{"201":{"description":"Agent created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/airtime/buy":{"post":{"tags":["Airtime & Mobile"],"summary":"Create buy","description":"`POST /api/v1/airtime/buy` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/airtime/rates":{"get":{"tags":["Airtime & Mobile"],"summary":"List rates","description":"`GET /api/v1/airtime/rates` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/airtime/sell":{"post":{"tags":["Airtime & Mobile"],"summary":"Create sell","description":"`POST /api/v1/airtime/sell` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/ambassadors/apply":{"post":{"tags":["Ambassadors"],"summary":"Create apply","description":"`POST /api/v1/ambassadors/apply` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"fullName":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"tier":{"type":"string"},"countryCode":{"type":"string"},"region":{"type":"string"},"campus":{"type":"string"},"audienceSize":{"type":"string"},"channels":{"type":"string"},"motivation":{"type":"string"}},"required":["fullName","email","tier"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/api-keys/{id}/rotate":{"post":{"tags":["Api keys"],"summary":"Create rotate","description":"`POST /api/v1/api-keys/{id}/rotate` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/api-keys/{id}":{"patch":{"tags":["Api keys"],"summary":"Update api keys","description":"`PATCH /api/v1/api-keys/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Api keys"],"summary":"Delete api keys","description":"`DELETE /api/v1/api-keys/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/api-keys":{"get":{"tags":["Api keys"],"summary":"List api keys","description":"`GET /api/v1/api-keys` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Api keys"],"summary":"Create api keys","description":"`POST /api/v1/api-keys` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/2fa/challenge":{"post":{"tags":["Auth"],"summary":"Create challenge","description":"`POST /api/v1/auth/2fa/challenge` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"challengeToken":{"type":"string"},"code":{"type":"string"}}},"example":{"challengeToken":"example-challengeToken","code":"example-code"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/2fa":{"get":{"tags":["Auth"],"summary":"List 2fa","description":"`GET /api/v1/auth/2fa` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Auth"],"summary":"Create 2fa","description":"`POST /api/v1/auth/2fa` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"code":{"type":"string"}}},"example":{"action":"example-action","code":"example-code"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/account-exists":{"post":{"tags":["Auth"],"summary":"Create account exists","description":"`POST /api/v1/auth/account-exists` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"phone":{"type":"string"},"countryCode":{"type":"string"}},"required":["phone"]},"example":{"phone":"example-phone","countryCode":"example-countryCode"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/change-password":{"post":{"tags":["Auth"],"summary":"Create change password","description":"`POST /api/v1/auth/change-password` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"currentPassword":{"type":"string"},"newPassword":{"type":"string"}},"required":["currentPassword","newPassword"]},"example":{"currentPassword":"example-currentPassword","newPassword":"example-newPassword"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/ensure-firebase-domain":{"post":{"tags":["Auth"],"summary":"Create ensure firebase domain","description":"`POST /api/v1/auth/ensure-firebase-domain` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"hostname":{"type":"string"},"domain":{"type":"string"},"force":{"type":"string"}}},"example":{"hostname":"example-hostname","domain":"example-domain","force":"example-force"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/firebase":{"post":{"tags":["Auth"],"summary":"Create firebase","description":"`POST /api/v1/auth/firebase` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"idToken":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"country":{"type":"string"},"referralCode":{"type":"string"},"allowCreate":{"type":"string"}},"required":["idToken","allowCreate"]},"example":{"idToken":"example-idToken","firstName":"example-firstName","lastName":"example-lastName","country":"example-country","referralCode":"example-referralCode","allowCreate":"example-allowCreate"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/login":{"post":{"tags":["Auth"],"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.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Pass one of: email+password, phone+password, or phone+otp. Do not send unused fields.","properties":{"email":{"type":"string","format":"email","description":"Optional. Use with password for email login.","example":"amina@example.com"},"phone":{"type":"string","description":"Optional. Use with password or otp for phone login.","example":"+251911223344"},"password":{"type":"string","format":"password","description":"Optional if otp is sent. Required for email or phone password login."},"otp":{"type":"string","description":"Optional one-time code for passwordless phone login. Use after POST /auth/send-otp."}},"title":"LoginRequest"},"example":{"email":"amina@example.com","password":"StrongPass!23"}}}},"responses":{"200":{"description":"Authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/logout":{"post":{"tags":["Auth"],"summary":"Logout","description":"Invalidates the current session/refresh token.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Logged out","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/me":{"get":{"tags":["Auth"],"summary":"Current account","description":"Returns the authenticated principal derived from the access token.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Current user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/password":{"post":{"tags":["Auth"],"summary":"Create password","description":"`POST /api/v1/auth/password` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"currentPassword":{"type":"string"},"newPassword":{"type":"string"}},"required":["currentPassword","newPassword"]},"example":{"currentPassword":"example-currentPassword","newPassword":"example-newPassword"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Auth"],"summary":"Change password","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["currentPassword","newPassword"],"properties":{"currentPassword":{"type":"string"},"newPassword":{"type":"string"}}},"example":{"currentPassword":"example-currentPassword","newPassword":"example-newPassword"}}}},"responses":{"200":{"description":"Password updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/refresh":{"post":{"tags":["Auth"],"summary":"Refresh access token","description":"Exchanges a valid refresh token for a new short-lived access token.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["refreshToken"],"properties":{"refreshToken":{"type":"string"}}},"example":{"refreshToken":"example-refreshToken"}}}},"responses":{"200":{"description":"New tokens issued","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/register":{"post":{"tags":["Auth"],"summary":"Register a new account","description":"Creates a personal user, merchant, or agent account depending on `accountType`.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["firstName","lastName","phone","password"],"properties":{"firstName":{"type":"string","description":"Given name","example":"Amina"},"lastName":{"type":"string","description":"Family name","example":"Yusuf"},"phone":{"type":"string","description":"Mobile number in international format","example":"+251911223344"},"password":{"type":"string","format":"password","minLength":8,"description":"Min 8 chars with upper, lower, number, special"},"email":{"type":"string","format":"email","description":"Optional. If omitted a tenant-scoped address is generated from the phone."},"country":{"type":"string","description":"ISO 3166-1 alpha-2. Optional; defaults from the signup site.","example":"ET"},"type":{"type":"string","enum":["user","merchant","agent"],"description":"Optional account kind. Defaults to user (or merchant if businessName is set)."},"businessName":{"type":"string","description":"Optional. Required when type is merchant."},"name":{"type":"string","description":"Optional display name (merchant/agent)."},"referralCode":{"type":"string","description":"Optional affiliate or ambassador code."}},"title":"RegisterRequest"},"example":{"firstName":"Amina","lastName":"Yusuf","phone":"+251911223344","password":"StrongPass!23","country":"ET","email":"amina@example.com"}}}},"responses":{"201":{"description":"Account created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/reset-password":{"post":{"tags":["Auth"],"summary":"Create reset password","description":"`POST /api/v1/auth/reset-password` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"otp":{"type":"string"},"newPassword":{"type":"string"},"firebaseVerified":{"type":"string"},"phone":{"type":"string"},"countryCode":{"type":"string"}},"required":["newPassword","phone"]},"example":{"otp":"example-otp","newPassword":"example-newPassword","firebaseVerified":"example-firebaseVerified","phone":"example-phone","countryCode":"example-countryCode"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/send-email-otp":{"post":{"tags":["Auth"],"summary":"Send email OTP","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"}}},"example":{"email":"user@example.com"}}}},"responses":{"200":{"description":"Email OTP sent","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/send-login-otp":{"post":{"tags":["Auth"],"summary":"Create send login otp","description":"`POST /api/v1/auth/send-login-otp` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"phone":{"type":"string"},"countryCode":{"type":"string"}},"required":["phone"]},"example":{"phone":"example-phone","countryCode":"example-countryCode"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/send-otp":{"post":{"tags":["Auth"],"summary":"Send phone OTP","description":"Sends a one-time passcode via SMS for verification or passwordless login.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["phone"],"properties":{"phone":{"type":"string","example":"+251911223344"}}},"example":{"phone":"+251911223344"}}}},"responses":{"200":{"description":"OTP sent","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/sessions/revoke":{"post":{"tags":["Auth"],"summary":"Create revoke","description":"`POST /api/v1/auth/sessions/revoke` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"sessionId":{"type":"string"}}},"example":{"sessionId":"example-sessionId"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/validate":{"get":{"tags":["Auth"],"summary":"List validate","description":"`GET /api/v1/auth/validate` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/verify-email-otp":{"post":{"tags":["Auth"],"summary":"Verify email OTP","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email","otp"],"properties":{"email":{"type":"string"},"otp":{"type":"string"}}},"example":{"email":"example-email","otp":"example-otp"}}}},"responses":{"200":{"description":"Email verified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/auth/verify-otp":{"post":{"tags":["Auth"],"summary":"Verify phone OTP","description":"Verifies a previously sent SMS OTP.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["phone","otp"],"properties":{"phone":{"type":"string"},"otp":{"type":"string","example":"123456"}}},"example":{"phone":"+251911223344","otp":"123456"}}}},"responses":{"200":{"description":"OTP verified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/branding/upload":{"post":{"tags":["Banking"],"summary":"Create upload","description":"`POST /api/v1/bank/branding/upload` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"assetType":{"type":"string"},"file":{"type":"string"},"dataUri":{"type":"string"}},"required":["file","dataUri"]},"example":{"assetType":"example-assetType","file":"example-file","dataUri":"example-dataUri"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/deposits":{"get":{"tags":["Banking"],"summary":"List deposits","description":"`GET /api/v1/bank/deposits` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Banking"],"summary":"Create deposits","description":"`POST /api/v1/bank/deposits` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"depositId":{"type":"string"},"action":{"type":"string"},"note":{"type":"string"},"rejectionReason":{"type":"string"}},"required":["id"]},"example":{"id":"example-id","depositId":"example-depositId","action":"example-action","note":"example-note","rejectionReason":"example-rejectionReason"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/domain":{"get":{"tags":["Banking"],"summary":"List domain","description":"`GET /api/v1/bank/domain` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Banking"],"summary":"Create domain","description":"`POST /api/v1/bank/domain` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string"}},"required":["domain"]},"example":{"domain":"example-domain"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Banking"],"summary":"Replace domain","description":"`PUT /api/v1/bank/domain` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string"}},"required":["domain"]},"example":{"domain":"example-domain"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/fees/{id}":{"patch":{"tags":["Banking"],"summary":"Update fees","description":"`PATCH /api/v1/bank/fees/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Banking"],"summary":"Delete fees","description":"`DELETE /api/v1/bank/fees/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/fees":{"get":{"tags":["Banking"],"summary":"List fees","description":"`GET /api/v1/bank/fees` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"channel","in":"query","required":false,"description":"channel query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Banking"],"summary":"Create fees","description":"`POST /api/v1/bank/fees` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"channel","in":"query","required":false,"description":"channel query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"channel":{"type":"string"},"feeType":{"type":"string"},"fixedAmount":{"type":"string"},"percentageAmount":{"type":"string"},"minFee":{"type":"string"},"maxFee":{"type":"string"}},"required":["name","channel","feeType"]},"example":{"name":"example-name","channel":"example-channel","feeType":"example-feeType","fixedAmount":"example-fixedAmount","percentageAmount":"example-percentageAmount","minFee":"example-minFee","maxFee":"example-maxFee"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/fraud":{"get":{"tags":["Banking"],"summary":"List fraud","description":"`GET /api/v1/bank/fraud` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Banking"],"summary":"Replace fraud","description":"`PUT /api/v1/bank/fraud` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"velocityCount1h":{"type":"string"},"maxAmountAlert":{"type":"string"},"highRiskScore":{"type":"string"},"autoBlockScore":{"type":"string"}}},"example":{"velocityCount1h":"example-velocityCount1h","maxAmountAlert":"example-maxAmountAlert","highRiskScore":"example-highRiskScore","autoBlockScore":"example-autoBlockScore"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/login":{"post":{"tags":["Banking"],"summary":"Create login","description":"`POST /api/v1/bank/login` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"password":{"type":"string"}},"required":["email","password"]},"example":{"email":"example-email","password":"YourPassword123!"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/reports":{"get":{"tags":["Banking"],"summary":"List reports","description":"`GET /api/v1/bank/reports` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/roles":{"get":{"tags":["Banking"],"summary":"List roles","description":"`GET /api/v1/bank/roles` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"resource","in":"query","required":false,"description":"resource query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Banking"],"summary":"Create roles","description":"`POST /api/v1/bank/roles` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"resource","in":"query","required":false,"description":"resource query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"password":{"type":"string"},"bankRole":{"type":"string"}},"required":["name","email","password"]},"example":{"name":"example-name","email":"example-email","password":"YourPassword123!","bankRole":"example-bankRole"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/rules/{id}":{"patch":{"tags":["Banking"],"summary":"Update rules","description":"`PATCH /api/v1/bank/rules/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"bankCode":{"type":"string"},"kind":{"type":"string"},"configId":{"type":"string"}}},"example":{"bankCode":"example-bankCode","kind":"example-kind","configId":"example-configId"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Banking"],"summary":"Delete rules","description":"`DELETE /api/v1/bank/rules/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/rules":{"get":{"tags":["Banking"],"summary":"List rules","description":"`GET /api/v1/bank/rules` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"stats","in":"query","required":false,"description":"stats query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Banking"],"summary":"Create rules","description":"`POST /api/v1/bank/rules` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"stats","in":"query","required":false,"description":"stats query parameter","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"bankName":{"type":"string"}}},"example":{"bankName":"example-bankName"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/stats":{"get":{"tags":["Banking"],"summary":"List stats","description":"`GET /api/v1/bank/stats` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/transactions":{"get":{"tags":["Banking"],"summary":"List transactions","description":"`GET /api/v1/bank/transactions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/users/{id}/actions":{"post":{"tags":["Banking"],"summary":"Create actions","description":"`POST /api/v1/bank/users/{id}/actions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"content":{"type":"string"},"notes":{"type":"string"},"sessionId":{"type":"string"}},"required":["content","sessionId"]},"example":{"action":"example-action","content":"example-content","notes":"example-notes","sessionId":"example-sessionId"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/users/{id}/kyc":{"post":{"tags":["Banking"],"summary":"Create kyc","description":"`POST /api/v1/bank/users/{id}/kyc` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"notes":{"type":"string"},"documentId":{"type":"string"},"documentType":{"type":"string"},"documentReviews":{"type":"string"}}},"example":{"action":"example-action","notes":"example-notes","documentId":"example-documentId","documentType":"example-documentType","documentReviews":"example-documentReviews"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/users/{id}":{"get":{"tags":["Banking"],"summary":"Get users","description":"`GET /api/v1/bank/users/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Banking"],"summary":"Replace users","description":"`PUT /api/v1/bank/users/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"role":{"type":"string"},"action":{"type":"string"},"notes":{"type":"string"},"reason":{"type":"string"}}},"example":{"name":"example-name","email":"example-email","phone":"example-phone","role":"example-role","action":"example-action","notes":"example-notes","reason":"example-reason"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Banking"],"summary":"Update users","description":"`PATCH /api/v1/bank/users/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"role":{"type":"string"},"action":{"type":"string"},"notes":{"type":"string"},"reason":{"type":"string"}}},"example":{"name":"example-name","email":"example-email","phone":"example-phone","role":"example-role","action":"example-action","notes":"example-notes","reason":"example-reason"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Banking"],"summary":"Delete users","description":"`DELETE /api/v1/bank/users/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/users/bulk-delete":{"post":{"tags":["Banking"],"summary":"Create bulk delete","description":"`POST /api/v1/bank/users/bulk-delete` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"string"}},"required":["ids"]},"example":{"ids":"example-ids"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/users/duplicates":{"get":{"tags":["Banking"],"summary":"List duplicates","description":"`GET /api/v1/bank/users/duplicates` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"keepId","in":"query","required":false,"description":"keepId query parameter","schema":{"type":"string"}},{"name":"phone","in":"query","required":false,"description":"phone query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Banking"],"summary":"Delete duplicates","description":"`DELETE /api/v1/bank/users/duplicates` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"keepId","in":"query","required":false,"description":"keepId query parameter","schema":{"type":"string"}},{"name":"phone","in":"query","required":false,"description":"phone query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/users":{"get":{"tags":["Banking"],"summary":"List users","description":"`GET /api/v1/bank/users` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"search","in":"query","required":false,"description":"search query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"kycStatus","in":"query","required":false,"description":"kycStatus query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Banking"],"summary":"Create users","description":"`POST /api/v1/bank/users` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"search","in":"query","required":false,"description":"search query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"kycStatus","in":"query","required":false,"description":"kycStatus query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"name":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"phone":{"type":"string"},"password":{"type":"string"},"role":{"type":"string"}},"required":["email"]},"example":{"email":"example-email","name":"example-name","firstName":"example-firstName","lastName":"example-lastName","phone":"example-phone","password":"YourPassword123!","role":"example-role"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bank/white-label":{"get":{"tags":["Banking"],"summary":"List white label","description":"`GET /api/v1/bank/white-label` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"section","in":"query","required":false,"description":"section query parameter","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"kycStatus","in":"query","required":false,"description":"kycStatus query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"userId","in":"query","required":false,"description":"userId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Banking"],"summary":"Create white label","description":"`POST /api/v1/bank/white-label` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"section","in":"query","required":false,"description":"section query parameter","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"kycStatus","in":"query","required":false,"description":"kycStatus query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"userId","in":"query","required":false,"description":"userId query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"userId":{"type":"string"},"notes":{"type":"string"},"documentReviews":{"type":"string"}},"required":["userId"]},"example":{"action":"example-action","userId":"example-userId","notes":"example-notes","documentReviews":"example-documentReviews"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Banking"],"summary":"Replace white label","description":"`PUT /api/v1/bank/white-label` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"section","in":"query","required":false,"description":"section query parameter","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"kycStatus","in":"query","required":false,"description":"kycStatus query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"userId","in":"query","required":false,"description":"userId query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"userId":{"type":"string"},"notes":{"type":"string"},"documentReviews":{"type":"string"}},"required":["userId"]},"example":{"action":"example-action","userId":"example-userId","notes":"example-notes","documentReviews":"example-documentReviews"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/beneficiaries/{id}":{"get":{"tags":["Beneficiaries"],"summary":"Get beneficiaries","description":"`GET /api/v1/beneficiaries/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Beneficiaries"],"summary":"Replace beneficiaries","description":"`PUT /api/v1/beneficiaries/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"phone":{"type":"string"},"country":{"type":"string"},"paymentMethod":{"type":"string"},"isFavorite":{"type":"string"}}},"example":{"name":"example-name","phone":"example-phone","country":"example-country","paymentMethod":"example-paymentMethod","isFavorite":"example-isFavorite"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Beneficiaries"],"summary":"Delete beneficiaries","description":"`DELETE /api/v1/beneficiaries/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/beneficiaries":{"get":{"tags":["Beneficiaries"],"summary":"List beneficiaries","description":"`GET /api/v1/beneficiaries` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Beneficiaries"],"summary":"Create beneficiaries","description":"`POST /api/v1/beneficiaries` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"phone":{"type":"string"},"country":{"type":"string"},"paymentMethod":{"type":"string"},"isFavorite":{"type":"string"}},"required":["name","phone"]},"example":{"name":"example-name","phone":"example-phone","country":"example-country","paymentMethod":"example-paymentMethod","isFavorite":"example-isFavorite"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/betting/account":{"get":{"tags":["Betting"],"summary":"List account","description":"`GET /api/v1/betting/account` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/betting/complete":{"get":{"tags":["Betting"],"summary":"List complete","description":"`GET /api/v1/betting/complete` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"paymentId","in":"query","required":false,"description":"paymentId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Betting"],"summary":"Create complete","description":"`POST /api/v1/betting/complete` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"paymentId","in":"query","required":false,"description":"paymentId query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"paymentId":{"type":"string"},"paymentMethod":{"type":"string"},"phone":{"type":"string"},"otp":{"type":"string"},"firebaseIdToken":{"type":"string"}},"required":["paymentId","paymentMethod","phone","otp"]},"example":{"paymentId":"example-paymentId","paymentMethod":"example-paymentMethod","phone":"example-phone","otp":"example-otp","firebaseIdToken":"example-firebaseIdToken"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/betting/deposit":{"get":{"tags":["Betting"],"summary":"List deposit","description":"`GET /api/v1/betting/deposit` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"reference","in":"query","required":false,"description":"reference query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Betting"],"summary":"Create deposit","description":"`POST /api/v1/betting/deposit` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"},{"name":"reference","in":"query","required":false,"description":"reference query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string"},"amount":{"type":"number"},"currency":{"type":"string"},"country":{"type":"string"},"reference":{"type":"string"},"callbackUrl":{"type":"string"},"redirectUrl":{"type":"string"},"metadata":{"type":"object"}},"required":["userId","amount","reference"]},"example":{"userId":"example-userId","amount":100,"currency":"example-currency","country":"example-country","reference":"example-reference","callbackUrl":"example-callbackUrl","redirectUrl":"example-redirectUrl","metadata":{}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/betting/payment/{paymentId}":{"get":{"tags":["Betting"],"summary":"Get payment","description":"`GET /api/v1/betting/payment/{paymentId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"paymentId","in":"path","required":true,"description":"paymentId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Betting"],"summary":"Create payment","description":"`POST /api/v1/betting/payment/{paymentId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"paymentId","in":"path","required":true,"description":"paymentId identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"paymentMethod":{"type":"string"},"phone":{"type":"string"},"otp":{"type":"string"},"pin":{"type":"string"}},"required":["phone"]},"example":{"paymentMethod":"example-paymentMethod","phone":"example-phone","otp":"example-otp","pin":"example-pin"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/betting/status":{"get":{"tags":["Betting"],"summary":"List status","description":"`GET /api/v1/betting/status` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"reference","in":"query","required":false,"description":"reference query parameter","schema":{"type":"string"}},{"name":"transactionId","in":"query","required":false,"description":"transactionId query parameter","schema":{"type":"string"}},{"name":"paymentId","in":"query","required":false,"description":"paymentId query parameter","schema":{"type":"string"}},{"name":"payment_id","in":"query","required":false,"description":"payment_id query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/betting/webhook-endpoint":{"get":{"tags":["Betting"],"summary":"List webhook endpoint","description":"`GET /api/v1/betting/webhook-endpoint` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Betting"],"summary":"Create webhook endpoint","description":"`POST /api/v1/betting/webhook-endpoint` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"webhookUrl":{"type":"string"}}},"example":{"webhookUrl":"example-webhookUrl"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/betting/webhook/{providerId}":{"post":{"tags":["Betting"],"summary":"Create webhook","description":"`POST /api/v1/betting/webhook/{providerId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"providerId","in":"path","required":true,"description":"providerId identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"paymentId":{"type":"string"},"event":{"type":"string"},"paymentMethod":{"type":"string"}},"required":["paymentId","event"]},"example":{"paymentId":"example-paymentId","event":"example-event","paymentMethod":"example-paymentMethod"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/betting/withdraw":{"get":{"tags":["Betting"],"summary":"List withdraw","description":"`GET /api/v1/betting/withdraw` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"reference","in":"query","required":false,"description":"reference query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Betting"],"summary":"Create withdraw","description":"`POST /api/v1/betting/withdraw` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"},{"name":"reference","in":"query","required":false,"description":"reference query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string"},"amount":{"type":"number"},"currency":{"type":"string"},"country":{"type":"string"},"reference":{"type":"string"},"phone":{"type":"string"},"name":{"type":"string"}},"required":["userId","amount","reference","phone"]},"example":{"userId":"example-userId","amount":100,"currency":"example-currency","country":"example-country","reference":"example-reference","phone":"example-phone","name":"example-name"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bills/categories":{"get":{"tags":["Bills & Utilities"],"summary":"List categories","description":"`GET /api/v1/bills/categories` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"country","in":"query","required":false,"description":"country query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bills/history":{"get":{"tags":["Bills & Utilities"],"summary":"List history","description":"`GET /api/v1/bills/history` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"categoryId","in":"query","required":false,"description":"categoryId query parameter","schema":{"type":"string"}},{"name":"fromDate","in":"query","required":false,"description":"fromDate query parameter","schema":{"type":"string"}},{"name":"toDate","in":"query","required":false,"description":"toDate query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bills/pay":{"post":{"tags":["Bills & Utilities"],"summary":"Create pay","description":"`POST /api/v1/bills/pay` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"providerId":{"type":"string"},"accountNumber":{"type":"string"},"amount":{"type":"string"},"customerName":{"type":"string"},"requestId":{"type":"string"},"notifyRecipient":{"type":"string"},"recipientPhone":{"type":"string"},"recipientName":{"type":"string"},"or":{"type":"string"},"stepUpToken":{"type":"string"},"paymentId":{"type":"string"},"payerName":{"type":"string"},"providerName":{"type":"string"},"currency":{"type":"string"}},"required":["providerId","accountNumber"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bills/providers":{"get":{"tags":["Bills & Utilities"],"summary":"List providers","description":"`GET /api/v1/bills/providers` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"categoryId","in":"query","required":false,"description":"categoryId query parameter","schema":{"type":"string"}},{"name":"country","in":"query","required":false,"description":"country query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bills/status/{paymentId}":{"get":{"tags":["Bills & Utilities"],"summary":"Get status","description":"`GET /api/v1/bills/status/{paymentId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"paymentId","in":"path","required":true,"description":"paymentId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bills/validate":{"post":{"tags":["Bills & Utilities"],"summary":"Create validate","description":"`POST /api/v1/bills/validate` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"providerId":{"type":"string"},"accountNumber":{"type":"string"},"customerName":{"type":"string"}},"required":["providerId","accountNumber"]},"example":{"providerId":"example-providerId","accountNumber":"example-accountNumber","customerName":"example-customerName"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/blockchain":{"get":{"tags":["Blockchain"],"summary":"List blockchain","description":"`GET /api/v1/blockchain` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"address","in":"query","required":false,"description":"address query parameter","schema":{"type":"string"}},{"name":"txHash","in":"query","required":false,"description":"txHash query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Blockchain"],"summary":"Create blockchain","description":"`POST /api/v1/blockchain` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"address","in":"query","required":false,"description":"address query parameter","schema":{"type":"string"}},{"name":"txHash","in":"query","required":false,"description":"txHash query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"to":{"type":"string"},"amount":{"type":"string"},"spender":{"type":"string"},"address":{"type":"string"},"reason":{"type":"string"},"userBalance":{"type":"string"}},"required":["action","to","amount","spender","address"]},"example":{"action":"example-action","to":"example-to","amount":"example-amount","spender":"example-spender","address":"example-address","reason":"example-reason","userBalance":"example-userBalance"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/blockchain/transfer":{"get":{"tags":["Blockchain"],"summary":"List transfer","description":"`GET /api/v1/blockchain/transfer` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"offset query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Blockchain"],"summary":"Create transfer","description":"`POST /api/v1/blockchain/transfer` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"offset query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"recipientType":{"type":"string"},"recipient":{"type":"string"},"amount":{"type":"string"},"memo":{"type":"string"}},"required":["recipientType","recipient","amount"]},"example":{"recipientType":"example-recipientType","recipient":"example-recipient","amount":"example-amount","memo":"example-memo"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/blockchain/wallet":{"get":{"tags":["Blockchain"],"summary":"List wallet","description":"`GET /api/v1/blockchain/wallet` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"action","in":"query","required":false,"description":"action query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Blockchain"],"summary":"Create wallet","description":"`POST /api/v1/blockchain/wallet` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"action","in":"query","required":false,"description":"action query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"walletAddress":{"type":"string"},"signature":{"type":"string"}},"required":["walletAddress","signature"]},"example":{"action":"example-action","walletAddress":"example-walletAddress","signature":"example-signature"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bridge/fallback":{"get":{"tags":["Payment Bridge"],"summary":"List fallback","description":"`GET /api/v1/bridge/fallback` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"requestId","in":"query","required":false,"description":"requestId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Payment Bridge"],"summary":"Create fallback","description":"`POST /api/v1/bridge/fallback` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"requestId","in":"query","required":false,"description":"requestId query parameter","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"requestId":{"type":"string"},"agentId":{"type":"string"}}},"example":{"action":"example-action","requestId":"example-requestId","agentId":"example-agentId"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bridge/transfer/{transactionId}":{"get":{"tags":["Payment Bridge"],"summary":"Get transfer","description":"`GET /api/v1/bridge/transfer/{transactionId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"transactionId","in":"path","required":true,"description":"transactionId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bridge/transfer":{"get":{"tags":["Payment Bridge"],"summary":"List transfer","description":"`GET /api/v1/bridge/transfer` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"sourceProvider","in":"query","required":false,"description":"sourceProvider query parameter","schema":{"type":"string"}},{"name":"destinationProvider","in":"query","required":false,"description":"destinationProvider query parameter","schema":{"type":"string"}},{"name":"amount","in":"query","required":false,"description":"amount query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Payment Bridge"],"summary":"Create transfer","description":"`POST /api/v1/bridge/transfer` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"sourceProvider","in":"query","required":false,"description":"sourceProvider query parameter","schema":{"type":"string"}},{"name":"destinationProvider","in":"query","required":false,"description":"destinationProvider query parameter","schema":{"type":"string"}},{"name":"amount","in":"query","required":false,"description":"amount query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sourceProvider":{"type":"string"},"sourceAccount":{"type":"string"},"destinationProvider":{"type":"string"},"destinationAccount":{"type":"string"},"amount":{"type":"string"},"senderName":{"type":"string"},"recipientName":{"type":"string"},"idempotencyKey":{"type":"string"},"metadata":{"type":"string"},"currency":{"type":"string"}},"required":["sourceProvider","sourceAccount","destinationProvider","destinationAccount","amount"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bridge/webhook/{provider}":{"get":{"tags":["Payment Bridge"],"summary":"Get webhook","description":"`GET /api/v1/bridge/webhook/{provider}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"provider","in":"path","required":true,"description":"provider identifier","schema":{"type":"string"}},{"name":"challenge","in":"query","required":false,"description":"challenge query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Payment Bridge"],"summary":"Create webhook","description":"`POST /api/v1/bridge/webhook/{provider}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"provider","in":"path","required":true,"description":"provider identifier","schema":{"type":"string"}},{"name":"challenge","in":"query","required":false,"description":"challenge query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bulk-jobs":{"get":{"tags":["Bulk jobs"],"summary":"List bulk jobs","description":"`GET /api/v1/bulk-jobs` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"jobId","in":"query","required":false,"description":"jobId query parameter","schema":{"type":"string"}},{"name":"include","in":"query","required":false,"description":"include query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Bulk jobs"],"summary":"Create bulk jobs","description":"`POST /api/v1/bulk-jobs` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"jobId","in":"query","required":false,"description":"jobId query parameter","schema":{"type":"string"}},{"name":"include","in":"query","required":false,"description":"include query parameter","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"idempotencyKey":{"type":"string"},"rows":{"type":"string"},"endpointIds":{"type":"string"}}},"example":{"idempotencyKey":"example-idempotencyKey","rows":"example-rows","endpointIds":"example-endpointIds"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/business/bulk-payments/{id}":{"get":{"tags":["Business"],"summary":"Get bulk payments","description":"`GET /api/v1/business/bulk-payments/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Business"],"summary":"Update bulk payments","description":"`PATCH /api/v1/business/bulk-payments/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/business/bulk-payments":{"get":{"tags":["Business"],"summary":"List bulk payments","description":"`GET /api/v1/business/bulk-payments` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Business"],"summary":"Create bulk payments","description":"`POST /api/v1/business/bulk-payments` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"useCase":{"type":"string"},"currency":{"type":"string"},"feeMode":{"type":"string"},"feeValue":{"type":"string"},"csv":{"type":"string"},"recipients":{"type":"string"}},"required":["name"]},"example":{"name":"example-name","useCase":"example-useCase","currency":"example-currency","feeMode":"example-feeMode","feeValue":"example-feeValue","csv":"example-csv","recipients":"example-recipients"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/business/invoices/{invoiceNumber}/pay":{"post":{"tags":["Business"],"summary":"Create pay","description":"`POST /api/v1/business/invoices/{invoiceNumber}/pay` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"invoiceNumber","in":"path","required":true,"description":"invoiceNumber identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/business/invoices":{"get":{"tags":["Business"],"summary":"List invoices","description":"`GET /api/v1/business/invoices` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Business"],"summary":"Create invoices","description":"`POST /api/v1/business/invoices` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"customerName":{"type":"string"},"customerContact":{"type":"string"},"amount":{"type":"string"},"currency":{"type":"string"},"description":{"type":"string"},"dueDate":{"type":"string"}}},"example":{"customerName":"example-customerName","customerContact":"example-customerContact","amount":"example-amount","currency":"example-currency","description":"example-description","dueDate":"example-dueDate"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/business/payment-links/{linkCode}/pay":{"post":{"tags":["Business"],"summary":"Create pay","description":"`POST /api/v1/business/payment-links/{linkCode}/pay` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"linkCode","in":"path","required":true,"description":"linkCode identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/business/payment-links":{"get":{"tags":["Business"],"summary":"List payment links","description":"`GET /api/v1/business/payment-links` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Business"],"summary":"Create payment links","description":"`POST /api/v1/business/payment-links` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"string"},"currency":{"type":"string"},"description":{"type":"string"},"customerName":{"type":"string"},"customerContact":{"type":"string"},"customerPhone":{"type":"string"},"customerEmail":{"type":"string"},"expiryDate":{"type":"string"}}},"example":{"amount":"example-amount","currency":"example-currency","description":"example-description","customerName":"example-customerName","customerContact":"example-customerContact","customerPhone":"example-customerPhone","customerEmail":"example-customerEmail","expiryDate":"example-expiryDate"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/businesses/{id}/expenses/{expenseId}":{"get":{"tags":["Business Management"],"summary":"Get expenses","description":"`GET /api/v1/businesses/{id}/expenses/{expenseId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}},{"name":"expenseId","in":"path","required":true,"description":"expenseId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Business Management"],"summary":"Update expenses","description":"`PATCH /api/v1/businesses/{id}/expenses/{expenseId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}},{"name":"expenseId","in":"path","required":true,"description":"expenseId identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"}}},"example":{"action":"example-action"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/businesses/{id}/expenses":{"get":{"tags":["Business Management"],"summary":"List expenses","description":"`GET /api/v1/businesses/{id}/expenses` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"category query parameter","schema":{"type":"string"}},{"name":"startDate","in":"query","required":false,"description":"startDate query parameter","schema":{"type":"string"}},{"name":"endDate","in":"query","required":false,"description":"endDate query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"offset query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Business Management"],"summary":"Create expenses","description":"`POST /api/v1/businesses/{id}/expenses` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"category query parameter","schema":{"type":"string"}},{"name":"startDate","in":"query","required":false,"description":"startDate query parameter","schema":{"type":"string"}},{"name":"endDate","in":"query","required":false,"description":"endDate query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"offset query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/businesses/{id}/members":{"get":{"tags":["Business Management"],"summary":"List members","description":"`GET /api/v1/businesses/{id}/members` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Business Management"],"summary":"Create members","description":"`POST /api/v1/businesses/{id}/members` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/businesses/{id}":{"get":{"tags":["Business Management"],"summary":"Get businesses","description":"`GET /api/v1/businesses/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Business Management"],"summary":"Update businesses","description":"`PATCH /api/v1/businesses/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"}}},"example":{"action":"example-action"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/businesses":{"get":{"tags":["Business Management"],"summary":"List businesses","description":"`GET /api/v1/businesses` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Business Management"],"summary":"Create businesses","description":"`POST /api/v1/businesses` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bypass-transfer/send":{"post":{"tags":["Bypass transfer"],"summary":"Create send","description":"`POST /api/v1/bypass-transfer/send` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"receiverIdentifier":{"type":"string"},"identifierType":{"type":"string"},"amount":{"type":"string"},"currency":{"type":"string"}},"required":["receiverIdentifier","amount"]},"example":{"receiverIdentifier":"example-receiverIdentifier","identifierType":"example-identifierType","amount":"example-amount","currency":"example-currency"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bypass/accounts/{id}/verify":{"post":{"tags":["Bypass"],"summary":"Create verify","description":"`POST /api/v1/bypass/accounts/{id}/verify` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"amount":{"type":"number"}}},"example":{"code":"example-code","amount":0}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bypass/accounts":{"get":{"tags":["Bypass"],"summary":"List accounts","description":"`GET /api/v1/bypass/accounts` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"provider","in":"query","required":false,"description":"provider query parameter","schema":{"type":"string"}},{"name":"country","in":"query","required":false,"description":"country query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Bypass"],"summary":"Create accounts","description":"`POST /api/v1/bypass/accounts` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"provider","in":"query","required":false,"description":"provider query parameter","schema":{"type":"string"}},{"name":"country","in":"query","required":false,"description":"country query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"providerCode":{"type":"string"},"accountNumber":{"type":"string"},"accountName":{"type":"string"},"bankName":{"type":"string"},"bankCode":{"type":"string"},"country":{"type":"string"},"currencies":{"type":"array"}},"required":["providerCode","accountNumber"]},"example":{"providerCode":"example-providerCode","accountNumber":"example-accountNumber","accountName":"example-accountName","bankName":"example-bankName","bankCode":"example-bankCode","country":"example-country","currencies":[]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/bypass/providers":{"get":{"tags":["Bypass"],"summary":"List providers","description":"`GET /api/v1/bypass/providers` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"country","in":"query","required":false,"description":"country query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/cards/{id}/controls":{"get":{"tags":["Cards"],"summary":"List controls","description":"`GET /api/v1/cards/{id}/controls` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Cards"],"summary":"Create controls","description":"`POST /api/v1/cards/{id}/controls` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Cards"],"summary":"Update card controls","description":"Freeze/unfreeze, set spend limits and merchant category restrictions.","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Id"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"frozen":{"type":"boolean"},"dailyLimit":{"type":"number"},"onlineEnabled":{"type":"boolean"}}},"example":{"frozen":false,"dailyLimit":0,"onlineEnabled":false}}}},"responses":{"200":{"description":"Controls updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CardResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/cards/{id}":{"get":{"tags":["Cards"],"summary":"Get card","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Id"}],"responses":{"200":{"description":"Card","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CardResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Cards"],"summary":"Update cards","description":"`PATCH /api/v1/cards/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"reason":{"type":"string"}}},"example":{"action":"example-action","reason":"example-reason"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Cards"],"summary":"Terminate card","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Id"}],"responses":{"200":{"description":"Card terminated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/cards/{id}/transactions":{"get":{"tags":["Cards"],"summary":"Card transactions","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Id"},{"$ref":"#/components/parameters/Page"}],"responses":{"200":{"description":"Transactions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionListResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Cards"],"summary":"Create transactions","description":"`POST /api/v1/cards/{id}/transactions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"startDate","in":"query","required":false,"description":"startDate query parameter","schema":{"type":"string"}},{"name":"endDate","in":"query","required":false,"description":"endDate query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"offset query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/cards":{"get":{"tags":["Cards"],"summary":"List virtual cards","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Cards","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CardListResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Cards"],"summary":"Issue virtual card","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["currency"],"properties":{"currency":{"type":"string","example":"USD"},"label":{"type":"string"},"fundingAmount":{"type":"number"}}},"example":{"currency":"USD","label":"example-label","fundingAmount":0}}}},"responses":{"201":{"description":"Card issued","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CardResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/cards/setup-intent":{"post":{"tags":["Cards"],"summary":"Create setup intent","description":"`POST /api/v1/cards/setup-intent` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/cart/{productId}":{"put":{"tags":["Cart"],"summary":"Replace cart","description":"`PUT /api/v1/cart/{productId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"productId","in":"path","required":true,"description":"productId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Cart"],"summary":"Delete cart","description":"`DELETE /api/v1/cart/{productId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"productId","in":"path","required":true,"description":"productId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/cart":{"get":{"tags":["Cart"],"summary":"List cart","description":"`GET /api/v1/cart` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Cart"],"summary":"Create cart","description":"`POST /api/v1/cart` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"productId":{"type":"string"},"quantity":{"type":"string"},"product":{"type":"string"}}},"example":{"productId":"example-productId","quantity":"example-quantity","product":"example-product"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Cart"],"summary":"Replace cart","description":"`PUT /api/v1/cart` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"productId":{"type":"string"},"quantity":{"type":"string"},"product":{"type":"string"}}},"example":{"productId":"example-productId","quantity":"example-quantity","product":"example-product"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Cart"],"summary":"Delete cart","description":"`DELETE /api/v1/cart` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/chat/otp/resend":{"post":{"tags":["Chat & Messaging"],"summary":"Create resend","description":"`POST /api/v1/chat/otp/resend` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"sessionId":{"type":"string"},"channel":{"type":"string"}}},"example":{"sessionId":"example-sessionId","channel":"example-channel"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/chat/session/clear":{"post":{"tags":["Chat & Messaging"],"summary":"Create clear","description":"`POST /api/v1/chat/session/clear` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"sessionId":{"type":"string"},"endSession":{"type":"string"}}},"example":{"sessionId":"example-sessionId","endSession":"example-endSession"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/chat/web":{"get":{"tags":["Chat & Messaging"],"summary":"List web","description":"`GET /api/v1/chat/web` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"sessionId","in":"query","required":false,"description":"sessionId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Chat & Messaging"],"summary":"Create web","description":"`POST /api/v1/chat/web` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"sessionId","in":"query","required":false,"description":"sessionId query parameter","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"sessionId":{"type":"string"}}},"example":{"sessionId":"example-sessionId"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/chat/whatsapp/webhook":{"get":{"tags":["Chat & Messaging"],"summary":"List webhook","description":"`GET /api/v1/chat/whatsapp/webhook` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Chat & Messaging"],"summary":"Create webhook","description":"`POST /api/v1/chat/whatsapp/webhook` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"From":{"type":"string"},"To":{"type":"string"},"Body":{"type":"string"},"MessageSid":{"type":"string"},"ProfileName":{"type":"string"}}},"example":{"From":"example-From","To":"example-To","Body":"example-Body","MessageSid":"example-MessageSid","ProfileName":"example-ProfileName"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/checkout/account":{"get":{"tags":["Checkout"],"summary":"List account","description":"`GET /api/v1/checkout/account` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/checkout/complete":{"get":{"tags":["Checkout"],"summary":"List complete","description":"`GET /api/v1/checkout/complete` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Checkout"],"summary":"Create complete","description":"`POST /api/v1/checkout/complete` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/checkout/deposit":{"get":{"tags":["Checkout"],"summary":"List deposit","description":"`GET /api/v1/checkout/deposit` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Checkout"],"summary":"Create deposit","description":"`POST /api/v1/checkout/deposit` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]}},"/checkout/payment/{paymentId}":{"get":{"tags":["Checkout"],"summary":"Get payment","description":"`GET /api/v1/checkout/payment/{paymentId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"paymentId","in":"path","required":true,"description":"paymentId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Checkout"],"summary":"Create payment","description":"`POST /api/v1/checkout/payment/{paymentId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"paymentId","in":"path","required":true,"description":"paymentId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/checkout/status":{"get":{"tags":["Checkout"],"summary":"List status","description":"`GET /api/v1/checkout/status` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/checkout/webhook-endpoint":{"get":{"tags":["Checkout"],"summary":"List webhook endpoint","description":"`GET /api/v1/checkout/webhook-endpoint` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Checkout"],"summary":"Create webhook endpoint","description":"`POST /api/v1/checkout/webhook-endpoint` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/checkout/withdraw":{"get":{"tags":["Checkout"],"summary":"List withdraw","description":"`GET /api/v1/checkout/withdraw` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Checkout"],"summary":"Create withdraw","description":"`POST /api/v1/checkout/withdraw` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]}},"/claims/process":{"post":{"tags":["Claims Management"],"summary":"Create process","description":"`POST /api/v1/claims/process` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"pin":{"type":"string"},"agentId":{"type":"string"},"recipientIdNumber":{"type":"string"},"recipientIdType":{"type":"string"}},"required":["code","pin","agentId"]},"example":{"code":"example-code","pin":"example-pin","agentId":"example-agentId","recipientIdNumber":"example-recipientIdNumber","recipientIdType":"example-recipientIdType"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/claims":{"get":{"tags":["Claims Management"],"summary":"List claims","description":"`GET /api/v1/claims` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"recipientPhone","in":"query","required":false,"description":"recipientPhone query parameter","schema":{"type":"string"}},{"name":"agentId","in":"query","required":false,"description":"agentId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Claims Management"],"summary":"Create claims","description":"`POST /api/v1/claims` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"recipientPhone","in":"query","required":false,"description":"recipientPhone query parameter","schema":{"type":"string"}},{"name":"agentId","in":"query","required":false,"description":"agentId query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"number"},"currency":{"type":"string"},"recipientPhone":{"type":"string"},"recipientName":{"type":"string"},"recipientIdNumber":{"type":"string"},"type":{"type":"string","enum":["cash_out","remittance","refund","payout","voucher"]},"senderPhone":{"type":"string"},"senderName":{"type":"string"},"expiryHours":{"type":"number"},"metadata":{"type":"object"}},"required":["amount","recipientPhone"]},"example":{"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":{}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/claims/verify":{"post":{"tags":["Claims Management"],"summary":"Create verify","description":"`POST /api/v1/claims/verify` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"pin":{"type":"string"}},"required":["code","pin"]},"example":{"code":"example-code","pin":"example-pin"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/connect/stripe/callback":{"get":{"tags":["Connect Platform"],"summary":"List callback","description":"`GET /api/v1/connect/stripe/callback` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"code","in":"query","required":false,"description":"code query parameter","schema":{"type":"string"}},{"name":"state","in":"query","required":false,"description":"state query parameter","schema":{"type":"string"}},{"name":"error","in":"query","required":false,"description":"error query parameter","schema":{"type":"string"}},{"name":"error_description","in":"query","required":false,"description":"error_description query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/countries":{"get":{"tags":["Country Data"],"summary":"List countries","description":"`GET /api/v1/countries` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"includePaymentMethods","in":"query","required":false,"description":"includePaymentMethods query parameter","schema":{"type":"string"}},{"name":"code","in":"query","required":false,"description":"code query parameter","schema":{"type":"string"}},{"name":"phonePrefix","in":"query","required":false,"description":"phonePrefix query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/crypto/assets":{"get":{"tags":["Cryptocurrency"],"summary":"List assets","description":"`GET /api/v1/crypto/assets` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/crypto/balance":{"get":{"tags":["Cryptocurrency"],"summary":"List balance","description":"`GET /api/v1/crypto/balance` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"asset","in":"query","required":false,"description":"asset query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"skip","in":"query","required":false,"description":"skip query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/crypto/buy":{"post":{"tags":["Cryptocurrency"],"summary":"Create buy","description":"`POST /api/v1/crypto/buy` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"asset":{"type":"string"},"amountUsd":{"type":"string"},"paymentMethod":{"type":"string"},"walletAddress":{"type":"string"},"providerFeePercent":{"type":"string"},"paymentMethodFeePercent":{"type":"string"},"stepUpVerified":{"type":"string"}},"required":["asset","amountUsd"]},"example":{"asset":"example-asset","amountUsd":"example-amountUsd","paymentMethod":"example-paymentMethod","walletAddress":"example-walletAddress","providerFeePercent":"example-providerFeePercent","paymentMethodFeePercent":"example-paymentMethodFeePercent","stepUpVerified":"example-stepUpVerified"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/crypto/prices":{"get":{"tags":["Cryptocurrency"],"summary":"List prices","description":"`GET /api/v1/crypto/prices` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"symbols","in":"query","required":false,"description":"symbols query parameter","schema":{"type":"string"}},{"name":"currency","in":"query","required":false,"description":"currency query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/crypto/providers":{"get":{"tags":["Cryptocurrency"],"summary":"List providers","description":"`GET /api/v1/crypto/providers` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"feature","in":"query","required":false,"description":"feature query parameter","schema":{"type":"string"}},{"name":"asset","in":"query","required":false,"description":"asset query parameter","schema":{"type":"string"}},{"name":"country","in":"query","required":false,"description":"country query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/crypto/sell":{"post":{"tags":["Cryptocurrency"],"summary":"Create sell","description":"`POST /api/v1/crypto/sell` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"asset":{"type":"string"},"amount":{"type":"string"},"amountUsd":{"type":"string"},"withdrawalMethod":{"type":"string"},"stepUpVerified":{"type":"string"}},"required":["asset"]},"example":{"asset":"example-asset","amount":"example-amount","amountUsd":"example-amountUsd","withdrawalMethod":"example-withdrawalMethod","stepUpVerified":"example-stepUpVerified"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/crypto/send":{"post":{"tags":["Cryptocurrency"],"summary":"Create send","description":"`POST /api/v1/crypto/send` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"asset":{"type":"string"},"network":{"type":"string"},"recipientType":{"type":"string"},"recipientAddress":{"type":"string"},"recipientUserId":{"type":"string"},"amount":{"type":"string"},"note":{"type":"string"},"stepUpVerified":{"type":"string"}},"required":["asset","recipientAddress","recipientUserId"]},"example":{"asset":"example-asset","network":"example-network","recipientType":"example-recipientType","recipientAddress":"example-recipientAddress","recipientUserId":"example-recipientUserId","amount":"example-amount","note":"example-note","stepUpVerified":"example-stepUpVerified"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/crypto/swap":{"post":{"tags":["Cryptocurrency"],"summary":"Create swap","description":"`POST /api/v1/crypto/swap` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"fromAsset":{"type":"string"},"toAsset":{"type":"string"},"fromAmount":{"type":"string"},"toAmount":{"type":"string"},"stepUpVerified":{"type":"string"}},"required":["fromAsset","toAsset"]},"example":{"fromAsset":"example-fromAsset","toAsset":"example-toAsset","fromAmount":"example-fromAmount","toAmount":"example-toAmount","stepUpVerified":"example-stepUpVerified"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/crypto/transactions":{"get":{"tags":["Cryptocurrency"],"summary":"List transactions","description":"`GET /api/v1/crypto/transactions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/crypto/transfer":{"post":{"tags":["Cryptocurrency"],"summary":"Create transfer","description":"`POST /api/v1/crypto/transfer` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"recipientPhone":{"type":"string"},"recipientId":{"type":"string"},"assetType":{"type":"string"},"amount":{"type":"string"},"stepUpVerified":{"type":"string"}},"required":["recipientPhone","recipientId","assetType","amount"]},"example":{"recipientPhone":"example-recipientPhone","recipientId":"example-recipientId","assetType":"example-assetType","amount":"example-amount","stepUpVerified":"example-stepUpVerified"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/customer/deposit/instructions":{"get":{"tags":["Customer Management"],"summary":"List instructions","description":"`GET /api/v1/customer/deposit/instructions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"amount","in":"query","required":false,"description":"amount query parameter","schema":{"type":"string"}},{"name":"lat","in":"query","required":false,"description":"lat query parameter","schema":{"type":"string"}},{"name":"lng","in":"query","required":false,"description":"lng query parameter","schema":{"type":"string"}},{"name":"currency","in":"query","required":false,"description":"currency query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"city","in":"query","required":false,"description":"city query parameter","schema":{"type":"string"}},{"name":"country","in":"query","required":false,"description":"country query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/customer/withdraw/nearby-agents":{"get":{"tags":["Customer Management"],"summary":"List nearby agents","description":"`GET /api/v1/customer/withdraw/nearby-agents` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"lat","in":"query","required":false,"description":"lat query parameter","schema":{"type":"string"}},{"name":"lng","in":"query","required":false,"description":"lng query parameter","schema":{"type":"string"}},{"name":"radius","in":"query","required":false,"description":"radius query parameter","schema":{"type":"string"}},{"name":"minCash","in":"query","required":false,"description":"minCash query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/customer/withdraw/payout":{"get":{"tags":["Customer Management"],"summary":"List payout","description":"`GET /api/v1/customer/withdraw/payout` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Customer Management"],"summary":"Create payout","description":"`POST /api/v1/customer/withdraw/payout` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"method":{"type":"string"},"amount":{"type":"string"},"destination":{"type":"string"},"otp":{"type":"string"},"stepUpToken":{"type":"string"},"idToken":{"type":"string"},"firebaseIdToken":{"type":"string"},"idempotencyKey":{"type":"string"}}},"example":{"method":"example-method","amount":"example-amount","destination":"example-destination","otp":"example-otp","stepUpToken":"example-stepUpToken","idToken":"example-idToken","firebaseIdToken":"example-firebaseIdToken","idempotencyKey":"example-idempotencyKey"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/customer/withdraw/request":{"post":{"tags":["Customer Management"],"summary":"Create request","description":"`POST /api/v1/customer/withdraw/request` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"string"},"agentId":{"type":"string"},"otp":{"type":"string"},"stepUpToken":{"type":"string"},"idToken":{"type":"string"},"firebaseIdToken":{"type":"string"},"currency":{"type":"string"}},"required":["currency"]},"example":{"amount":"example-amount","agentId":"example-agentId","otp":"example-otp","stepUpToken":"example-stepUpToken","idToken":"example-idToken","firebaseIdToken":"example-firebaseIdToken","currency":"example-currency"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/customer/withdraw/send-otp":{"post":{"tags":["Customer Management"],"summary":"Create send otp","description":"`POST /api/v1/customer/withdraw/send-otp` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/customers":{"get":{"tags":["Customers"],"summary":"List customers","description":"`GET /api/v1/customers` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"agentId","in":"query","required":false,"description":"agentId query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/ddr/arbitrators/profile":{"get":{"tags":["Ddr"],"summary":"List profile","description":"`GET /api/v1/ddr/arbitrators/profile` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Ddr"],"summary":"Replace profile","description":"`PUT /api/v1/ddr/arbitrators/profile` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/ddr/arbitrators":{"get":{"tags":["Ddr"],"summary":"List arbitrators","description":"`GET /api/v1/ddr/arbitrators` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"activeOnly","in":"query","required":false,"description":"activeOnly query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/ddr/arbitrators/stake":{"post":{"tags":["Ddr"],"summary":"Create stake","description":"`POST /api/v1/ddr/arbitrators/stake` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"string"}},"required":["amount"]},"example":{"amount":"example-amount"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/ddr/arbitrators/unstake":{"post":{"tags":["Ddr"],"summary":"Create unstake","description":"`POST /api/v1/ddr/arbitrators/unstake` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"string"}},"required":["amount"]},"example":{"amount":"example-amount"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/ddr/disputes/{disputeId}/evidence":{"post":{"tags":["Ddr"],"summary":"Create evidence","description":"`POST /api/v1/ddr/disputes/{disputeId}/evidence` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"disputeId","in":"path","required":true,"description":"disputeId identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string"},"files":{"type":"string"}},"required":["text"]},"example":{"text":"example-text","files":"example-files"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/ddr/disputes/{disputeId}":{"get":{"tags":["Ddr"],"summary":"Get disputes","description":"`GET /api/v1/ddr/disputes/{disputeId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"disputeId","in":"path","required":true,"description":"disputeId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/ddr/disputes/{disputeId}/vote":{"post":{"tags":["Ddr"],"summary":"Create vote","description":"`POST /api/v1/ddr/disputes/{disputeId}/vote` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"disputeId","in":"path","required":true,"description":"disputeId identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"voteFor":{"type":"string"},"reason":{"type":"string"}},"required":["voteFor"]},"example":{"voteFor":"example-voteFor","reason":"example-reason"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/ddr/disputes":{"get":{"tags":["Ddr"],"summary":"List disputes","description":"`GET /api/v1/ddr/disputes` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"role","in":"query","required":false,"description":"role query parameter","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Ddr"],"summary":"Create disputes","description":"`POST /api/v1/ddr/disputes` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"role","in":"query","required":false,"description":"role query parameter","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"transactionRef":{"type":"string"},"transactionType":{"type":"string"},"amount":{"type":"string"},"currency":{"type":"string"},"responderUserId":{"type":"string"},"evidenceText":{"type":"string"},"evidenceFiles":{"type":"string"}},"required":["transactionId","transactionRef","amount","responderUserId"]},"example":{"transactionId":"example-transactionId","transactionRef":"example-transactionRef","transactionType":"example-transactionType","amount":"example-amount","currency":"example-currency","responderUserId":"example-responderUserId","evidenceText":"example-evidenceText","evidenceFiles":"example-evidenceFiles"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/developer/analytics":{"get":{"tags":["Developer"],"summary":"List analytics","description":"`GET /api/v1/developer/analytics` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"days","in":"query","required":false,"description":"days query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"date","in":"query","required":false,"description":"date query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/developer/console":{"get":{"tags":["Developer"],"summary":"List console","description":"`GET /api/v1/developer/console` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/developer/portal-mvp":{"get":{"tags":["Developer"],"summary":"List portal mvp","description":"`GET /api/v1/developer/portal-mvp` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/developers/ai-assistant":{"post":{"tags":["Developers"],"summary":"Create ai assistant","description":"`POST /api/v1/developers/ai-assistant` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"query":{"type":"string"},"q":{"type":"string"},"capability":{"type":"string"},"errorCode":{"type":"string"},"tenantId":{"type":"string"},"authorizedTelemetry":{"type":"string"}}},"example":{"action":"example-action","query":"example-query","q":"example-q","capability":"example-capability","errorCode":"example-errorCode","tenantId":"example-tenantId","authorizedTelemetry":"example-authorizedTelemetry"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/disbursement/batches/{id}/payouts":{"get":{"tags":["Disbursement"],"summary":"List payouts","description":"`GET /api/v1/disbursement/batches/{id}/payouts` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"offset query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/disbursement/batches/{id}/report":{"get":{"tags":["Disbursement"],"summary":"List report","description":"`GET /api/v1/disbursement/batches/{id}/report` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/disbursement/batches/{id}":{"get":{"tags":["Disbursement"],"summary":"Get batches","description":"`GET /api/v1/disbursement/batches/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Disbursement"],"summary":"Update batches","description":"`PATCH /api/v1/disbursement/batches/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"payouts":{"type":"string"}},"required":["payouts"]},"example":{"action":"example-action","payouts":"example-payouts"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/disbursement/batches":{"get":{"tags":["Disbursement"],"summary":"List batches","description":"`GET /api/v1/disbursement/batches` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"programId","in":"query","required":false,"description":"programId query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"offset query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Disbursement"],"summary":"Create batches","description":"`POST /api/v1/disbursement/batches` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"programId","in":"query","required":false,"description":"programId query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"offset query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"programId":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"currency":{"type":"string"},"payouts":{"type":"string"}},"required":["name"]},"example":{"programId":"example-programId","name":"example-name","description":"example-description","currency":"example-currency","payouts":"example-payouts"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/disbursement/beneficiaries/{id}":{"get":{"tags":["Disbursement"],"summary":"Get beneficiaries","description":"`GET /api/v1/disbursement/beneficiaries/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Disbursement"],"summary":"Update beneficiaries","description":"`PATCH /api/v1/disbursement/beneficiaries/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"agentId":{"type":"string"},"verificationData":{"type":"string"}},"required":["agentId"]},"example":{"action":"example-action","agentId":"example-agentId","verificationData":"example-verificationData"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/disbursement/beneficiaries":{"get":{"tags":["Disbursement"],"summary":"List beneficiaries","description":"`GET /api/v1/disbursement/beneficiaries` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"programId","in":"query","required":false,"description":"programId query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"region","in":"query","required":false,"description":"region query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"offset query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Disbursement"],"summary":"Create beneficiaries","description":"`POST /api/v1/disbursement/beneficiaries` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"programId","in":"query","required":false,"description":"programId query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"region","in":"query","required":false,"description":"region query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"offset query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"phone":{"type":"string"},"idNumber":{"type":"string"},"idType":{"type":"string"},"region":{"type":"string"},"payoutPreference":{"type":"string"},"programId":{"type":"string"},"metadata":{"type":"string"}},"required":["name","phone"]},"example":{"name":"example-name","phone":"example-phone","idNumber":"example-idNumber","idType":"example-idType","region":"example-region","payoutPreference":"example-payoutPreference","programId":"example-programId","metadata":"example-metadata"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/disbursement/claims/process":{"post":{"tags":["Disbursement"],"summary":"Create process","description":"`POST /api/v1/disbursement/claims/process` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"pin":{"type":"string"},"agentId":{"type":"string"},"verificationData":{"type":"string"}},"required":["code","pin","agentId"]},"example":{"code":"example-code","pin":"example-pin","agentId":"example-agentId","verificationData":"example-verificationData"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/disbursement/claims/verify":{"post":{"tags":["Disbursement"],"summary":"Create verify","description":"`POST /api/v1/disbursement/claims/verify` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"pin":{"type":"string"}},"required":["code","pin"]},"example":{"code":"example-code","pin":"example-pin"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/disbursement/programs":{"get":{"tags":["Disbursement"],"summary":"List programs","description":"`GET /api/v1/disbursement/programs` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"offset query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Disbursement"],"summary":"Create programs","description":"`POST /api/v1/disbursement/programs` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"offset query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"description":{"type":"string"},"currency":{"type":"string"},"metadata":{"type":"string"}},"required":["name","type"]},"example":{"name":"example-name","type":"example-type","description":"example-description","currency":"example-currency","metadata":"example-metadata"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/disbursement/upload":{"post":{"tags":["Disbursement"],"summary":"Create upload","description":"`POST /api/v1/disbursement/upload` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"programId":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"currency":{"type":"string"},"format":{"type":"string"}},"required":["name"]},"example":{"programId":"example-programId","name":"example-name","description":"example-description","currency":"example-currency","format":"example-format"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/documents/download":{"get":{"tags":["Documents"],"summary":"List download","description":"`GET /api/v1/documents/download` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"token","in":"query","required":false,"description":"token query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/email/callback/gmail":{"get":{"tags":["Email"],"summary":"List gmail","description":"`GET /api/v1/email/callback/gmail` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"code","in":"query","required":false,"description":"code query parameter","schema":{"type":"string"}},{"name":"state","in":"query","required":false,"description":"state query parameter","schema":{"type":"string"}},{"name":"error","in":"query","required":false,"description":"error query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/email/connect/gmail":{"get":{"tags":["Email"],"summary":"List gmail","description":"`GET /api/v1/email/connect/gmail` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"redirect","in":"query","required":false,"description":"redirect query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/email/connect":{"get":{"tags":["Email"],"summary":"List connect","description":"`GET /api/v1/email/connect` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"provider","in":"query","required":false,"description":"provider query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Email"],"summary":"Delete connect","description":"`DELETE /api/v1/email/connect` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"provider","in":"query","required":false,"description":"provider query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/email/disconnect/gmail":{"post":{"tags":["Email"],"summary":"Create gmail","description":"`POST /api/v1/email/disconnect/gmail` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/email/oauth/gmail/callback":{"get":{"tags":["Email"],"summary":"List callback","description":"`GET /api/v1/email/oauth/gmail/callback` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"code","in":"query","required":false,"description":"code query parameter","schema":{"type":"string"}},{"name":"state","in":"query","required":false,"description":"state query parameter","schema":{"type":"string"}},{"name":"error","in":"query","required":false,"description":"error query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/email/parsed":{"get":{"tags":["Email"],"summary":"List parsed","description":"`GET /api/v1/email/parsed` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/email/status":{"get":{"tags":["Email"],"summary":"List status","description":"`GET /api/v1/email/status` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/email/webhook/gmail":{"post":{"tags":["Email"],"summary":"Create gmail","description":"`POST /api/v1/email/webhook/gmail` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/errors":{"post":{"tags":["Errors"],"summary":"Create errors","description":"`POST /api/v1/errors` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"userAgent":{"type":"string"},"user":{"type":"string"},"severity":{"type":"string"},"stack":{"type":"string"},"endpoint":{"type":"string"},"type":{"type":"string"},"release":{"type":"string"},"context":{"type":"string"}}},"example":{"userAgent":"example-userAgent","user":"example-user","severity":"example-severity","stack":"example-stack","endpoint":"example-endpoint","type":"example-type","release":"example-release","context":"example-context"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/escrow/{tradeId}":{"get":{"tags":["Escrow Services"],"summary":"Get escrow","description":"`GET /api/v1/escrow/{tradeId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"tradeId","in":"path","required":true,"description":"tradeId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Escrow Services"],"summary":"Create escrow","description":"`POST /api/v1/escrow/{tradeId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"tradeId","in":"path","required":true,"description":"tradeId identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"}}},"example":{"action":"example-action"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/escrow/create":{"post":{"tags":["Escrow Services"],"summary":"Create create","description":"`POST /api/v1/escrow/create` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string"},"cryptoAmount":{"type":"string"},"fiatCurrency":{"type":"string"},"fiatAmount":{"type":"string"},"paymentMethods":{"type":"string"},"feePercent":{"type":"string"},"minAmount":{"type":"string"},"maxAmount":{"type":"string"},"terms":{"type":"string"},"autoFund":{"type":"string"}},"required":["token","cryptoAmount","fiatCurrency","fiatAmount"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/escrow":{"get":{"tags":["Escrow Services"],"summary":"List escrow","description":"`GET /api/v1/escrow` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"query","required":false,"description":"id query parameter","schema":{"type":"string"}},{"name":"orderId","in":"query","required":false,"description":"orderId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Escrow Services"],"summary":"Create escrow","description":"`POST /api/v1/escrow` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"query","required":false,"description":"id query parameter","schema":{"type":"string"}},{"name":"orderId","in":"query","required":false,"description":"orderId query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"orderId":{"type":"string"},"reason":{"type":"string"},"refundPercent":{"type":"string"}},"required":["orderId"]},"example":{"action":"example-action","orderId":"example-orderId","reason":"example-reason","refundPercent":"example-refundPercent"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/escrow/trades":{"get":{"tags":["Escrow Services"],"summary":"List trades","description":"`GET /api/v1/escrow/trades` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"token","in":"query","required":false,"description":"token query parameter","schema":{"type":"string"}},{"name":"fiatCurrency","in":"query","required":false,"description":"fiatCurrency query parameter","schema":{"type":"string"}},{"name":"role","in":"query","required":false,"description":"role query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/exchange-rates":{"get":{"tags":["Exchange rates"],"summary":"List exchange rates","description":"`GET /api/v1/exchange-rates` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"base","in":"query","required":false,"description":"base query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/exchange/rate":{"get":{"tags":["Exchange Rates"],"summary":"List rate","description":"`GET /api/v1/exchange/rate` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"from","in":"query","required":false,"description":"from query parameter","schema":{"type":"string"}},{"name":"to","in":"query","required":false,"description":"to query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/exports":{"get":{"tags":["Exports"],"summary":"List exports","description":"`GET /api/v1/exports` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Exports"],"summary":"Create exports","description":"`POST /api/v1/exports` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/features/public":{"get":{"tags":["Features"],"summary":"List public","description":"`GET /api/v1/features/public` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/features/status":{"get":{"tags":["Features"],"summary":"List status","description":"`GET /api/v1/features/status` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"feature","in":"query","required":false,"description":"feature query parameter","schema":{"type":"string"}},{"name":"features","in":"query","required":false,"description":"features query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/fees/preview":{"post":{"tags":["Fees"],"summary":"Create preview","description":"`POST /api/v1/fees/preview` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/fraud/assess":{"post":{"tags":["Fraud Detection"],"summary":"Create assess","description":"`POST /api/v1/fraud/assess` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sessionId":{"type":"string"},"amount":{"type":"number"},"currency":{"type":"string"},"userId":{"type":"string"},"customerId":{"type":"string"},"ipAddress":{"type":"string"},"deviceFingerprint":{"type":"string"},"country":{"type":"string"},"paymentMethod":{"type":"string"}},"required":["amount","currency"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/group-bill/{billId}/contribute":{"post":{"tags":["Group bill"],"summary":"Create contribute","description":"`POST /api/v1/group-bill/{billId}/contribute` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"billId","in":"path","required":true,"description":"billId identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"string"},"contributorName":{"type":"string"},"contributorPhone":{"type":"string"},"isAnonymous":{"type":"string"},"paymentMethod":{"type":"string"},"phone":{"type":"string"},"otp":{"type":"string"}},"required":["amount","phone","otp"]},"example":{"amount":"example-amount","contributorName":"example-contributorName","contributorPhone":"example-contributorPhone","isAnonymous":"example-isAnonymous","paymentMethod":"example-paymentMethod","phone":"example-phone","otp":"example-otp"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/group-bill/{billId}":{"get":{"tags":["Group bill"],"summary":"Get group bill","description":"`GET /api/v1/group-bill/{billId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"billId","in":"path","required":true,"description":"billId identifier","schema":{"type":"string"}},{"name":"userId","in":"query","required":false,"description":"userId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Group bill"],"summary":"Delete group bill","description":"`DELETE /api/v1/group-bill/{billId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"billId","in":"path","required":true,"description":"billId identifier","schema":{"type":"string"}},{"name":"userId","in":"query","required":false,"description":"userId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/group-bill/{billId}/withdraw":{"post":{"tags":["Group bill"],"summary":"Create withdraw","description":"`POST /api/v1/group-bill/{billId}/withdraw` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"billId","in":"path","required":true,"description":"billId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/group-bill/create":{"post":{"tags":["Group bill"],"summary":"Create create","description":"`POST /api/v1/group-bill/create` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"targetAmount":{"type":"string"},"expiryDays":{"type":"string"},"imageUrl":{"type":"string"},"category":{"type":"string"},"creatorName":{"type":"string"},"creatorPhone":{"type":"string"}},"required":["title","targetAmount"]},"example":{"title":"example-title","description":"example-description","targetAmount":"example-targetAmount","expiryDays":"example-expiryDays","imageUrl":"example-imageUrl","category":"example-category","creatorName":"example-creatorName","creatorPhone":"example-creatorPhone"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/group-bill/creator/bills":{"get":{"tags":["Group bill"],"summary":"List bills","description":"`GET /api/v1/group-bill/creator/bills` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"creatorId","in":"query","required":false,"description":"creatorId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/health":{"get":{"tags":["Health"],"summary":"Health check","description":"Returns API + database health. No authentication required.","responses":{"200":{"description":"Service is healthy","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}},"503":{"description":"Service is unhealthy"}}}},"/identity/{universalId}/devices":{"get":{"tags":["Identity Verification"],"summary":"List devices","description":"`GET /api/v1/identity/{universalId}/devices` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"universalId","in":"path","required":true,"description":"universalId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Identity Verification"],"summary":"Create devices","description":"`POST /api/v1/identity/{universalId}/devices` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"universalId","in":"path","required":true,"description":"universalId identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"deviceType":{"type":"string","enum":["mobile","web","pos","api"]},"deviceName":{"type":"string"},"deviceModel":{"type":"string"},"osName":{"type":"string"},"osVersion":{"type":"string"},"appVersion":{"type":"string"},"pushToken":{"type":"string"},"fingerprint":{"type":"string"}}},"example":{"deviceType":"mobile","deviceName":"example-deviceName","deviceModel":"example-deviceModel","osName":"example-osName","osVersion":"example-osVersion","appVersion":"example-appVersion","pushToken":"example-pushToken","fingerprint":"example-fingerprint"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/identity/{universalId}":{"get":{"tags":["Identity Verification"],"summary":"Get identity","description":"`GET /api/v1/identity/{universalId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"universalId","in":"path","required":true,"description":"universalId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Identity Verification"],"summary":"Update identity","description":"`PATCH /api/v1/identity/{universalId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"universalId","in":"path","required":true,"description":"universalId identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"firstName":{"type":"string"},"lastName":{"type":"string"},"displayName":{"type":"string"},"dateOfBirth":{"type":"string"},"nationality":{"type":"string"},"preferredLanguage":{"type":"string"},"preferredCurrency":{"type":"string"},"timezone":{"type":"string"}}},"example":{"firstName":"example-firstName","lastName":"example-lastName","displayName":"example-displayName","dateOfBirth":"example-dateOfBirth","nationality":"example-nationality","preferredLanguage":"example-preferredLanguage","preferredCurrency":"example-preferredCurrency","timezone":"example-timezone"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/identity/lookup":{"get":{"tags":["Identity Verification"],"summary":"List lookup","description":"`GET /api/v1/identity/lookup` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"identifierType","in":"query","required":false,"description":"identifierType query parameter","schema":{"type":"string"}},{"name":"value","in":"query","required":false,"description":"value query parameter","schema":{"type":"string"}},{"name":"identifierValue","in":"query","required":false,"description":"identifierValue query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Identity Verification"],"summary":"Create lookup","description":"`POST /api/v1/identity/lookup` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"identifierType","in":"query","required":false,"description":"identifierType query parameter","schema":{"type":"string"}},{"name":"value","in":"query","required":false,"description":"value query parameter","schema":{"type":"string"}},{"name":"identifierValue","in":"query","required":false,"description":"identifierValue query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"identifierType":{"type":"string","enum":["phone","email","username","national_id","passport","universalId"]},"identifierValue":{"type":"string"}},"required":["identifierType","identifierValue"]},"example":{"identifierType":"phone","identifierValue":"example-identifierValue"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/identity":{"get":{"tags":["Identity Verification"],"summary":"List identity","description":"`GET /api/v1/identity` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"q","in":"query","required":false,"description":"q query parameter","schema":{"type":"string"}},{"name":"query","in":"query","required":false,"description":"query query parameter","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Identity Verification"],"summary":"Create identity","description":"`POST /api/v1/identity` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"q","in":"query","required":false,"description":"q query parameter","schema":{"type":"string"}},{"name":"query","in":"query","required":false,"description":"query query parameter","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"phone":{"type":"string"},"email":{"type":"string","format":"email"},"username":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"displayName":{"type":"string"},"preferredLanguage":{"type":"string"},"preferredCurrency":{"type":"string"},"metadata":{"type":"object"}}},"example":{"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":{}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/integration-marketplace":{"get":{"tags":["Integration marketplace"],"summary":"List integration marketplace","description":"`GET /api/v1/integration-marketplace` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"view","in":"query","required":false,"description":"view query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Integration marketplace"],"summary":"Create integration marketplace","description":"`POST /api/v1/integration-marketplace` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"view","in":"query","required":false,"description":"view query parameter","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"packageId":{"type":"string"},"version":{"type":"string"},"country":{"type":"string"},"installId":{"type":"string"},"toVersion":{"type":"string"}}},"example":{"action":"example-action","packageId":"example-packageId","version":"example-version","country":"example-country","installId":"example-installId","toVersion":"example-toVersion"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/intents/{id}/cancel":{"post":{"tags":["Intents"],"summary":"Create cancel","description":"`POST /api/v1/intents/{id}/cancel` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string"}}},"example":{"reason":"example-reason"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/intents/{id}/confirm":{"post":{"tags":["Intents"],"summary":"Create confirm","description":"`POST /api/v1/intents/{id}/confirm` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"paymentMethodId":{"type":"string"},"returnUrl":{"type":"string"}}},"example":{"paymentMethodId":"example-paymentMethodId","returnUrl":"example-returnUrl"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/intents/{id}/execute":{"post":{"tags":["Intents"],"summary":"Create execute","description":"`POST /api/v1/intents/{id}/execute` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/intents/{id}":{"get":{"tags":["Intents"],"summary":"Get intents","description":"`GET /api/v1/intents/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/intents":{"get":{"tags":["Intents"],"summary":"List intents","description":"`GET /api/v1/intents` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Intents"],"summary":"Create intents","description":"`POST /api/v1/intents` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"},"amount":{"type":"number"},"currency":{"type":"string"},"paymentMethodId":{"type":"string"},"customerId":{"type":"string"},"customerPhone":{"type":"string"},"customerEmail":{"type":"string","format":"email"},"description":{"type":"string"},"metadata":{"type":"object"},"returnUrl":{"type":"string"},"idempotencyKey":{"type":"string"}},"required":["amount"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/ios/notification-detect":{"post":{"tags":["Ios"],"summary":"Create notification detect","description":"`POST /api/v1/ios/notification-detect` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"},"appBundleId":{"type":"string"},"timestamp":{"type":"string"},"deviceId":{"type":"string"},"deviceModel":{"type":"string"},"appVersion":{"type":"string"}},"required":["title"]},"example":{"title":"example-title","body":"example-body","appBundleId":"example-appBundleId","timestamp":"example-timestamp","deviceId":"example-deviceId","deviceModel":"example-deviceModel","appVersion":"example-appVersion"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/languages":{"get":{"tags":["Languages"],"summary":"List languages","description":"`GET /api/v1/languages` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/ledger/accounts":{"get":{"tags":["Ledger & Accounting"],"summary":"List accounts","description":"`GET /api/v1/ledger/accounts` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Ledger & Accounting"],"summary":"Create accounts","description":"`POST /api/v1/ledger/accounts` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/ledger/balances":{"get":{"tags":["Ledger & Accounting"],"summary":"List balances","description":"`GET /api/v1/ledger/balances` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/ledger/integrity":{"get":{"tags":["Ledger & Accounting"],"summary":"List integrity","description":"`GET /api/v1/ledger/integrity` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/ledger/journals":{"get":{"tags":["Ledger & Accounting"],"summary":"List journals","description":"`GET /api/v1/ledger/journals` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Ledger & Accounting"],"summary":"Create journals","description":"`POST /api/v1/ledger/journals` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"},"type":{"type":"string","enum":["debit","credit"]},"startDate":{"type":"string"},"endDate":{"type":"string"},"entries":{"type":"array","enum":["debit","credit"]},"reference":{"type":"string"},"description":{"type":"string"},"metadata":{"type":"object"},"accountCode":{"type":"string"},"amount":{"type":"number"}},"required":["type","entries","accountCode","amount"]},"example":{"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}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/ledger/statements/{accountCode}":{"get":{"tags":["Ledger & Accounting"],"summary":"Get statements","description":"`GET /api/v1/ledger/statements/{accountCode}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"accountCode","in":"path","required":true,"description":"accountCode identifier","schema":{"type":"string"}},{"name":"fromDate","in":"query","required":false,"description":"fromDate query parameter","schema":{"type":"string"}},{"name":"toDate","in":"query","required":false,"description":"toDate query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/ledger/trial-balance":{"get":{"tags":["Ledger & Accounting"],"summary":"List trial balance","description":"`GET /api/v1/ledger/trial-balance` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"asOfDate","in":"query","required":false,"description":"asOfDate query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/m/{slug}":{"get":{"tags":["M"],"summary":"Get m","description":"`GET /api/v1/m/{slug}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"slug","in":"path","required":true,"description":"slug identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/marketplace/disputes/{disputeId}/resolve":{"post":{"tags":["Marketplace"],"summary":"Create resolve","description":"`POST /api/v1/marketplace/disputes/{disputeId}/resolve` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"disputeId","in":"path","required":true,"description":"disputeId identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"winner":{"type":"string"},"refundPercent":{"type":"string"},"notes":{"type":"string"}},"required":["winner"]},"example":{"winner":"example-winner","refundPercent":"example-refundPercent","notes":"example-notes"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/marketplace/disputes/{disputeId}":{"get":{"tags":["Marketplace"],"summary":"Get disputes","description":"`GET /api/v1/marketplace/disputes/{disputeId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"disputeId","in":"path","required":true,"description":"disputeId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Marketplace"],"summary":"Create disputes","description":"`POST /api/v1/marketplace/disputes/{disputeId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"disputeId","in":"path","required":true,"description":"disputeId identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"evidence":{"type":"string"}}},"example":{"evidence":"example-evidence"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/marketplace/disputes":{"get":{"tags":["Marketplace"],"summary":"List disputes","description":"`GET /api/v1/marketplace/disputes` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"role","in":"query","required":false,"description":"role query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"all","in":"query","required":false,"description":"all query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Marketplace"],"summary":"Create disputes","description":"`POST /api/v1/marketplace/disputes` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"role","in":"query","required":false,"description":"role query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"all","in":"query","required":false,"description":"all query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"orderId":{"type":"string"},"reason":{"type":"string"},"description":{"type":"string"},"evidence":{"type":"string"}},"required":["orderId","reason","description"]},"example":{"orderId":"example-orderId","reason":"example-reason","description":"example-description","evidence":"example-evidence"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/marketplace":{"get":{"tags":["Marketplace"],"summary":"List marketplace","description":"`GET /api/v1/marketplace` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"action","in":"query","required":false,"description":"action query parameter","schema":{"type":"string"}},{"name":"startDate","in":"query","required":false,"description":"startDate query parameter","schema":{"type":"string"}},{"name":"endDate","in":"query","required":false,"description":"endDate query parameter","schema":{"type":"string"}},{"name":"amount","in":"query","required":false,"description":"amount query parameter","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"category query parameter","schema":{"type":"string"}},{"name":"merchantTier","in":"query","required":false,"description":"merchantTier query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchant/{merchantId}/connections/{connectionId}":{"delete":{"tags":["Merchants"],"summary":"Delete connections","description":"`DELETE /api/v1/merchant/{merchantId}/connections/{connectionId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"merchantId","in":"path","required":true,"description":"merchantId identifier","schema":{"type":"string"}},{"name":"connectionId","in":"path","required":true,"description":"connectionId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchant/{merchantId}/connections/{connectionId}/sync":{"post":{"tags":["Merchants"],"summary":"Create sync","description":"`POST /api/v1/merchant/{merchantId}/connections/{connectionId}/sync` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"merchantId","in":"path","required":true,"description":"merchantId identifier","schema":{"type":"string"}},{"name":"connectionId","in":"path","required":true,"description":"connectionId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchant/{merchantId}/connections":{"get":{"tags":["Merchants"],"summary":"List connections","description":"`GET /api/v1/merchant/{merchantId}/connections` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"merchantId","in":"path","required":true,"description":"merchantId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Merchants"],"summary":"Create connections","description":"`POST /api/v1/merchant/{merchantId}/connections` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"merchantId","in":"path","required":true,"description":"merchantId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchant/connections/{id}/sync":{"post":{"tags":["Merchants"],"summary":"Create sync","description":"`POST /api/v1/merchant/connections/{id}/sync` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"csvContent":{"type":"string"},"options":{"type":"number"},"delimiter":{"type":"string"},"columnMap":{"type":"number"}},"required":["csvContent"]},"example":{"csvContent":"example-csvContent","options":0,"delimiter":"example-delimiter","columnMap":0}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchant/connections":{"get":{"tags":["Merchants"],"summary":"List connections","description":"`GET /api/v1/merchant/connections` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Merchants"],"summary":"Create connections","description":"`POST /api/v1/merchant/connections` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"string"},"accountIdentifier":{"type":"string"},"nickname":{"type":"string"},"credentials":{"type":"object"},"username":{"type":"string"},"password":{"type":"string"},"apiKey":{"type":"string"},"additionalData":{"type":"object"}},"required":["provider","accountIdentifier"]},"example":{"provider":"example-provider","accountIdentifier":"example-accountIdentifier","nickname":"example-nickname","credentials":{},"username":"example-username","password":"YourPassword123!","apiKey":"example-apiKey","additionalData":{}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchant/credentials":{"get":{"tags":["Merchants"],"summary":"List credentials","description":"`GET /api/v1/merchant/credentials` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"provider","in":"query","required":false,"description":"provider query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Merchants"],"summary":"Create credentials","description":"`POST /api/v1/merchant/credentials` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"provider","in":"query","required":false,"description":"provider query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"string"},"credentials":{"type":"string"}},"required":["provider","credentials"]},"example":{"provider":"example-provider","credentials":"example-credentials"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Merchants"],"summary":"Delete credentials","description":"`DELETE /api/v1/merchant/credentials` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"provider","in":"query","required":false,"description":"provider query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchant/kit":{"get":{"tags":["Merchants"],"summary":"List kit","description":"`GET /api/v1/merchant/kit` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Merchants"],"summary":"Create kit","description":"`POST /api/v1/merchant/kit` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchant/orders":{"get":{"tags":["Merchants"],"summary":"List orders","description":"`GET /api/v1/merchant/orders` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"dateFrom","in":"query","required":false,"description":"dateFrom query parameter","schema":{"type":"string"}},{"name":"dateTo","in":"query","required":false,"description":"dateTo query parameter","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Merchants"],"summary":"Create orders","description":"`POST /api/v1/merchant/orders` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"dateFrom","in":"query","required":false,"description":"dateFrom query parameter","schema":{"type":"string"}},{"name":"dateTo","in":"query","required":false,"description":"dateTo query parameter","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchant/payout-accounts":{"get":{"tags":["Merchants"],"summary":"List payout accounts","description":"`GET /api/v1/merchant/payout-accounts` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"provider","in":"query","required":false,"description":"provider query parameter","schema":{"type":"string"}},{"name":"accountId","in":"query","required":false,"description":"accountId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Merchants"],"summary":"Create payout accounts","description":"`POST /api/v1/merchant/payout-accounts` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"provider","in":"query","required":false,"description":"provider query parameter","schema":{"type":"string"}},{"name":"accountId","in":"query","required":false,"description":"accountId query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"string"},"accountIdentifier":{"type":"string"},"accountName":{"type":"string"},"currency":{"type":"string"},"country":{"type":"string"},"isDefault":{"type":"boolean"}},"required":["provider","accountIdentifier"]},"example":{"provider":"example-provider","accountIdentifier":"example-accountIdentifier","accountName":"example-accountName","currency":"example-currency","country":"example-country","isDefault":false}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Merchants"],"summary":"Delete payout accounts","description":"`DELETE /api/v1/merchant/payout-accounts` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"provider","in":"query","required":false,"description":"provider query parameter","schema":{"type":"string"}},{"name":"accountId","in":"query","required":false,"description":"accountId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchant/products/{productId}":{"get":{"tags":["Merchants"],"summary":"Get products","description":"`GET /api/v1/merchant/products/{productId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"productId","in":"path","required":true,"description":"productId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Merchants"],"summary":"Replace products","description":"`PUT /api/v1/merchant/products/{productId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"productId","in":"path","required":true,"description":"productId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Merchants"],"summary":"Delete products","description":"`DELETE /api/v1/merchant/products/{productId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"productId","in":"path","required":true,"description":"productId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchant/products":{"get":{"tags":["Merchants"],"summary":"List products","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Products","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Merchants"],"summary":"Create product","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","price"],"properties":{"name":{"type":"string"},"price":{"type":"number"},"currency":{"type":"string"}}},"example":{"name":"example-name","price":100,"currency":"ETB"}}}},"responses":{"201":{"description":"Product created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchant/products/stats":{"get":{"tags":["Merchants"],"summary":"List stats","description":"`GET /api/v1/merchant/products/stats` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchant/qr-codes/generate":{"post":{"tags":["Merchants"],"summary":"Generate payment QR","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"number"},"currency":{"type":"string"},"reference":{"type":"string"}}},"example":{"amount":0,"currency":"ETB","reference":"example-reference"}}}},"responses":{"200":{"description":"QR generated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchant/stats":{"get":{"tags":["Merchants"],"summary":"List stats","description":"`GET /api/v1/merchant/stats` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchant/transactions":{"get":{"tags":["Merchants"],"summary":"Merchant transactions","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/Limit"}],"responses":{"200":{"description":"Transactions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionListResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchant/users/{id}":{"get":{"tags":["Merchants"],"summary":"Get users","description":"`GET /api/v1/merchant/users/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Merchants"],"summary":"Update users","description":"`PATCH /api/v1/merchant/users/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"role":{"type":"string"},"name":{"type":"string"},"phone":{"type":"string"}}},"example":{"role":"example-role","name":"example-name","phone":"example-phone"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Merchants"],"summary":"Delete users","description":"`DELETE /api/v1/merchant/users/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchant/users":{"get":{"tags":["Merchants"],"summary":"List users","description":"`GET /api/v1/merchant/users` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"role","in":"query","required":false,"description":"role query parameter","schema":{"type":"string"}},{"name":"search","in":"query","required":false,"description":"search query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Merchants"],"summary":"Create users","description":"`POST /api/v1/merchant/users` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"role","in":"query","required":false,"description":"role query parameter","schema":{"type":"string"}},{"name":"search","in":"query","required":false,"description":"search query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"name":{"type":"string"},"role":{"type":"string"},"phone":{"type":"string"},"password":{"type":"string"}},"required":["email","name","role","password"]},"example":{"email":"example-email","name":"example-name","role":"example-role","phone":"example-phone","password":"YourPassword123!"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchants/2fa":{"get":{"tags":["Merchants"],"summary":"List 2fa","description":"`GET /api/v1/merchants/2fa` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"code","in":"query","required":false,"description":"code query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Merchants"],"summary":"Create 2fa","description":"`POST /api/v1/merchants/2fa` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"code","in":"query","required":false,"description":"code query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"code":{"type":"string"}},"required":["code"]},"example":{"action":"example-action","code":"example-code"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Merchants"],"summary":"Delete 2fa","description":"`DELETE /api/v1/merchants/2fa` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"code","in":"query","required":false,"description":"code query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchants/{id}":{"get":{"tags":["Merchants"],"summary":"Get merchant","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Id"}],"responses":{"200":{"description":"Merchant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MerchantResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Merchants"],"summary":"Update merchant","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Id"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"businessType":{"type":"string"},"country":{"type":"string"},"currency":{"type":"string"}},"title":"MerchantRequest"},"example":{"name":"example-name","email":"example-email","phone":"+251911223344","businessType":"example-businessType","country":"example-country","currency":"ETB"}}}},"responses":{"200":{"description":"Merchant updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MerchantResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchants/kyc/submit":{"post":{"tags":["KYC"],"summary":"Submit merchant KYC","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["documentType","documentNumber"],"properties":{"fullName":{"type":"string"},"documentType":{"type":"string","enum":["national_id","passport","drivers_license"]},"documentNumber":{"type":"string"},"documentFront":{"type":"string","description":"URL or base64 of front image"},"documentBack":{"type":"string"},"selfie":{"type":"string"},"dateOfBirth":{"type":"string","format":"date"},"address":{"type":"string"}},"title":"KycSubmissionRequest"},"example":{"fullName":"example-fullName","documentType":"national_id","documentNumber":"example-documentNumber","documentFront":"example-documentFront","documentBack":"example-documentBack","selfie":"example-selfie","dateOfBirth":"example-dateOfBirth","address":"example-address"}}}},"responses":{"200":{"description":"Merchant KYC submitted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchants/me":{"get":{"tags":["Merchants"],"summary":"My merchant profile","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Merchant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MerchantResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Merchants"],"summary":"Update me","description":"`PATCH /api/v1/merchants/me` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchants/payout-settings/{accountId}":{"delete":{"tags":["Merchants"],"summary":"Delete payout settings","description":"`DELETE /api/v1/merchants/payout-settings/{accountId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"accountId","in":"path","required":true,"description":"accountId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchants/payout-settings":{"get":{"tags":["Merchants"],"summary":"List payout settings","description":"`GET /api/v1/merchants/payout-settings` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Merchants"],"summary":"Create payout settings","description":"`POST /api/v1/merchants/payout-settings` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"preferredMethod":{"type":"string"},"bankAccounts":{"type":"string"},"mobileMoneyAccounts":{"type":"string"},"cryptoWallets":{"type":"string"},"autoPayoutEnabled":{"type":"string"},"autoPayoutThreshold":{"type":"string"},"autoPayoutSchedule":{"type":"string"},"type":{"type":"string"},"accountDetails":{"type":"string"},"isDefault":{"type":"string"}}},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Merchants"],"summary":"Replace payout settings","description":"`PUT /api/v1/merchants/payout-settings` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"preferredMethod":{"type":"string"},"bankAccounts":{"type":"string"},"mobileMoneyAccounts":{"type":"string"},"cryptoWallets":{"type":"string"},"autoPayoutEnabled":{"type":"string"},"autoPayoutThreshold":{"type":"string"},"autoPayoutSchedule":{"type":"string"},"type":{"type":"string"},"accountDetails":{"type":"string"},"isDefault":{"type":"string"}}},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchants/profile":{"put":{"tags":["Merchants"],"summary":"Replace profile","description":"`PUT /api/v1/merchants/profile` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"businessName":{"type":"string"},"businessType":{"type":"string"},"logo":{"type":"string"},"description":{"type":"string"},"website":{"type":"string"},"address":{"type":"string"},"phone":{"type":"string"},"supportEmail":{"type":"string"},"socialLinks":{"type":"string"}}},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"get":{"tags":["Merchants"],"summary":"Get merchant profile","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Profile","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MerchantResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Merchants"],"summary":"Update merchant profile","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"businessType":{"type":"string"},"country":{"type":"string"},"currency":{"type":"string"}},"title":"MerchantRequest"},"example":{"name":"example-name","email":"example-email","phone":"+251911223344","businessType":"example-businessType","country":"example-country","currency":"ETB"}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MerchantResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchants/transactions":{"get":{"tags":["Merchants"],"summary":"List transactions","description":"`GET /api/v1/merchants/transactions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"fromDate","in":"query","required":false,"description":"fromDate query parameter","schema":{"type":"string"}},{"name":"toDate","in":"query","required":false,"description":"toDate query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/merchants/webhooks":{"get":{"tags":["Merchants"],"summary":"List webhooks","description":"`GET /api/v1/merchants/webhooks` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"webhookId","in":"query","required":false,"description":"webhookId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Merchants"],"summary":"Create webhooks","description":"`POST /api/v1/merchants/webhooks` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"webhookId","in":"query","required":false,"description":"webhookId query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"events":{"type":"array"},"description":{"type":"string"},"isActive":{"type":"boolean"},"webhookId":{"type":"string"}},"required":["url","events","webhookId"]},"example":{"url":"example-url","events":[],"description":"example-description","isActive":false,"webhookId":"example-webhookId"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Merchants"],"summary":"Replace webhooks","description":"`PUT /api/v1/merchants/webhooks` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"webhookId","in":"query","required":false,"description":"webhookId query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"events":{"type":"array"},"description":{"type":"string"},"isActive":{"type":"boolean"},"webhookId":{"type":"string"}},"required":["url","events","webhookId"]},"example":{"url":"example-url","events":[],"description":"example-description","isActive":false,"webhookId":"example-webhookId"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Merchants"],"summary":"Delete webhooks","description":"`DELETE /api/v1/merchants/webhooks` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"webhookId","in":"query","required":false,"description":"webhookId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/notifications":{"get":{"tags":["Notifications"],"summary":"List notifications","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/Limit"},{"name":"unread","in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Notifications","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationListResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Notifications"],"summary":"Send notification (admin/system)","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["title","body"],"properties":{"userId":{"type":"string"},"title":{"type":"string"},"body":{"type":"string"},"type":{"type":"string"},"channel":{"type":"string","enum":["push","email","sms","in_app"]}},"title":"NotificationRequest"},"example":{"userId":"example-userId","title":"example-title","body":"example-body","type":"example-type","channel":"push"}}}},"responses":{"201":{"description":"Notification sent","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Notifications"],"summary":"Mark notifications read","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"}},"all":{"type":"boolean"}}},"example":{"ids":[],"all":false}}}},"responses":{"200":{"description":"Marked read","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/notifications/subscribe":{"post":{"tags":["Notifications"],"summary":"Subscribe to push","description":"Register a Web Push subscription for the current device.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["subscription"],"properties":{"subscription":{"type":"object"}}},"example":{"subscription":{}}}}},"responses":{"200":{"description":"Subscribed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Notifications"],"summary":"Delete subscribe","description":"`DELETE /api/v1/notifications/subscribe` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/offline/queue":{"get":{"tags":["Offline"],"summary":"List queue","description":"`GET /api/v1/offline/queue` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"agentId","in":"query","required":false,"description":"agentId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Offline"],"summary":"Create queue","description":"`POST /api/v1/offline/queue` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"agentId","in":"query","required":false,"description":"agentId query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["cash_in","cash_out","claim","transfer"]},"agentId":{"type":"string"},"payload":{"type":"object"},"offlineTimestamp":{"type":"string"},"items":{"type":"array"}},"required":["type","agentId","payload","items"]},"example":{"type":"cash_in","agentId":"example-agentId","payload":{},"offlineTimestamp":"example-offlineTimestamp","items":[]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/offline/sync":{"post":{"tags":["Offline"],"summary":"Create sync","description":"`POST /api/v1/offline/sync` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"agentId":{"type":"string"},"maxItems":{"type":"number"}}},"example":{"agentId":"example-agentId","maxItems":0}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/order":{"get":{"tags":["Order"],"summary":"List order","description":"`GET /api/v1/order` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"query","required":false,"description":"id query parameter","schema":{"type":"string"}},{"name":"userId","in":"query","required":false,"description":"userId query parameter","schema":{"type":"string"}},{"name":"role","in":"query","required":false,"description":"role query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Order"],"summary":"Create order","description":"`POST /api/v1/order` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"query","required":false,"description":"id query parameter","schema":{"type":"string"}},{"name":"userId","in":"query","required":false,"description":"userId query parameter","schema":{"type":"string"}},{"name":"role","in":"query","required":false,"description":"role query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"orderId":{"type":"string"},"buyerId":{"type":"string"},"userId":{"type":"string"},"role":{"type":"string"}},"required":["orderId","buyerId","userId","role"]},"example":{"action":"example-action","orderId":"example-orderId","buyerId":"example-buyerId","userId":"example-userId","role":"example-role"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/partner/branding/upload":{"post":{"tags":["Partner"],"summary":"Create upload","description":"`POST /api/v1/partner/branding/upload` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"assetType":{"type":"string"},"file":{"type":"string"},"dataUri":{"type":"string"}},"required":["file","dataUri"]},"example":{"assetType":"example-assetType","file":"example-file","dataUri":"example-dataUri"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/partner/dashboard/limits":{"get":{"tags":["Partner"],"summary":"List limits","description":"`GET /api/v1/partner/dashboard/limits` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"partnerId","in":"query","required":false,"description":"partnerId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/partner/dashboard/overview":{"get":{"tags":["Partner"],"summary":"List overview","description":"`GET /api/v1/partner/dashboard/overview` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"partnerId","in":"query","required":false,"description":"partnerId query parameter","schema":{"type":"string"}},{"name":"from","in":"query","required":false,"description":"from query parameter","schema":{"type":"string"}},{"name":"to","in":"query","required":false,"description":"to query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/partner/dashboard/transactions":{"get":{"tags":["Partner"],"summary":"List transactions","description":"`GET /api/v1/partner/dashboard/transactions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"partnerId","in":"query","required":false,"description":"partnerId query parameter","schema":{"type":"string"}},{"name":"from","in":"query","required":false,"description":"from query parameter","schema":{"type":"string"}},{"name":"to","in":"query","required":false,"description":"to query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/partner/white-label":{"get":{"tags":["Partner"],"summary":"List white label","description":"`GET /api/v1/partner/white-label` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"partnerId","in":"query","required":false,"description":"partnerId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Partner"],"summary":"Replace white label","description":"`PUT /api/v1/partner/white-label` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"partnerId","in":"query","required":false,"description":"partnerId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/partners/{id}/branding":{"get":{"tags":["Partners"],"summary":"List branding","description":"`GET /api/v1/partners/{id}/branding` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Partners"],"summary":"Replace branding","description":"`PUT /api/v1/partners/{id}/branding` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/partners/{id}/branding/upload":{"post":{"tags":["Partners"],"summary":"Create upload","description":"`POST /api/v1/partners/{id}/branding/upload` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"assetType":{"type":"string"},"file":{"type":"string"},"dataUri":{"type":"string"}},"required":["file","dataUri"]},"example":{"assetType":"example-assetType","file":"example-file","dataUri":"example-dataUri"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/partners/{id}/commercial":{"get":{"tags":["Partners"],"summary":"List commercial","description":"`GET /api/v1/partners/{id}/commercial` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Partners"],"summary":"Replace commercial","description":"`PUT /api/v1/partners/{id}/commercial` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string"},"action":{"type":"string"},"adminNote":{"type":"string"}},"required":["requestId","action"]},"example":{"requestId":"example-requestId","action":"example-action","adminNote":"example-adminNote"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Partners"],"summary":"Update commercial","description":"`PATCH /api/v1/partners/{id}/commercial` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string"},"action":{"type":"string"},"adminNote":{"type":"string"}},"required":["requestId","action"]},"example":{"requestId":"example-requestId","action":"example-action","adminNote":"example-adminNote"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/partners/{id}/domain":{"post":{"tags":["Partners"],"summary":"Create domain","description":"`POST /api/v1/partners/{id}/domain` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string"}},"required":["domain"]},"example":{"domain":"example-domain"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Partners"],"summary":"Replace domain","description":"`PUT /api/v1/partners/{id}/domain` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string"}},"required":["domain"]},"example":{"domain":"example-domain"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/partners/{id}/feature-requests":{"get":{"tags":["Partners"],"summary":"List feature requests","description":"`GET /api/v1/partners/{id}/feature-requests` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Partners"],"summary":"Create feature requests","description":"`POST /api/v1/partners/{id}/feature-requests` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string"},"action":{"type":"string"},"adminNote":{"type":"string"}},"required":["requestId","action"]},"example":{"requestId":"example-requestId","action":"example-action","adminNote":"example-adminNote"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Partners"],"summary":"Update feature requests","description":"`PATCH /api/v1/partners/{id}/feature-requests` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string"},"action":{"type":"string"},"adminNote":{"type":"string"}},"required":["requestId","action"]},"example":{"requestId":"example-requestId","action":"example-action","adminNote":"example-adminNote"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/partners/{id}":{"get":{"tags":["Partners"],"summary":"Get partners","description":"`GET /api/v1/partners/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Partners"],"summary":"Update partners","description":"`PATCH /api/v1/partners/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"reason":{"type":"string"}}},"example":{"action":"example-action","reason":"example-reason"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/partners/{id}/user-access":{"get":{"tags":["Partners"],"summary":"List user access","description":"`GET /api/v1/partners/{id}/user-access` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Partners"],"summary":"Replace user access","description":"`PUT /api/v1/partners/{id}/user-access` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"userSiteFeatures":{"type":"string"},"features":{"type":"string"}}},"example":{"userSiteFeatures":"example-userSiteFeatures","features":"example-features"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/partners/{id}/white-label":{"get":{"tags":["Partners"],"summary":"List white label","description":"`GET /api/v1/partners/{id}/white-label` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Partners"],"summary":"Replace white label","description":"`PUT /api/v1/partners/{id}/white-label` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/partners":{"get":{"tags":["Partners"],"summary":"List partners","description":"`GET /api/v1/partners` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"search","in":"query","required":false,"description":"search query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Partners"],"summary":"Create partners","description":"`POST /api/v1/partners` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"search","in":"query","required":false,"description":"search query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/partners/stats":{"get":{"tags":["Partners"],"summary":"List stats","description":"`GET /api/v1/partners/stats` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/pay-link/{code}":{"get":{"tags":["Pay link"],"summary":"Get pay link","description":"`GET /api/v1/pay-link/{code}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"code","in":"path","required":true,"description":"code identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Pay link"],"summary":"Create pay link","description":"`POST /api/v1/pay-link/{code}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"code","in":"path","required":true,"description":"code identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"string"},"currency":{"type":"string"},"note":{"type":"string"}},"required":["amount"]},"example":{"amount":"example-amount","currency":"example-currency","note":"example-note"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/pay/{token}/initiate":{"post":{"tags":["Pay"],"summary":"Create initiate","description":"`POST /api/v1/pay/{token}/initiate` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"token","in":"path","required":true,"description":"token identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/pay/{token}/proof":{"get":{"tags":["Pay"],"summary":"List proof","description":"`GET /api/v1/pay/{token}/proof` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"token","in":"path","required":true,"description":"token identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Pay"],"summary":"Create proof","description":"`POST /api/v1/pay/{token}/proof` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"token","in":"path","required":true,"description":"token identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"senderPhone":{"type":"string"},"senderAccount":{"type":"string"},"senderEmail":{"type":"string","format":"email"},"submittedCurrency":{"type":"string"},"transactionId":{"type":"string"},"transactionDate":{"type":"string"},"bankReference":{"type":"string"},"blockchainHash":{"type":"string"},"networkConfirmations":{"type":"number"},"files":{"type":"array"},"customFields":{"type":"object"},"type":{"type":"string"}}},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/pay/{token}":{"get":{"tags":["Pay"],"summary":"Get pay","description":"`GET /api/v1/pay/{token}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"token","in":"path","required":true,"description":"token identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/pay/intent/{id}":{"get":{"tags":["Pay"],"summary":"Get intent","description":"`GET /api/v1/pay/intent/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Pay"],"summary":"Create intent","description":"`POST /api/v1/pay/intent/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"paymentMethod":{"type":"string"},"payerInfo":{"type":"object","format":"email"},"proof":{"type":"object"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"phone":{"type":"string"},"transactionId":{"type":"string"},"senderName":{"type":"string"},"senderPhone":{"type":"string"},"screenshot":{"type":"string"}}},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/pay/link/{slug}":{"get":{"tags":["Pay"],"summary":"Get link","description":"`GET /api/v1/pay/link/{slug}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"slug","in":"path","required":true,"description":"slug identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Pay"],"summary":"Create link","description":"`POST /api/v1/pay/link/{slug}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"slug","in":"path","required":true,"description":"slug identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-links/{linkId}":{"get":{"tags":["Payment Links"],"summary":"Get payment links","description":"`GET /api/v1/payment-links/{linkId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"linkId","in":"path","required":true,"description":"linkId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Payment Links"],"summary":"Delete payment links","description":"`DELETE /api/v1/payment-links/{linkId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"linkId","in":"path","required":true,"description":"linkId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-links":{"get":{"tags":["Payment Links"],"summary":"List payment links","description":"`GET /api/v1/payment-links` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Payment Links"],"summary":"Create payment links","description":"`POST /api/v1/payment-links` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-methods/{id}/actions":{"post":{"tags":["Payment methods"],"summary":"Create actions","description":"`POST /api/v1/payment-methods/{id}/actions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string","enum":["toggle","archive","unarchive","update-status"]},"isActive":{"type":"boolean"}},"required":["action"]},"example":{"action":"toggle","isActive":false}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-methods/{id}":{"get":{"tags":["Payment methods"],"summary":"Get payment methods","description":"`GET /api/v1/payment-methods/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Payment methods"],"summary":"Update payment methods","description":"`PATCH /api/v1/payment-methods/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string"},"icon":{"type":"string"},"currencies":{"type":"array"},"receiverName":{"type":"string"},"accountName":{"type":"string"},"bankName":{"type":"string"},"bankCode":{"type":"string"},"walletNetwork":{"type":"string"},"agentLocation":{"type":"string"},"agentPhone":{"type":"string"},"customFields":{"type":"array"},"verificationMode":{"type":"string"},"autoVerifyRules":{"type":"array"},"qrData":{"type":"string"},"maxAmount":{"type":"number"},"dailyLimit":{"type":"number"},"monthlyLimit":{"type":"number"},"percentageFee":{"type":"number"},"feeType":{"type":"string","enum":["inclusive","exclusive"]},"processingTimeMax":{"type":"number"},"processingTimeUnit":{"type":"string","enum":["minutes","hours","days"]},"isActive":{"type":"boolean"},"sortOrder":{"type":"number"}}},"example":{"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}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Payment methods"],"summary":"Delete payment methods","description":"`DELETE /api/v1/payment-methods/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-methods/available-templates":{"get":{"tags":["Payment methods"],"summary":"List available templates","description":"`GET /api/v1/payment-methods/available-templates` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-methods/available":{"get":{"tags":["Payment methods"],"summary":"List available","description":"`GET /api/v1/payment-methods/available` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"country","in":"query","required":false,"description":"country query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"currency","in":"query","required":false,"description":"currency query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-methods/reorder":{"post":{"tags":["Payment methods"],"summary":"Create reorder","description":"`POST /api/v1/payment-methods/reorder` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"orderedIds":{"type":"array"}},"required":["orderedIds"]},"example":{"orderedIds":[]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-methods":{"get":{"tags":["Payment methods"],"summary":"List payment methods","description":"`GET /api/v1/payment-methods` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Payment methods"],"summary":"Create payment methods","description":"`POST /api/v1/payment-methods` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"templateId":{"type":"string"},"description":{"type":"string"},"icon":{"type":"string"},"currencies":{"type":"array"},"receiverName":{"type":"string"},"accountName":{"type":"string"},"bankName":{"type":"string"},"bankCode":{"type":"string"},"walletNetwork":{"type":"string"},"network":{"type":"string"},"agentLocation":{"type":"string"},"agentPhone":{"type":"string"},"customFields":{"type":"array"},"verificationMode":{"type":"string"},"autoVerifyRules":{"type":"array"},"qrData":{"type":"string"},"maxAmount":{"type":"number"},"dailyLimit":{"type":"number"},"monthlyLimit":{"type":"number"},"percentageFee":{"type":"number"},"feeType":{"type":"string","enum":["inclusive","exclusive"]},"processingTimeMax":{"type":"number"},"processingTimeUnit":{"type":"string","enum":["minutes","hours","days"]},"isActive":{"type":"boolean"},"sortOrder":{"type":"number"}},"required":["templateId"]},"example":{"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}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-proofs/{id}/review":{"post":{"tags":["Payment proofs"],"summary":"Create review","description":"`POST /api/v1/payment-proofs/{id}/review` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string","enum":["approve","reject"]},"notes":{"type":"string"},"rejectionReason":{"type":"string"}},"required":["action"]},"example":{"action":"approve","notes":"example-notes","rejectionReason":"example-rejectionReason"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-proofs/{id}":{"get":{"tags":["Payment proofs"],"summary":"Get payment proofs","description":"`GET /api/v1/payment-proofs/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-proofs":{"get":{"tags":["Payment proofs"],"summary":"List payment proofs","description":"`GET /api/v1/payment-proofs` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-requests":{"get":{"tags":["Payment Requests"],"summary":"List payment requests","description":"`GET /api/v1/payment-requests` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Payment Requests"],"summary":"Create payment requests","description":"`POST /api/v1/payment-requests` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"string"},"currency":{"type":"string"},"recipientPhone":{"type":"string"},"note":{"type":"string"},"requestId":{"type":"string"},"action":{"type":"string"},"stepUpVerified":{"type":"string"},"reason":{"type":"string"},"details":{"type":"string"}},"required":["recipientPhone","requestId","action","stepUpVerified"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Payment Requests"],"summary":"Update payment requests","description":"`PATCH /api/v1/payment-requests` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"string"},"currency":{"type":"string"},"recipientPhone":{"type":"string"},"note":{"type":"string"},"requestId":{"type":"string"},"action":{"type":"string"},"stepUpVerified":{"type":"string"},"reason":{"type":"string"},"details":{"type":"string"}},"required":["recipientPhone","requestId","action","stepUpVerified"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-sessions/{id}/actions":{"post":{"tags":["Payment sessions"],"summary":"Create actions","description":"`POST /api/v1/payment-sessions/{id}/actions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"reason":{"type":"string"},"notes":{"type":"string"},"amount":{"type":"number"},"proofData":{"type":"string","enum":["screenshot","reference","receipt","transaction_id"]},"type":{"type":"string","enum":["screenshot","reference","receipt","transaction_id"]},"reference":{"type":"string"},"senderName":{"type":"string"},"senderPhone":{"type":"string"},"senderEmail":{"type":"string"},"fileUrl":{"type":"string"}},"required":["action","reason"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-sessions/{id}/events":{"get":{"tags":["Payment sessions"],"summary":"List events","description":"`GET /api/v1/payment-sessions/{id}/events` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-sessions/{id}":{"get":{"tags":["Payment sessions"],"summary":"Get payment sessions","description":"`GET /api/v1/payment-sessions/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-sessions":{"get":{"tags":["Payment sessions"],"summary":"List payment sessions","description":"`GET /api/v1/payment-sessions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Payment sessions"],"summary":"Create payment sessions","description":"`POST /api/v1/payment-sessions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"paymentMethodId":{"type":"string"},"amount":{"type":"number"},"currency":{"type":"string"},"externalOrderId":{"type":"string"},"destinationCountry":{"type":"string"},"webhookUrl":{"type":"string"},"statuses":{"type":"string"},"fromDate":{"type":"string"},"toDate":{"type":"string"},"page":{"type":"number"},"limit":{"type":"number"},"sortBy":{"type":"string","enum":["createdAt","amount","status"]},"sortOrder":{"type":"string","enum":["asc","desc"]}},"required":["paymentMethodId","amount","currency"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-sessions/stats":{"get":{"tags":["Payment sessions"],"summary":"List stats","description":"`GET /api/v1/payment-sessions/stats` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-templates/{id}":{"get":{"tags":["Payment templates"],"summary":"Get payment templates","description":"`GET /api/v1/payment-templates/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Payment templates"],"summary":"Update payment templates","description":"`PATCH /api/v1/payment-templates/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array"},"currencies":{"type":"array"},"icon":{"type":"string"},"requiredFields":{"type":"array"},"proofFields":{"type":"array"},"verificationModes":{"type":"array"},"defaultVerificationMode":{"type":"string"},"qrSupported":{"type":"boolean"},"qrMetadata":{"type":"object"},"metadata":{"type":"object"},"sortOrder":{"type":"number"},"key":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"options":{"type":"array"},"value":{"type":"string"}},"required":["key","label","type","value"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Payment templates"],"summary":"Delete payment templates","description":"`DELETE /api/v1/payment-templates/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-templates":{"get":{"tags":["Payment templates"],"summary":"List payment templates","description":"`GET /api/v1/payment-templates` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Payment templates"],"summary":"Create payment templates","description":"`POST /api/v1/payment-templates` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"description":{"type":"string"},"countries":{"type":"array"},"currencies":{"type":"array"},"icon":{"type":"string"},"requiredFields":{"type":"array"},"proofFields":{"type":"array"},"verificationModes":{"type":"array"},"defaultVerificationMode":{"type":"string"},"qrSupported":{"type":"boolean"},"qrMetadata":{"type":"object"},"metadata":{"type":"object"},"sortOrder":{"type":"number"},"key":{"type":"string"},"label":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"options":{"type":"array"},"value":{"type":"string"}},"required":["code","name","type","key","label","value"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment-templates/seed":{"post":{"tags":["Payment templates"],"summary":"Create seed","description":"`POST /api/v1/payment-templates/seed` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payment/session/{sessionId}":{"get":{"tags":["Payment"],"summary":"Get session","description":"`GET /api/v1/payment/session/{sessionId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"sessionId","in":"path","required":true,"description":"sessionId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payments/chapa/initialize":{"get":{"tags":["Payment Processing"],"summary":"List initialize","description":"`GET /api/v1/payments/chapa/initialize` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Payment Processing"],"summary":"Create initialize","description":"`POST /api/v1/payments/chapa/initialize` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]}},"/payments/checkout":{"get":{"tags":["Payment Processing"],"summary":"List checkout","description":"`GET /api/v1/payments/checkout` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Payment Processing"],"summary":"Create checkout","description":"`POST /api/v1/payments/checkout` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]}},"/payments/corridors":{"get":{"tags":["Payment Processing"],"summary":"List corridors","description":"`GET /api/v1/payments/corridors` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"sourceCurrency","in":"query","required":false,"description":"sourceCurrency query parameter","schema":{"type":"string"}},{"name":"destinationCountry","in":"query","required":false,"description":"destinationCountry query parameter","schema":{"type":"string"}},{"name":"destinationCurrency","in":"query","required":false,"description":"destinationCurrency query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payments/detect-sms":{"post":{"tags":["Payment Processing"],"summary":"Create detect sms","description":"`POST /api/v1/payments/detect-sms` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"smsBody":{"type":"string"},"sender":{"type":"string"},"sessionId":{"type":"string"},"timestamp":{"type":"string"}},"required":["smsBody","sender"]},"example":{"smsBody":"example-smsBody","sender":"example-sender","sessionId":"example-sessionId","timestamp":"example-timestamp"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]}},"/payments/merchant":{"post":{"tags":["Payment Processing"],"summary":"Create merchant","description":"`POST /api/v1/payments/merchant` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"kycStatus":{"type":"string"}}},"example":{"code":"example-code","kycStatus":"example-kycStatus"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]}},"/payments/quote":{"post":{"tags":["Payment Processing"],"summary":"Create quote","description":"`POST /api/v1/payments/quote` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"sourceAmount":{"type":"string"},"sourceCurrency":{"type":"string"},"targetCurrency":{"type":"string"},"type":{"type":"string"},"corridor":{"type":"string"},"provider":{"type":"string"},"paymentMethod":{"type":"string"}}},"example":{"sourceAmount":"example-sourceAmount","sourceCurrency":"example-sourceCurrency","targetCurrency":"example-targetCurrency","type":"example-type","corridor":"example-corridor","provider":"example-provider","paymentMethod":"example-paymentMethod"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]}},"/payments/send":{"post":{"tags":["Payment Processing"],"summary":"Create send","description":"`POST /api/v1/payments/send` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"recipientPhone":{"type":"string"},"recipientEmail":{"type":"string"},"recipientName":{"type":"string"},"country":{"type":"string"},"amount":{"type":"string"},"currency":{"type":"string"},"type":{"type":"string"},"metadata":{"type":"string"}},"required":["amount"]},"example":{"recipientPhone":"example-recipientPhone","recipientEmail":"example-recipientEmail","recipientName":"example-recipientName","country":"example-country","amount":"example-amount","currency":"example-currency","type":"example-type","metadata":"example-metadata"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]}},"/payments/stream/{sessionId}":{"get":{"tags":["Payment Processing"],"summary":"Get stream","description":"`GET /api/v1/payments/stream/{sessionId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"sessionId","in":"path","required":true,"description":"sessionId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payments/stripe/checkout":{"post":{"tags":["Payment Processing"],"summary":"Create checkout","description":"`POST /api/v1/payments/stripe/checkout` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]}},"/payments/stripe/create-intent":{"post":{"tags":["Payment Processing"],"summary":"Create create intent","description":"`POST /api/v1/payments/stripe/create-intent` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]}},"/payments/stripe/verify":{"get":{"tags":["Payment Processing"],"summary":"List verify","description":"`GET /api/v1/payments/stripe/verify` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"session_id","in":"query","required":false,"description":"session_id query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/payments/webhook/{provider}":{"post":{"tags":["Payment Processing"],"summary":"Create webhook","description":"`POST /api/v1/payments/webhook/{provider}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"},{"name":"provider","in":"path","required":true,"description":"provider identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/pin/set":{"post":{"tags":["Pin"],"summary":"Create set","description":"`POST /api/v1/pin/set` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"pin":{"type":"string"},"confirmPin":{"type":"string"},"currentPin":{"type":"string"}},"required":["currentPin"]},"example":{"pin":"example-pin","confirmPin":"example-confirmPin","currentPin":"example-currentPin"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/pin/status":{"get":{"tags":["Pin"],"summary":"List status","description":"`GET /api/v1/pin/status` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/pin/verify":{"post":{"tags":["Pin"],"summary":"Create verify","description":"`POST /api/v1/pin/verify` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"pin":{"type":"string"}}},"example":{"pin":"example-pin"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/product-modules/my":{"get":{"tags":["Product modules"],"summary":"List my","description":"`GET /api/v1/product-modules/my` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/product":{"get":{"tags":["Product"],"summary":"List product","description":"`GET /api/v1/product` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"query","required":false,"description":"id query parameter","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"category query parameter","schema":{"type":"string"}},{"name":"search","in":"query","required":false,"description":"search query parameter","schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"description":"sort query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"offset query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Product"],"summary":"Create product","description":"`POST /api/v1/product` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"query","required":false,"description":"id query parameter","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"category query parameter","schema":{"type":"string"}},{"name":"search","in":"query","required":false,"description":"search query parameter","schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"description":"sort query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"offset query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"merchantId":{"type":"string"},"productId":{"type":"string"}},"required":["merchantId"]},"example":{"action":"example-action","merchantId":"example-merchantId","productId":"example-productId"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/providers/available":{"get":{"tags":["Providers"],"summary":"List available","description":"`GET /api/v1/providers/available` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"country","in":"query","required":false,"description":"country query parameter","schema":{"type":"string"}},{"name":"currency","in":"query","required":false,"description":"currency query parameter","schema":{"type":"string"}},{"name":"environment","in":"query","required":false,"description":"environment query parameter","schema":{"type":"string"}},{"name":"includeUnavailable","in":"query","required":false,"description":"includeUnavailable query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/providers/check":{"post":{"tags":["Providers"],"summary":"Create check","description":"`POST /api/v1/providers/check` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"providerCode":{"type":"string"},"amount":{"type":"string"},"environment":{"type":"string"}},"required":["providerCode"]},"example":{"providerCode":"example-providerCode","amount":"example-amount","environment":"example-environment"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/public/contact":{"get":{"tags":["Public"],"summary":"List contact","description":"`GET /api/v1/public/contact` — introspected from the live route handler.","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Public"],"summary":"Create contact","description":"`POST /api/v1/public/contact` — introspected from the live route handler.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string"},"email":{"type":"string"},"name":{"type":"string"},"company":{"type":"string"},"phone":{"type":"string"},"subject":{"type":"string"}},"required":["name"]},"example":{"type":"example-type","email":"example-email","name":"example-name","company":"example-company","phone":"example-phone","subject":"example-subject"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/public/fees":{"get":{"tags":["Public"],"summary":"List fees","description":"`GET /api/v1/public/fees` — introspected from the live route handler.","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/public/investor-leads":{"post":{"tags":["Public"],"summary":"Create investor leads","description":"`POST /api/v1/public/investor-leads` — introspected from the live route handler.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string"},"email":{"type":"string"},"name":{"type":"string"},"company":{"type":"string"},"investorType":{"type":"string"},"ticketSize":{"type":"string"}},"required":["name"]},"example":{"type":"example-type","email":"example-email","name":"example-name","company":"example-company","investorType":"example-investorType","ticketSize":"example-ticketSize"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/public/investor-metrics":{"get":{"tags":["Public"],"summary":"List investor metrics","description":"`GET /api/v1/public/investor-metrics` — introspected from the live route handler.","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/public/partners/{slug}":{"get":{"tags":["Public"],"summary":"Get partners","description":"`GET /api/v1/public/partners/{slug}` — introspected from the live route handler.","parameters":[{"name":"slug","in":"path","required":true,"description":"slug identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/public/tap/{tapSessionId}":{"get":{"tags":["Public"],"summary":"Get tap","description":"`GET /api/v1/public/tap/{tapSessionId}` — introspected from the live route handler.","parameters":[{"name":"tapSessionId","in":"path","required":true,"description":"tapSessionId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Public"],"summary":"Create tap","description":"`POST /api/v1/public/tap/{tapSessionId}` — introspected from the live route handler.","parameters":[{"name":"tapSessionId","in":"path","required":true,"description":"tapSessionId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/public/waitlist":{"post":{"tags":["Public"],"summary":"Create waitlist","description":"`POST /api/v1/public/waitlist` — introspected from the live route handler.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"country":{"type":"string"},"company":{"type":"string"},"role":{"type":"string"},"category":{"type":"string"},"expectedVolume":{"type":"string"},"consentContact":{"type":"string"},"consentPrivacy":{"type":"string"}},"required":["name","phone","country","category","consentContact","consentPrivacy"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/qr/{id}/image":{"get":{"tags":["QR Codes"],"summary":"List image","description":"`GET /api/v1/qr/{id}/image` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/qr/{id}/pay":{"post":{"tags":["QR Codes"],"summary":"Create pay","description":"`POST /api/v1/qr/{id}/pay` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"number"},"payerInfo":{"type":"object","format":"email"},"metadata":{"type":"object"},"name":{"type":"string"},"phone":{"type":"string"},"email":{"type":"string","format":"email"}}},"example":{"amount":0,"payerInfo":{},"metadata":{},"name":"example-name","phone":"example-phone","email":"user@example.com"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/qr/{id}/session":{"post":{"tags":["QR Codes"],"summary":"Create session","description":"`POST /api/v1/qr/{id}/session` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["QR Codes"],"summary":"Replace session","description":"`PUT /api/v1/qr/{id}/session` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/qr/{id}/smart-route":{"post":{"tags":["QR Codes"],"summary":"Create smart route","description":"`POST /api/v1/qr/{id}/smart-route` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/qr/generate":{"post":{"tags":["QR Codes"],"summary":"Create generate","description":"`POST /api/v1/qr/generate` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["static","dynamic","subscription"]},"standard":{"type":"string"},"amount":{"type":"number"},"currency":{"type":"string"},"country":{"type":"string"},"merchantName":{"type":"string"},"merchantCity":{"type":"string"},"description":{"type":"string"},"metadata":{"type":"object"},"expiresIn":{"type":"number"}}},"example":{"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}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/qr":{"get":{"tags":["QR Codes"],"summary":"List qr","description":"`GET /api/v1/qr` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"standard","in":"query","required":false,"description":"standard query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/qr/scan":{"post":{"tags":["QR Codes"],"summary":"Create scan","description":"`POST /api/v1/qr/scan` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"payload":{"type":"string"},"scannerInfo":{"type":"number"},"deviceId":{"type":"string"},"location":{"type":"number"},"userAgent":{"type":"string"},"lat":{"type":"number"},"lng":{"type":"number"}},"required":["payload","lat","lng"]},"example":{"payload":"example-payload","scannerInfo":0,"deviceId":"example-deviceId","location":0,"userAgent":"example-userAgent","lat":100,"lng":100}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/receipts/{receiptId}":{"get":{"tags":["Receipts"],"summary":"Get receipts","description":"`GET /api/v1/receipts/{receiptId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"receiptId","in":"path","required":true,"description":"receiptId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/remittance/{id}/pay":{"post":{"tags":["Remittance"],"summary":"Create pay","description":"`POST /api/v1/remittance/{id}/pay` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sender":{"type":"object","format":"email"},"name":{"type":"string"},"email":{"type":"string","format":"email"},"phone":{"type":"string"}},"required":["name","email"]},"example":{"sender":{},"name":"example-name","email":"user@example.com","phone":"example-phone"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/remittance/{id}":{"get":{"tags":["Remittance"],"summary":"Get remittance","description":"`GET /api/v1/remittance/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/remittance/claim":{"get":{"tags":["Remittance"],"summary":"List claim","description":"`GET /api/v1/remittance/claim` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"code","in":"query","required":false,"description":"code query parameter","schema":{"type":"string"}},{"name":"pin","in":"query","required":false,"description":"pin query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Remittance"],"summary":"Create claim","description":"`POST /api/v1/remittance/claim` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"code","in":"query","required":false,"description":"code query parameter","schema":{"type":"string"}},{"name":"pin","in":"query","required":false,"description":"pin query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"claimCode":{"type":"string"},"claimPin":{"type":"string"},"recipientIdNumber":{"type":"string"},"recipientIdType":{"type":"string"},"signature":{"type":"string"}},"required":["claimCode"]},"example":{"claimCode":"example-claimCode","claimPin":"example-claimPin","recipientIdNumber":"example-recipientIdNumber","recipientIdType":"example-recipientIdType","signature":"example-signature"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"options":{"tags":["Remittance"],"summary":"Options for claim","description":"`OPTIONS /api/v1/remittance/claim` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"code","in":"query","required":false,"description":"code query parameter","schema":{"type":"string"}},{"name":"pin","in":"query","required":false,"description":"pin query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/remittance/confirm":{"post":{"tags":["Remittance"],"summary":"Create confirm","description":"`POST /api/v1/remittance/confirm` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"transferId":{"type":"string"},"smsContent":{"type":"string"}},"required":["transferId","smsContent"]},"example":{"transferId":"example-transferId","smsContent":"example-smsContent"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/remittance/initiate":{"post":{"tags":["Remittance"],"summary":"Create initiate","description":"`POST /api/v1/remittance/initiate` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sendAmount":{"type":"string"},"sendCurrency":{"type":"string"},"receiveCurrency":{"type":"string"},"paymentMethod":{"type":"string"},"beneficiaryPhone":{"type":"string"},"beneficiaryName":{"type":"string"},"note":{"type":"string"},"type":{"type":"string"}},"required":["sendAmount","paymentMethod","beneficiaryPhone"]},"example":{"sendAmount":"example-sendAmount","sendCurrency":"example-sendCurrency","receiveCurrency":"example-receiveCurrency","paymentMethod":"example-paymentMethod","beneficiaryPhone":"example-beneficiaryPhone","beneficiaryName":"example-beneficiaryName","note":"example-note","type":"example-type"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/remittance/quote":{"get":{"tags":["Remittance"],"summary":"List quote","description":"`GET /api/v1/remittance/quote` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"sendAmount","in":"query","required":false,"description":"sendAmount query parameter","schema":{"type":"string"}},{"name":"sendCurrency","in":"query","required":false,"description":"sendCurrency query parameter","schema":{"type":"string"}},{"name":"from","in":"query","required":false,"description":"from query parameter","schema":{"type":"string"}},{"name":"receiveCurrency","in":"query","required":false,"description":"receiveCurrency query parameter","schema":{"type":"string"}},{"name":"currency","in":"query","required":false,"description":"currency query parameter","schema":{"type":"string"}},{"name":"to","in":"query","required":false,"description":"to query parameter","schema":{"type":"string"}},{"name":"amount","in":"query","required":false,"description":"amount query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Remittance"],"summary":"Create quote","description":"`POST /api/v1/remittance/quote` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"sendAmount","in":"query","required":false,"description":"sendAmount query parameter","schema":{"type":"string"}},{"name":"sendCurrency","in":"query","required":false,"description":"sendCurrency query parameter","schema":{"type":"string"}},{"name":"from","in":"query","required":false,"description":"from query parameter","schema":{"type":"string"}},{"name":"receiveCurrency","in":"query","required":false,"description":"receiveCurrency query parameter","schema":{"type":"string"}},{"name":"currency","in":"query","required":false,"description":"currency query parameter","schema":{"type":"string"}},{"name":"to","in":"query","required":false,"description":"to query parameter","schema":{"type":"string"}},{"name":"amount","in":"query","required":false,"description":"amount query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"receiverAmount":{"type":"string"},"receiverCurrency":{"type":"string"},"senderCurrency":{"type":"string"}},"required":["receiverAmount"]},"example":{"receiverAmount":"example-receiverAmount","receiverCurrency":"example-receiverCurrency","senderCurrency":"example-senderCurrency"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/remittance/rates":{"get":{"tags":["Remittance"],"summary":"List rates","description":"`GET /api/v1/remittance/rates` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"action","in":"query","required":false,"description":"action query parameter","schema":{"type":"string"}},{"name":"corridor","in":"query","required":false,"description":"corridor query parameter","schema":{"type":"string"}},{"name":"amount","in":"query","required":false,"description":"amount query parameter","schema":{"type":"string"}},{"name":"express","in":"query","required":false,"description":"express query parameter","schema":{"type":"string"}},{"name":"doorDelivery","in":"query","required":false,"description":"doorDelivery query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"options":{"tags":["Remittance"],"summary":"Options for rates","description":"`OPTIONS /api/v1/remittance/rates` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"action","in":"query","required":false,"description":"action query parameter","schema":{"type":"string"}},{"name":"corridor","in":"query","required":false,"description":"corridor query parameter","schema":{"type":"string"}},{"name":"amount","in":"query","required":false,"description":"amount query parameter","schema":{"type":"string"}},{"name":"express","in":"query","required":false,"description":"express query parameter","schema":{"type":"string"}},{"name":"doorDelivery","in":"query","required":false,"description":"doorDelivery query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/remittance":{"get":{"tags":["Remittance"],"summary":"List remittance","description":"`GET /api/v1/remittance` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"action","in":"query","required":false,"description":"action query parameter","schema":{"type":"string"}},{"name":"from","in":"query","required":false,"description":"from query parameter","schema":{"type":"string"}},{"name":"to","in":"query","required":false,"description":"to query parameter","schema":{"type":"string"}},{"name":"amount","in":"query","required":false,"description":"amount query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Remittance"],"summary":"Create remittance","description":"`POST /api/v1/remittance` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"action","in":"query","required":false,"description":"action query parameter","schema":{"type":"string"}},{"name":"from","in":"query","required":false,"description":"from query parameter","schema":{"type":"string"}},{"name":"to","in":"query","required":false,"description":"to query parameter","schema":{"type":"string"}},{"name":"amount","in":"query","required":false,"description":"amount query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"corridor":{"type":"string"},"sendMethod":{"type":"string"},"receiveMethod":{"type":"string"},"sendAmount":{"type":"string"},"beneficiary":{"type":"string"},"beneficiaryId":{"type":"string"},"sendCurrency":{"type":"string"},"receiveCurrency":{"type":"string"},"purpose":{"type":"string"},"paymentMethod":{"type":"string"},"recipientPhone":{"type":"string"},"recipientName":{"type":"string"},"transferId":{"type":"string"},"amount":{"type":"string"},"reference":{"type":"string"},"proof":{"type":"string"},"method":{"type":"string"},"senderDetails":{"type":"string"},"stepUpToken":{"type":"string"},"idempotencyKey":{"type":"string"},"quoteId":{"type":"string"},"recipientAccount":{"type":"string"}},"required":["action","beneficiary"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/remittance/send":{"post":{"tags":["Remittance"],"summary":"Create send","description":"`POST /api/v1/remittance/send` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"corridor":{"type":"string"},"sendAmount":{"type":"string"},"recipientPhone":{"type":"string"},"recipientName":{"type":"string"},"paymentMethod":{"type":"string"},"express":{"type":"string"},"doorDelivery":{"type":"string"},"note":{"type":"string"},"transfers":{"type":"string"},"action":{"type":"string"}},"required":["corridor","sendAmount","recipientPhone","recipientName","transfers"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"options":{"tags":["Remittance"],"summary":"Options for send","description":"`OPTIONS /api/v1/remittance/send` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/remittance/status/{reference}":{"get":{"tags":["Remittance"],"summary":"Get status","description":"`GET /api/v1/remittance/status/{reference}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"reference","in":"path","required":true,"description":"reference identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/reports":{"get":{"tags":["Reports"],"summary":"List reports","description":"`GET /api/v1/reports` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Reports"],"summary":"Create reports","description":"`POST /api/v1/reports` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/requests/{requestId}/pay":{"post":{"tags":["Requests"],"summary":"Create pay","description":"`POST /api/v1/requests/{requestId}/pay` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"requestId","in":"path","required":true,"description":"requestId identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"payerName":{"type":"string"},"payerEmail":{"type":"string"},"payerPhone":{"type":"string"},"amount":{"type":"string"},"currency":{"type":"string"},"paymentMethod":{"type":"string"}},"required":["payerName","payerEmail","payerPhone","amount"]},"example":{"payerName":"example-payerName","payerEmail":"example-payerEmail","payerPhone":"example-payerPhone","amount":"example-amount","currency":"example-currency","paymentMethod":"example-paymentMethod"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/requests/{requestId}":{"get":{"tags":["Requests"],"summary":"Get requests","description":"`GET /api/v1/requests/{requestId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"requestId","in":"path","required":true,"description":"requestId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/requests/{requestId}/status":{"get":{"tags":["Requests"],"summary":"List status","description":"`GET /api/v1/requests/{requestId}/status` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"requestId","in":"path","required":true,"description":"requestId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/requests/create":{"post":{"tags":["Requests"],"summary":"Create create","description":"`POST /api/v1/requests/create` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amountGoal":{"type":"string"},"currency":{"type":"string"},"reason":{"type":"string"},"type":{"type":"string"},"customSlug":{"type":"string"},"recurring":{"type":"string"},"recurrenceInterval":{"type":"string"},"teamMembers":{"type":"string"},"expiryDays":{"type":"string"}},"required":["amountGoal"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]}},"/requests/my":{"get":{"tags":["Requests"],"summary":"List my","description":"`GET /api/v1/requests/my` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/restaurant/merchant/tables":{"get":{"tags":["Restaurant"],"summary":"List tables","description":"`GET /api/v1/restaurant/merchant/tables` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/restaurant/table/{tableId}/pay":{"post":{"tags":["Restaurant"],"summary":"Create pay","description":"`POST /api/v1/restaurant/table/{tableId}/pay` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"tableId","in":"path","required":true,"description":"tableId identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"phone":{"type":"string"},"otp":{"type":"string"},"amount":{"type":"string"}},"required":["phone","otp","amount"]},"example":{"phone":"example-phone","otp":"example-otp","amount":"example-amount"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/restaurant/table/{tableId}":{"get":{"tags":["Restaurant"],"summary":"Get table","description":"`GET /api/v1/restaurant/table/{tableId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"tableId","in":"path","required":true,"description":"tableId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Restaurant"],"summary":"Update table","description":"`PATCH /api/v1/restaurant/table/{tableId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"tableId","in":"path","required":true,"description":"tableId identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"billAmount":{"type":"string"},"reason":{"type":"string"}},"required":["billAmount"]},"example":{"action":"example-action","billAmount":"example-billAmount","reason":"example-reason"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/restaurant/table/{tableId}/stream":{"get":{"tags":["Restaurant"],"summary":"List stream","description":"`GET /api/v1/restaurant/table/{tableId}/stream` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"tableId","in":"path","required":true,"description":"tableId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/restaurant/table/create":{"post":{"tags":["Restaurant"],"summary":"Create create","description":"`POST /api/v1/restaurant/table/create` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"merchantId":{"type":"string"},"tableNumber":{"type":"string"},"billAmount":{"type":"string"},"currency":{"type":"string"}},"required":["merchantId","tableNumber","billAmount"]},"example":{"merchantId":"example-merchantId","tableNumber":"example-tableNumber","billAmount":"example-billAmount","currency":"example-currency"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/routing/ai/metrics":{"get":{"tags":["Routing"],"summary":"List metrics","description":"`GET /api/v1/routing/ai/metrics` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"days","in":"query","required":false,"description":"days query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/routing/ai":{"get":{"tags":["Routing"],"summary":"List ai","description":"`GET /api/v1/routing/ai` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"amount","in":"query","required":false,"description":"amount query parameter","schema":{"type":"string"}},{"name":"srcCurrency","in":"query","required":false,"description":"srcCurrency query parameter","schema":{"type":"string"}},{"name":"dstCurrency","in":"query","required":false,"description":"dstCurrency query parameter","schema":{"type":"string"}},{"name":"srcCountry","in":"query","required":false,"description":"srcCountry query parameter","schema":{"type":"string"}},{"name":"dstCountry","in":"query","required":false,"description":"dstCountry query parameter","schema":{"type":"string"}},{"name":"preference","in":"query","required":false,"description":"preference query parameter","schema":{"type":"string"}},{"name":"transactionId","in":"query","required":false,"description":"transactionId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Routing"],"summary":"Create ai","description":"`POST /api/v1/routing/ai` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"amount","in":"query","required":false,"description":"amount query parameter","schema":{"type":"string"}},{"name":"srcCurrency","in":"query","required":false,"description":"srcCurrency query parameter","schema":{"type":"string"}},{"name":"dstCurrency","in":"query","required":false,"description":"dstCurrency query parameter","schema":{"type":"string"}},{"name":"srcCountry","in":"query","required":false,"description":"srcCountry query parameter","schema":{"type":"string"}},{"name":"dstCountry","in":"query","required":false,"description":"dstCountry query parameter","schema":{"type":"string"}},{"name":"preference","in":"query","required":false,"description":"preference query parameter","schema":{"type":"string"}},{"name":"transactionId","in":"query","required":false,"description":"transactionId query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"outcome":{"type":"string"}},"required":["transactionId","outcome"]},"example":{"transactionId":"example-transactionId","outcome":"example-outcome"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/routing/evaluate":{"post":{"tags":["Routing"],"summary":"Create evaluate","description":"`POST /api/v1/routing/evaluate` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sessionId":{"type":"string"},"amount":{"type":"number"},"currency":{"type":"string"},"country":{"type":"string"},"strategy":{"type":"string","enum":["manual","lowest_cost","fastest","highest_success","balanced","round_robin"]}},"required":["amount","currency"]},"example":{"sessionId":"example-sessionId","amount":100,"currency":"example-currency","country":"example-country","strategy":"manual"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/sandbox/entities/{type}":{"get":{"tags":["Sandbox"],"summary":"Get entities","description":"`GET /api/v1/sandbox/entities/{type}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"type","in":"path","required":true,"description":"type identifier","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/sandbox/keys/{id}":{"delete":{"tags":["Sandbox"],"summary":"Delete keys","description":"`DELETE /api/v1/sandbox/keys/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/sandbox/keys":{"get":{"tags":["Sandbox"],"summary":"List keys","description":"`GET /api/v1/sandbox/keys` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Sandbox"],"summary":"Create keys","description":"`POST /api/v1/sandbox/keys` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}}},"example":{"name":"example-name"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/sandbox/payments":{"post":{"tags":["Sandbox"],"summary":"Create payments","description":"`POST /api/v1/sandbox/payments` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"secretKey":{"type":"string"},"amount":{"type":"string"},"currency":{"type":"string"},"fromUserId":{"type":"string"},"toUserId":{"type":"string"},"cardLast4":{"type":"string"}},"required":["secretKey"]},"example":{"secretKey":"example-secretKey","amount":"example-amount","currency":"example-currency","fromUserId":"example-fromUserId","toUserId":"example-toUserId","cardLast4":"example-cardLast4"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/sandbox/reset":{"post":{"tags":["Sandbox"],"summary":"Create reset","description":"`POST /api/v1/sandbox/reset` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/sandbox/seed":{"post":{"tags":["Sandbox"],"summary":"Create seed","description":"`POST /api/v1/sandbox/seed` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"force":{"type":"string"}}},"example":{"force":"example-force"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/sandbox/status":{"get":{"tags":["Sandbox"],"summary":"List status","description":"`GET /api/v1/sandbox/status` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/sandbox/teardown":{"post":{"tags":["Sandbox"],"summary":"Create teardown","description":"`POST /api/v1/sandbox/teardown` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/search":{"get":{"tags":["Search"],"summary":"List search","description":"`GET /api/v1/search` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"q","in":"query","required":false,"description":"q query parameter","schema":{"type":"string"}},{"name":"query","in":"query","required":false,"description":"query query parameter","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"category query parameter","schema":{"type":"string"}},{"name":"minPrice","in":"query","required":false,"description":"minPrice query parameter","schema":{"type":"string"}},{"name":"maxPrice","in":"query","required":false,"description":"maxPrice query parameter","schema":{"type":"string"}},{"name":"currency","in":"query","required":false,"description":"currency query parameter","schema":{"type":"string"}},{"name":"merchantId","in":"query","required":false,"description":"merchantId query parameter","schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"description":"sort query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"offset query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Search"],"summary":"Create search","description":"`POST /api/v1/search` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"q","in":"query","required":false,"description":"q query parameter","schema":{"type":"string"}},{"name":"query","in":"query","required":false,"description":"query query parameter","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"category query parameter","schema":{"type":"string"}},{"name":"minPrice","in":"query","required":false,"description":"minPrice query parameter","schema":{"type":"string"}},{"name":"maxPrice","in":"query","required":false,"description":"maxPrice query parameter","schema":{"type":"string"}},{"name":"currency","in":"query","required":false,"description":"currency query parameter","schema":{"type":"string"}},{"name":"merchantId","in":"query","required":false,"description":"merchantId query parameter","schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"description":"sort query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"offset query parameter","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"query":{"type":"string"},"filters":{"type":"string"}}},"example":{"action":"example-action","query":"example-query","filters":"example-filters"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/sms/detect":{"post":{"tags":["Sms"],"summary":"Create detect","description":"`POST /api/v1/sms/detect` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"smsContent":{"type":"string"},"smsSender":{"type":"string"},"smsTimestamp":{"type":"string"},"deviceId":{"type":"string"},"deviceModel":{"type":"string"},"appVersion":{"type":"string"},"transferId":{"type":"string"},"parsedData":{"type":"string"}},"required":["smsContent","parsedData"]},"example":{"smsContent":"example-smsContent","smsSender":"example-smsSender","smsTimestamp":"example-smsTimestamp","deviceId":"example-deviceId","deviceModel":"example-deviceModel","appVersion":"example-appVersion","transferId":"example-transferId","parsedData":"example-parsedData"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/softpos/devices/{deviceId}":{"get":{"tags":["Softpos"],"summary":"Get devices","description":"`GET /api/v1/softpos/devices/{deviceId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"deviceId","in":"path","required":true,"description":"deviceId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Softpos"],"summary":"Update devices","description":"`PATCH /api/v1/softpos/devices/{deviceId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"deviceId","in":"path","required":true,"description":"deviceId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/softpos/devices":{"get":{"tags":["Softpos"],"summary":"List devices","description":"`GET /api/v1/softpos/devices` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Softpos"],"summary":"Create devices","description":"`POST /api/v1/softpos/devices` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/softpos/tap/{tapSessionId}":{"get":{"tags":["Softpos"],"summary":"Get tap","description":"`GET /api/v1/softpos/tap/{tapSessionId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"tapSessionId","in":"path","required":true,"description":"tapSessionId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Softpos"],"summary":"Create tap","description":"`POST /api/v1/softpos/tap/{tapSessionId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"tapSessionId","in":"path","required":true,"description":"tapSessionId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/softpos/tap":{"post":{"tags":["Softpos"],"summary":"Create tap","description":"`POST /api/v1/softpos/tap` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/softpos/transactions":{"get":{"tags":["Softpos"],"summary":"List transactions","description":"`GET /api/v1/softpos/transactions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/status/health":{"get":{"tags":["Status"],"summary":"List health","description":"`GET /api/v1/status/health` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"system","in":"query","required":false,"description":"system query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/status/incidents":{"get":{"tags":["Status"],"summary":"List incidents","description":"`GET /api/v1/status/incidents` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/subscriptions":{"get":{"tags":["Subscriptions"],"summary":"List subscriptions","description":"`GET /api/v1/subscriptions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"action","in":"query","required":false,"description":"action query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Subscriptions"],"summary":"Create subscriptions","description":"`POST /api/v1/subscriptions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"action","in":"query","required":false,"description":"action query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"planId":{"type":"string"},"paymentMethod":{"type":"string"},"reason":{"type":"string"},"newPlanId":{"type":"string"}}},"example":{"action":"example-action","planId":"example-planId","paymentMethod":"example-paymentMethod","reason":"example-reason","newPlanId":"example-newPlanId"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/support/tickets/{ticketId}":{"get":{"tags":["Support Ticketing"],"summary":"Get tickets","description":"`GET /api/v1/support/tickets/{ticketId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"ticketId","in":"path","required":true,"description":"ticketId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Support Ticketing"],"summary":"Create tickets","description":"`POST /api/v1/support/tickets/{ticketId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"ticketId","in":"path","required":true,"description":"ticketId identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"string"},"attachments":{"type":"string"}},"required":["content"]},"example":{"content":"example-content","attachments":"example-attachments"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/support/tickets":{"get":{"tags":["Support Ticketing"],"summary":"List tickets","description":"`GET /api/v1/support/tickets` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"skip","in":"query","required":false,"description":"skip query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Support Ticketing"],"summary":"Create tickets","description":"`POST /api/v1/support/tickets` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"skip","in":"query","required":false,"description":"skip query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"subject":{"type":"string"},"description":{"type":"string"},"category":{"type":"string"},"priority":{"type":"string"},"subcategory":{"type":"string"},"transactionId":{"type":"string"},"disputeId":{"type":"string"},"orderId":{"type":"string"},"attachments":{"type":"string"},"tags":{"type":"string"}},"required":["subject","description","category"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/tap/{tapSessionId}/pay":{"post":{"tags":["Tap"],"summary":"Create pay","description":"`POST /api/v1/tap/{tapSessionId}/pay` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"tapSessionId","in":"path","required":true,"description":"tapSessionId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/tenant/legal-pages":{"get":{"tags":["Tenant"],"summary":"List legal pages","description":"`GET /api/v1/tenant/legal-pages` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"slug","in":"query","required":false,"description":"slug query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Tenant"],"summary":"Replace legal pages","description":"`PUT /api/v1/tenant/legal-pages` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"slug","in":"query","required":false,"description":"slug query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Tenant"],"summary":"Delete legal pages","description":"`DELETE /api/v1/tenant/legal-pages` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"slug","in":"query","required":false,"description":"slug query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/tenant/roles":{"get":{"tags":["Tenant"],"summary":"List roles","description":"`GET /api/v1/tenant/roles` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"roleKey","in":"query","required":false,"description":"roleKey query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Tenant"],"summary":"Replace roles","description":"`PUT /api/v1/tenant/roles` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"roleKey","in":"query","required":false,"description":"roleKey query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Tenant"],"summary":"Delete roles","description":"`DELETE /api/v1/tenant/roles` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"roleKey","in":"query","required":false,"description":"roleKey query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/tenant/settings":{"get":{"tags":["Tenant"],"summary":"List settings","description":"`GET /api/v1/tenant/settings` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Tenant"],"summary":"Replace settings","description":"`PUT /api/v1/tenant/settings` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/token/market":{"get":{"tags":["Token"],"summary":"List market","description":"`GET /api/v1/token/market` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"side","in":"query","required":false,"description":"side query parameter","schema":{"type":"string"}},{"name":"amount","in":"query","required":false,"description":"amount query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Token"],"summary":"Create market","description":"`POST /api/v1/token/market` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"side","in":"query","required":false,"description":"side query parameter","schema":{"type":"string"}},{"name":"amount","in":"query","required":false,"description":"amount query parameter","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"side":{"type":"string"},"amnAmount":{"type":"string"},"amount":{"type":"string"}}},"example":{"action":"example-action","side":"example-side","amnAmount":"example-amnAmount","amount":"example-amount"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/token":{"get":{"tags":["Token"],"summary":"List token","description":"`GET /api/v1/token` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"action","in":"query","required":false,"description":"action query parameter","schema":{"type":"string"}},{"name":"userId","in":"query","required":false,"description":"userId query parameter","schema":{"type":"string"}},{"name":"baseFee","in":"query","required":false,"description":"baseFee query parameter","schema":{"type":"string"}},{"name":"agentId","in":"query","required":false,"description":"agentId query parameter","schema":{"type":"string"}},{"name":"developerId","in":"query","required":false,"description":"developerId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Token"],"summary":"Create token","description":"`POST /api/v1/token` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"action","in":"query","required":false,"description":"action query parameter","schema":{"type":"string"}},{"name":"userId","in":"query","required":false,"description":"userId query parameter","schema":{"type":"string"}},{"name":"baseFee","in":"query","required":false,"description":"baseFee query parameter","schema":{"type":"string"}},{"name":"agentId","in":"query","required":false,"description":"agentId query parameter","schema":{"type":"string"}},{"name":"developerId","in":"query","required":false,"description":"developerId query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"agentId":{"type":"string"},"actionType":{"type":"string"},"metadata":{"type":"string"},"developerId":{"type":"string"},"userId":{"type":"string"},"amount":{"type":"string"},"tier":{"type":"string"},"creatorId":{"type":"string"},"proposalType":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"parameters":{"type":"string"},"proposalId":{"type":"string"},"voterId":{"type":"string"},"voteDirection":{"type":"string"},"amnBalance":{"type":"string"},"feature":{"type":"string"},"condition":{"type":"string"},"met":{"type":"string"}},"required":["agentId","actionType","developerId","userId","amount","creatorId","proposalType","title","proposalId","voterId","voteDirection","feature","condition"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transactions/validate":{"post":{"tags":["Transfers"],"summary":"Create validate","description":"`POST /api/v1/transactions/validate` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"transactionType":{"type":"string"},"amount":{"type":"string"},"currency":{"type":"string"},"country":{"type":"string"},"partnerId":{"type":"string"},"bankCode":{"type":"string"},"merchantId":{"type":"string"},"agentId":{"type":"string"},"agentTier":{"type":"string"},"riskScore":{"type":"string"},"referenceId":{"type":"string"},"featureKey":{"type":"string"}},"required":["transactionType"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transfers/{transferId}/cancel":{"post":{"tags":["Transfers"],"summary":"Cancel transfer","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/TransferId"}],"responses":{"200":{"description":"Transfer cancelled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transfers/{transferId}/claim":{"post":{"tags":["Transfers"],"summary":"Claim transfer","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/TransferId"}],"responses":{"200":{"description":"Transfer claimed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transfers/{transferId}":{"get":{"tags":["Transfers"],"summary":"Get transfer","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/TransferId"}],"responses":{"200":{"description":"Transfer","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transfers/bypass/confirm":{"post":{"tags":["Transfers"],"summary":"Create confirm","description":"`POST /api/v1/transfers/bypass/confirm` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"transferId":{"type":"string"},"txnId":{"type":"string"},"adminKey":{"type":"string"}},"required":["transferId"]},"example":{"transferId":"example-transferId","txnId":"example-txnId","adminKey":"example-adminKey"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transfers/bypass":{"get":{"tags":["Transfers"],"summary":"List bypass","description":"`GET /api/v1/transfers/bypass` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"query","required":false,"description":"id query parameter","schema":{"type":"string"}},{"name":"phone","in":"query","required":false,"description":"phone query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Transfers"],"summary":"Create bypass","description":"`POST /api/v1/transfers/bypass` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"query","required":false,"description":"id query parameter","schema":{"type":"string"}},{"name":"phone","in":"query","required":false,"description":"phone query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"senderPhone":{"type":"string"},"recipientPhone":{"type":"string"},"recipientName":{"type":"string"},"sourceAmount":{"type":"number"},"sourceCurrency":{"type":"string"},"targetCurrency":{"type":"string"},"sourceProvider":{"type":"string"}},"required":["senderPhone","recipientPhone","sourceAmount","sourceCurrency","targetCurrency","sourceProvider"]},"example":{"senderPhone":"example-senderPhone","recipientPhone":"example-recipientPhone","recipientName":"example-recipientName","sourceAmount":100,"sourceCurrency":"example-sourceCurrency","targetCurrency":"example-targetCurrency","sourceProvider":"example-sourceProvider"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transfers/bypass/verify":{"post":{"tags":["Transfers"],"summary":"Create verify","description":"`POST /api/v1/transfers/bypass/verify` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"transferId":{"type":"string"},"reference":{"type":"string"},"transactionId":{"type":"string"},"smsContent":{"type":"string"}},"required":["transferId","reference","transactionId","smsContent"]},"example":{"transferId":"example-transferId","reference":"example-reference","transactionId":"example-transactionId","smsContent":"example-smsContent"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transfers/claim/{code}":{"get":{"tags":["Transfers"],"summary":"Inspect claim code","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Claimable transfer details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Transfers"],"summary":"Create claim","description":"`POST /api/v1/transfers/claim/{code}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"code","in":"path","required":true,"description":"code identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"phone":{"type":"string"},"password":{"type":"string"},"otpVerified":{"type":"string"}},"required":["name","phone","password","otpVerified"]},"example":{"name":"example-name","phone":"example-phone","password":"YourPassword123!","otpVerified":"example-otpVerified"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transfers/claim/execute":{"post":{"tags":["Transfers"],"summary":"Create execute","description":"`POST /api/v1/transfers/claim/execute` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sessionId":{"type":"string"},"otp":{"type":"string"},"claimCode":{"type":"string"}},"required":["sessionId","otp","claimCode"]},"example":{"sessionId":"example-sessionId","otp":"example-otp","claimCode":"example-claimCode"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transfers/claim/prepare":{"post":{"tags":["Transfers"],"summary":"Create prepare","description":"`POST /api/v1/transfers/claim/prepare` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"transferId":{"type":"string"},"receiverIdentifier":{"type":"string"}},"required":["transferId","receiverIdentifier"]},"example":{"transferId":"example-transferId","receiverIdentifier":"example-receiverIdentifier"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transfers/confirm-payment":{"get":{"tags":["Transfers"],"summary":"List confirm payment","description":"`GET /api/v1/transfers/confirm-payment` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"transferId","in":"query","required":false,"description":"transferId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Transfers"],"summary":"Create confirm payment","description":"`POST /api/v1/transfers/confirm-payment` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"transferId","in":"query","required":false,"description":"transferId query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"transferId":{"type":"string"},"TrxID":{"type":"string"}},"required":["transferId"]},"example":{"transferId":"example-transferId","TrxID":"example-TrxID"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transfers/delivery-options":{"get":{"tags":["Transfers"],"summary":"List delivery options","description":"`GET /api/v1/transfers/delivery-options` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"countryCode","in":"query","required":false,"description":"countryCode query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transfers/interop/{transferId}":{"get":{"tags":["Transfers"],"summary":"Get interop","description":"`GET /api/v1/transfers/interop/{transferId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"transferId","in":"path","required":true,"description":"transferId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transfers/interop":{"get":{"tags":["Transfers"],"summary":"List interop","description":"`GET /api/v1/transfers/interop` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"action","in":"query","required":false,"description":"action query parameter","schema":{"type":"string"}},{"name":"country","in":"query","required":false,"description":"country query parameter","schema":{"type":"string"}},{"name":"amount","in":"query","required":false,"description":"amount query parameter","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Transfers"],"summary":"Create interop","description":"`POST /api/v1/transfers/interop` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"action","in":"query","required":false,"description":"action query parameter","schema":{"type":"string"}},{"name":"country","in":"query","required":false,"description":"country query parameter","schema":{"type":"string"}},{"name":"amount","in":"query","required":false,"description":"amount query parameter","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"senderPhone":{"type":"string"},"senderName":{"type":"string"},"recipientPhone":{"type":"string"},"recipientName":{"type":"string"},"amount":{"type":"string"},"sourceProvider":{"type":"string"},"destProvider":{"type":"string"},"country":{"type":"string"},"note":{"type":"string"}},"required":["senderPhone","recipientPhone","amount","sourceProvider","destProvider"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transfers/lookup":{"post":{"tags":["Transfers"],"summary":"Create lookup","description":"`POST /api/v1/transfers/lookup` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"identifier":{"type":"string"},"identifierType":{"type":"string","enum":["phone","email","national_id","username"]},"country":{"type":"string"}},"required":["identifier","identifierType"]},"example":{"identifier":"example-identifier","identifierType":"phone","country":"example-country"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"get":{"tags":["Transfers"],"summary":"Lookup by reference","security":[{"BearerAuth":[]}],"parameters":[{"name":"reference","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Transfer","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transfers/my":{"get":{"tags":["Transfers"],"summary":"My transfers","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Transfers","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionListResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transfers/process-expired":{"post":{"tags":["Transfers"],"summary":"Create process expired","description":"`POST /api/v1/transfers/process-expired` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/transfers":{"get":{"tags":["Transfers"],"summary":"List transfers","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/Limit"}],"responses":{"200":{"description":"Transfers","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionListResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Transfers"],"summary":"Create transfer","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["amount"],"properties":{"recipient":{"type":"string","description":"Who receives the money: phone, email, or wallet ID. Required unless recipientIdentifier is sent.","example":"+8801712345678"},"recipientIdentifier":{"type":"string","description":"Optional alias of `recipient` (same value). Use one of recipient or recipientIdentifier.","example":"+8801712345678"},"recipientType":{"type":"string","enum":["phone","email","wallet_id"],"description":"Optional. How to interpret recipient. Defaults to phone."},"amount":{"type":"number","description":"How much to send in `currency`.","example":1000},"currency":{"type":"string","description":"Optional ISO 4217 code. Defaults to the sender wallet currency.","example":"ETB"},"note":{"type":"string","description":"Optional message shown on the receipt."},"method":{"type":"string","description":"Optional send rail. Defaults to wallet.","example":"wallet"},"reference":{"type":"string","description":"Optional receipt / invoice number you generate. Returned on the transfer for reconciliation.","example":"INV-4192"}},"title":"TransferRequest"},"example":{"recipient":"+8801712345678","recipientIdentifier":"+8801712345678","recipientType":"phone","amount":1000,"currency":"ETB","note":"example-note","method":"wallet","reference":"INV-4192"}}}},"responses":{"201":{"description":"Transfer created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]}},"/transfers/send-to-any":{"get":{"tags":["Transfers"],"summary":"List send to any","description":"`GET /api/v1/transfers/send-to-any` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"code","in":"query","required":false,"description":"code query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Transfers"],"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.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["recipientPhone","amount"],"properties":{"recipientPhone":{"type":"string","description":"International phone, e.g. +251911123456","example":"+251911123456"},"amount":{"type":"number","example":500},"currency":{"type":"string","description":"Optional ISO 4217. Defaults to BDT.","example":"ETB"},"note":{"type":"string","description":"Optional receipt message."},"recipientName":{"type":"string","description":"Optional display name on the claim."},"deliveryMethodCode":{"type":"string","description":"Optional payout method when paying out directly."},"destination":{"type":"object","description":"Optional extra delivery fields for the payout method."}}},"example":{"recipientPhone":"+251911123456","amount":500,"currency":"ETB","note":"Family support"}}}},"responses":{"200":{"description":"Claimable transfer created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]}},"/transfers/send":{"get":{"tags":["Transfers"],"summary":"Transfer history","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Limit"},{"name":"offset","in":"query","schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"History","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionListResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Transfers"],"summary":"Send money","description":"Wallet-to-wallet send with automatic FX conversion, routing engine selection and settlement leg creation.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["amount"],"properties":{"recipient":{"type":"string","description":"Who receives the money: phone, email, or wallet ID. Required unless recipientIdentifier is sent.","example":"+8801712345678"},"recipientIdentifier":{"type":"string","description":"Optional alias of `recipient` (same value). Use one of recipient or recipientIdentifier.","example":"+8801712345678"},"recipientType":{"type":"string","enum":["phone","email","wallet_id"],"description":"Optional. How to interpret recipient. Defaults to phone."},"amount":{"type":"number","description":"How much to send in `currency`.","example":1000},"currency":{"type":"string","description":"Optional ISO 4217 code. Defaults to the sender wallet currency.","example":"ETB"},"note":{"type":"string","description":"Optional message shown on the receipt."},"method":{"type":"string","description":"Optional send rail. Defaults to wallet.","example":"wallet"},"reference":{"type":"string","description":"Optional receipt / invoice number you generate. Returned on the transfer for reconciliation.","example":"INV-4192"}},"title":"TransferRequest"},"example":{"recipient":"+8801712345678","amount":1000,"currency":"ETB","note":"Lunch","reference":"INV-4192"}}}},"responses":{"200":{"description":"Money sent","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]}},"/translate":{"post":{"tags":["Translate"],"summary":"Create translate","description":"`POST /api/v1/translate` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"translations":{"type":"array"}},"required":["translations"]},"example":{"translations":[]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/upload/image":{"post":{"tags":["Upload"],"summary":"Create image","description":"`POST /api/v1/upload/image` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"file":{"type":"string"},"filename":{"type":"string"}},"required":["file","filename"]},"example":{"file":"example-file","filename":"example-filename"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/upload":{"get":{"tags":["Upload"],"summary":"List upload","description":"`GET /api/v1/upload` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Upload"],"summary":"Create upload","description":"`POST /api/v1/upload` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"file":{"type":"string"},"type":{"type":"string"},"agentId":{"type":"string"},"documentType":{"type":"string"},"publicId":{"type":"string"},"tags":{"type":"string"}},"required":["file"]},"example":{"file":"example-file","type":"example-type","agentId":"example-agentId","documentType":"example-documentType","publicId":"example-publicId","tags":"example-tags"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/balance":{"get":{"tags":["User"],"summary":"List balance","description":"`GET /api/v1/user/balance` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"currency","in":"query","required":false,"description":"currency query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/cards/{cardId}/ledger":{"get":{"tags":["User"],"summary":"List ledger","description":"`GET /api/v1/user/cards/{cardId}/ledger` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"cardId","in":"path","required":true,"description":"cardId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/cards/{cardId}":{"get":{"tags":["User"],"summary":"Get cards","description":"`GET /api/v1/user/cards/{cardId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"cardId","in":"path","required":true,"description":"cardId identifier","schema":{"type":"string"}},{"name":"stepUpToken","in":"query","required":false,"description":"stepUpToken query parameter","schema":{"type":"string"}},{"name":"reveal","in":"query","required":false,"description":"reveal query parameter","schema":{"type":"string"}},{"name":"showDetails","in":"query","required":false,"description":"showDetails query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["User"],"summary":"Create cards","description":"`POST /api/v1/user/cards/{cardId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"cardId","in":"path","required":true,"description":"cardId identifier","schema":{"type":"string"}},{"name":"stepUpToken","in":"query","required":false,"description":"stepUpToken query parameter","schema":{"type":"string"}},{"name":"reveal","in":"query","required":false,"description":"reveal query parameter","schema":{"type":"string"}},{"name":"showDetails","in":"query","required":false,"description":"showDetails query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"string"},"action":{"type":"string"},"controls":{"type":"string"},"spendingLimit":{"type":"string"},"name":{"type":"string"}},"required":["amount"]},"example":{"amount":"example-amount","action":"example-action","controls":"example-controls","spendingLimit":"example-spendingLimit","name":"example-name"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["User"],"summary":"Replace cards","description":"`PUT /api/v1/user/cards/{cardId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"cardId","in":"path","required":true,"description":"cardId identifier","schema":{"type":"string"}},{"name":"stepUpToken","in":"query","required":false,"description":"stepUpToken query parameter","schema":{"type":"string"}},{"name":"reveal","in":"query","required":false,"description":"reveal query parameter","schema":{"type":"string"}},{"name":"showDetails","in":"query","required":false,"description":"showDetails query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"string"},"action":{"type":"string"},"controls":{"type":"string"},"spendingLimit":{"type":"string"},"name":{"type":"string"}},"required":["amount"]},"example":{"amount":"example-amount","action":"example-action","controls":"example-controls","spendingLimit":"example-spendingLimit","name":"example-name"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["User"],"summary":"Update cards","description":"`PATCH /api/v1/user/cards/{cardId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"cardId","in":"path","required":true,"description":"cardId identifier","schema":{"type":"string"}},{"name":"stepUpToken","in":"query","required":false,"description":"stepUpToken query parameter","schema":{"type":"string"}},{"name":"reveal","in":"query","required":false,"description":"reveal query parameter","schema":{"type":"string"}},{"name":"showDetails","in":"query","required":false,"description":"showDetails query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"string"},"action":{"type":"string"},"controls":{"type":"string"},"spendingLimit":{"type":"string"},"name":{"type":"string"}},"required":["amount"]},"example":{"amount":"example-amount","action":"example-action","controls":"example-controls","spendingLimit":"example-spendingLimit","name":"example-name"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["User"],"summary":"Delete cards","description":"`DELETE /api/v1/user/cards/{cardId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"cardId","in":"path","required":true,"description":"cardId identifier","schema":{"type":"string"}},{"name":"stepUpToken","in":"query","required":false,"description":"stepUpToken query parameter","schema":{"type":"string"}},{"name":"reveal","in":"query","required":false,"description":"reveal query parameter","schema":{"type":"string"}},{"name":"showDetails","in":"query","required":false,"description":"showDetails query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/cards":{"get":{"tags":["User"],"summary":"List cards","description":"`GET /api/v1/user/cards` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["User"],"summary":"Create cards","description":"`POST /api/v1/user/cards` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"spendingLimit":{"type":"string"}}},"example":{"name":"example-name","firstName":"example-firstName","lastName":"example-lastName","spendingLimit":"example-spendingLimit"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/crypto/deposit":{"get":{"tags":["User"],"summary":"List deposit","description":"`GET /api/v1/user/crypto/deposit` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"depositId","in":"query","required":false,"description":"depositId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["User"],"summary":"Create deposit","description":"`POST /api/v1/user/crypto/deposit` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"depositId","in":"query","required":false,"description":"depositId query parameter","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"string"},"currency":{"type":"string"},"payCurrency":{"type":"string"},"provider":{"type":"string"}}},"example":{"amount":"example-amount","currency":"example-currency","payCurrency":"example-payCurrency","provider":"example-provider"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/crypto/transactions":{"get":{"tags":["User"],"summary":"List transactions","description":"`GET /api/v1/user/crypto/transactions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"skip","in":"query","required":false,"description":"skip query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/crypto/withdraw":{"get":{"tags":["User"],"summary":"List withdraw","description":"`GET /api/v1/user/crypto/withdraw` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"withdrawalId","in":"query","required":false,"description":"withdrawalId query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["User"],"summary":"Create withdraw","description":"`POST /api/v1/user/crypto/withdraw` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"withdrawalId","in":"query","required":false,"description":"withdrawalId query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"string"},"asset":{"type":"string"},"walletAddress":{"type":"string"},"payCurrency":{"type":"string"},"provider":{"type":"string"}},"required":["walletAddress"]},"example":{"amount":"example-amount","asset":"example-asset","walletAddress":"example-walletAddress","payCurrency":"example-payCurrency","provider":"example-provider"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/dashboard":{"get":{"tags":["User"],"summary":"List dashboard","description":"`GET /api/v1/user/dashboard` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/kyc/document":{"get":{"tags":["User"],"summary":"List document","description":"`GET /api/v1/user/kyc/document` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"index","in":"query","required":false,"description":"index query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/kyc/reply":{"post":{"tags":["User"],"summary":"Create reply","description":"`POST /api/v1/user/kyc/reply` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/kyc/status":{"get":{"tags":["User"],"summary":"List status","description":"`GET /api/v1/user/kyc/status` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/kyc/submit":{"post":{"tags":["User"],"summary":"Create submit","description":"`POST /api/v1/user/kyc/submit` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"documents":{"type":"string"},"personalInfo":{"type":"string"},"issuingCountry":{"type":"string"},"documentExpiry":{"type":"string"}}},"example":{"documents":"example-documents","personalInfo":"example-personalInfo","issuingCountry":"example-issuingCountry","documentExpiry":"example-documentExpiry"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/onboarding":{"get":{"tags":["User"],"summary":"List onboarding","description":"`GET /api/v1/user/onboarding` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["User"],"summary":"Create onboarding","description":"`POST /api/v1/user/onboarding` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/profile":{"get":{"tags":["User"],"summary":"List profile","description":"`GET /api/v1/user/profile` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["User"],"summary":"Update profile","description":"`PATCH /api/v1/user/profile` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/transactions/{id}/history":{"get":{"tags":["User"],"summary":"List history","description":"`GET /api/v1/user/transactions/{id}/history` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/transactions/{id}":{"get":{"tags":["User"],"summary":"Get transactions","description":"`GET /api/v1/user/transactions/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/transactions":{"get":{"tags":["User"],"summary":"List transactions","description":"`GET /api/v1/user/transactions` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/users/{id}":{"get":{"tags":["Users"],"summary":"Get user","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Id"}],"responses":{"200":{"description":"User","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Users"],"summary":"Update user","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Id"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"avatar":{"type":"string"},"country":{"type":"string"},"currency":{"type":"string"},"language":{"type":"string"},"status":{"type":"string","enum":["active","suspended","deactivated"]}},"title":"UserUpdateRequest"},"example":{"name":"example-name","avatar":"example-avatar","country":"example-country","currency":"ETB","language":"example-language","status":"active"}}}},"responses":{"200":{"description":"User updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Users"],"summary":"Delete/deactivate user","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Id"}],"responses":{"200":{"description":"User removed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/users/me":{"get":{"tags":["Users"],"summary":"List me","description":"`GET /api/v1/users/me` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"put":{"tags":["Users"],"summary":"Replace me","description":"`PUT /api/v1/users/me` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"firstName":{"type":"string"},"lastName":{"type":"string"},"email":{"type":"string"},"address":{"type":"string"},"city":{"type":"string"},"country":{"type":"string"},"avatar":{"type":"string"}}},"example":{"firstName":"example-firstName","lastName":"example-lastName","email":"example-email","address":"example-address","city":"example-city","country":"example-country","avatar":"example-avatar"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/users/me/verify-email":{"post":{"tags":["Users"],"summary":"Create verify email","description":"`POST /api/v1/users/me/verify-email` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"otp":{"type":"string"}},"required":["otp"]},"example":{"action":"example-action","otp":"example-otp"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/users/payment-link":{"get":{"tags":["Users"],"summary":"List payment link","description":"`GET /api/v1/users/payment-link` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/users":{"get":{"tags":["Users"],"summary":"List users","description":"Paginated list of users. Admin/staff scope.","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Search"}],"responses":{"200":{"description":"Users list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserListResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Users"],"summary":"Create user","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["firstName","lastName","phone","password"],"properties":{"firstName":{"type":"string","description":"Given name","example":"Amina"},"lastName":{"type":"string","description":"Family name","example":"Yusuf"},"phone":{"type":"string","description":"Mobile number in international format","example":"+251911223344"},"password":{"type":"string","format":"password","minLength":8,"description":"Min 8 chars with upper, lower, number, special"},"email":{"type":"string","format":"email","description":"Optional. If omitted a tenant-scoped address is generated from the phone."},"country":{"type":"string","description":"ISO 3166-1 alpha-2. Optional; defaults from the signup site.","example":"ET"},"type":{"type":"string","enum":["user","merchant","agent"],"description":"Optional account kind. Defaults to user (or merchant if businessName is set)."},"businessName":{"type":"string","description":"Optional. Required when type is merchant."},"name":{"type":"string","description":"Optional display name (merchant/agent)."},"referralCode":{"type":"string","description":"Optional affiliate or ambassador code."}},"title":"RegisterRequest"},"example":{"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"}}}},"responses":{"201":{"description":"User created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/users/search":{"get":{"tags":["Users"],"summary":"Search users","description":"Find users by phone, email, name or wallet ID.","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Search"}],"responses":{"200":{"description":"Search results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserListResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/ussd/webhook":{"get":{"tags":["Ussd"],"summary":"List webhook","description":"`GET /api/v1/ussd/webhook` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Ussd"],"summary":"Create webhook","description":"`POST /api/v1/ussd/webhook` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sessionId":{"type":"string"},"SessionId":{"type":"string"},"session_id":{"type":"string"},"phoneNumber":{"type":"string"},"PhoneNumber":{"type":"string"},"from":{"type":"string"},"From":{"type":"string"},"msisdn":{"type":"string"},"Text":{"type":"string"},"input":{"type":"string"},"Input":{"type":"string"},"networkCode":{"type":"string"},"network":{"type":"string"},"Network":{"type":"string"}},"required":["sessionId","phoneNumber"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/verification":{"get":{"tags":["Verification"],"summary":"List verification","description":"`GET /api/v1/verification` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"sessionId","in":"query","required":false,"description":"sessionId query parameter","schema":{"type":"string"}},{"name":"fromDate","in":"query","required":false,"description":"fromDate query parameter","schema":{"type":"string"}},{"name":"toDate","in":"query","required":false,"description":"toDate query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Verification"],"summary":"Create verification","description":"`POST /api/v1/verification` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"sessionId","in":"query","required":false,"description":"sessionId query parameter","schema":{"type":"string"}},{"name":"fromDate","in":"query","required":false,"description":"fromDate query parameter","schema":{"type":"string"}},{"name":"toDate","in":"query","required":false,"description":"toDate query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sessionId":{"type":"string"},"proofData":{"type":"number"},"amount":{"type":"number"},"reference":{"type":"string"},"transactionId":{"type":"string"},"timestamp":{"type":"string"},"senderName":{"type":"string"},"senderPhone":{"type":"string"},"senderEmail":{"type":"string"},"destinationAccount":{"type":"string"},"blockchainHash":{"type":"string"},"blockchain":{"type":"string"},"reconciliationEntryId":{"type":"string"},"ocrResult":{"type":"number"},"confidence":{"type":"number"},"extractedAmount":{"type":"number"},"extractedReference":{"type":"string"}},"required":["sessionId","confidence"]},"example":{"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"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/verification/sms-detected":{"post":{"tags":["Verification"],"summary":"Create sms detected","description":"`POST /api/v1/verification/sms-detected` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sessionId":{"type":"string"},"smsContent":{"type":"string"},"parsedData":{"type":"string"},"source":{"type":"string"},"timestamp":{"type":"string"}},"required":["sessionId","smsContent"]},"example":{"sessionId":"example-sessionId","smsContent":"example-smsContent","parsedData":"example-parsedData","source":"example-source","timestamp":"example-timestamp"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/voice/amount":{"post":{"tags":["Voice"],"summary":"Create amount","description":"`POST /api/v1/voice/amount` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/voice/confirm":{"post":{"tags":["Voice"],"summary":"Create confirm","description":"`POST /api/v1/voice/confirm` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/voice/menu":{"post":{"tags":["Voice"],"summary":"Create menu","description":"`POST /api/v1/voice/menu` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/voice/pin":{"post":{"tags":["Voice"],"summary":"Create pin","description":"`POST /api/v1/voice/pin` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/voice/recipient":{"post":{"tags":["Voice"],"summary":"Create recipient","description":"`POST /api/v1/voice/recipient` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/voice/webhook":{"get":{"tags":["Voice"],"summary":"List webhook","description":"`GET /api/v1/voice/webhook` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Voice"],"summary":"Create webhook","description":"`POST /api/v1/voice/webhook` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/wallet/balance":{"get":{"tags":["Wallets"],"summary":"Get my wallet balance","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Balance","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/wallet/currency":{"get":{"tags":["Wallets"],"summary":"List currency","description":"`GET /api/v1/wallet/currency` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Wallets"],"summary":"Create currency","description":"`POST /api/v1/wallet/currency` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"currency":{"type":"string"}},"required":["currency"]},"example":{"action":"example-action","currency":"example-currency"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/wallet/deposit/confirm":{"post":{"tags":["Wallets"],"summary":"Confirm deposit","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["reference"],"properties":{"reference":{"type":"string"}}},"example":{"reference":"example-reference"}}}},"responses":{"200":{"description":"Deposit confirmed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/wallet/deposit":{"post":{"tags":["Wallets"],"summary":"Initiate deposit","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["amount","method"],"properties":{"amount":{"type":"number"},"method":{"type":"string","example":"cbe"},"currency":{"type":"string","example":"ETB"}}},"example":{"amount":100,"method":"cbe","currency":"ETB"}}}},"responses":{"200":{"description":"Deposit initiated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepositResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]}},"/wallet/deposit/sms-verify":{"post":{"tags":["Wallets"],"summary":"Create sms verify","description":"`POST /api/v1/wallet/deposit/sms-verify` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"smsText":{"type":"string"},"depositReference":{"type":"string"},"source":{"type":"string"}},"required":["smsText","depositReference"]},"example":{"smsText":"example-smsText","depositReference":"example-depositReference","source":"example-source"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/wallet/deposit/status":{"get":{"tags":["Wallets"],"summary":"List status","description":"`GET /api/v1/wallet/deposit/status` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"reference","in":"query","required":false,"description":"reference query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/wallet/deposit/verify":{"post":{"tags":["Wallets"],"summary":"Create verify","description":"`POST /api/v1/wallet/deposit/verify` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"depositReference":{"type":"string"},"provider":{"type":"string"},"smsSender":{"type":"string"}},"required":["transactionId","depositReference"]},"example":{"transactionId":"example-transactionId","depositReference":"example-depositReference","provider":"example-provider","smsSender":"example-smsSender"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/wallet/ledger":{"get":{"tags":["Wallets"],"summary":"List ledger","description":"`GET /api/v1/wallet/ledger` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"skip","in":"query","required":false,"description":"skip query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/wallets/{walletId}/balance":{"get":{"tags":["Wallets"],"summary":"Get wallet balance","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/WalletId"}],"responses":{"200":{"description":"Balance","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/wallets/{walletId}/fund":{"post":{"tags":["Wallets"],"summary":"Fund wallet","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"},{"$ref":"#/components/parameters/WalletId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["amount","method"],"properties":{"amount":{"type":"number","example":500},"method":{"type":"string","example":"telebirr"}}},"example":{"amount":500,"method":"telebirr"}}}},"responses":{"200":{"description":"Funding initiated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/wallets/{walletId}":{"get":{"tags":["Wallets"],"summary":"Get wallet","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/WalletId"}],"responses":{"200":{"description":"Wallet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/wallets/{walletId}/transactions":{"get":{"tags":["Wallets"],"summary":"Wallet transactions","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/WalletId"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/Limit"}],"responses":{"200":{"description":"Transactions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionListResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/wallets/{walletId}/transfer":{"post":{"tags":["Wallets"],"summary":"Wallet-to-wallet transfer","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"},{"$ref":"#/components/parameters/WalletId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["amount"],"properties":{"recipient":{"type":"string","description":"Who receives the money: phone, email, or wallet ID. Required unless recipientIdentifier is sent.","example":"+8801712345678"},"recipientIdentifier":{"type":"string","description":"Optional alias of `recipient` (same value). Use one of recipient or recipientIdentifier.","example":"+8801712345678"},"recipientType":{"type":"string","enum":["phone","email","wallet_id"],"description":"Optional. How to interpret recipient. Defaults to phone."},"amount":{"type":"number","description":"How much to send in `currency`.","example":1000},"currency":{"type":"string","description":"Optional ISO 4217 code. Defaults to the sender wallet currency.","example":"ETB"},"note":{"type":"string","description":"Optional message shown on the receipt."},"method":{"type":"string","description":"Optional send rail. Defaults to wallet.","example":"wallet"},"reference":{"type":"string","description":"Optional receipt / invoice number you generate. Returned on the transfer for reconciliation.","example":"INV-4192"}},"title":"TransferRequest"},"example":{"recipient":"+8801712345678","recipientIdentifier":"+8801712345678","recipientType":"phone","amount":1000,"currency":"ETB","note":"example-note","method":"wallet","reference":"INV-4192"}}}},"responses":{"200":{"description":"Transfer complete","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/wallets":{"get":{"tags":["Wallets"],"summary":"List wallets","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/Limit"}],"responses":{"200":{"description":"Wallets","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletListResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Wallets"],"summary":"Create wallet","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["currency"],"properties":{"currency":{"type":"string","example":"ETB"}}},"example":{"currency":"ETB"}}}},"responses":{"201":{"description":"Wallet created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/webhooks/{id}/rotate":{"post":{"tags":["Webhooks"],"summary":"Create rotate","description":"`POST /api/v1/webhooks/{id}/rotate` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/webhooks/{id}":{"get":{"tags":["Webhooks"],"summary":"Get webhooks","description":"`GET /api/v1/webhooks/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Webhooks"],"summary":"Update webhooks","description":"`PATCH /api/v1/webhooks/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Webhooks"],"summary":"Delete webhooks","description":"`DELETE /api/v1/webhooks/{id}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"id identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/webhooks/amole":{"get":{"tags":["Webhooks"],"summary":"List amole","description":"`GET /api/v1/webhooks/amole` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Webhooks"],"summary":"Create amole","description":"`POST /api/v1/webhooks/amole` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/webhooks/arifpay":{"get":{"tags":["Webhooks"],"summary":"List arifpay","description":"`GET /api/v1/webhooks/arifpay` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Webhooks"],"summary":"Create arifpay","description":"`POST /api/v1/webhooks/arifpay` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/webhooks/bkash":{"get":{"tags":["Webhooks"],"summary":"List bkash","description":"`GET /api/v1/webhooks/bkash` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Webhooks"],"summary":"Create bkash","description":"`POST /api/v1/webhooks/bkash` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/webhooks/cbe":{"get":{"tags":["Webhooks"],"summary":"List cbe","description":"`GET /api/v1/webhooks/cbe` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Webhooks"],"summary":"Create cbe","description":"`POST /api/v1/webhooks/cbe` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/webhooks/deliveries/{deliveryId}/retry":{"post":{"tags":["Webhooks"],"summary":"Create retry","description":"`POST /api/v1/webhooks/deliveries/{deliveryId}/retry` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"deliveryId","in":"path","required":true,"description":"deliveryId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/webhooks/deliveries":{"get":{"tags":["Webhooks"],"summary":"List deliveries","description":"`GET /api/v1/webhooks/deliveries` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/webhooks/events":{"get":{"tags":["Webhooks"],"summary":"List events","description":"`GET /api/v1/webhooks/events` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"types","in":"query","required":false,"description":"types query parameter","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"type query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/webhooks":{"get":{"tags":["Webhooks"],"summary":"List webhooks","description":"`GET /api/v1/webhooks` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Webhooks"],"summary":"Create webhooks","description":"`POST /api/v1/webhooks` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/webhooks/sms":{"get":{"tags":["Webhooks"],"summary":"List sms","description":"`GET /api/v1/webhooks/sms` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Webhooks"],"summary":"Create sms","description":"`POST /api/v1/webhooks/sms` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/webhooks/swish":{"get":{"tags":["Webhooks"],"summary":"List swish","description":"`GET /api/v1/webhooks/swish` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Webhooks"],"summary":"Create swish","description":"`POST /api/v1/webhooks/swish` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/webhooks/telebirr":{"get":{"tags":["Webhooks"],"summary":"List telebirr","description":"`GET /api/v1/webhooks/telebirr` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Webhooks"],"summary":"Create telebirr","description":"`POST /api/v1/webhooks/telebirr` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/white-label/resolve":{"get":{"tags":["White label"],"summary":"List resolve","description":"`GET /api/v1/white-label/resolve` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"partnerId","in":"query","required":false,"description":"partnerId query parameter","schema":{"type":"string"}},{"name":"slug","in":"query","required":false,"description":"slug query parameter","schema":{"type":"string"}},{"name":"partnerSlug","in":"query","required":false,"description":"partnerSlug query parameter","schema":{"type":"string"}},{"name":"domain","in":"query","required":false,"description":"domain query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/white-label":{"get":{"tags":["White label"],"summary":"List white label","description":"`GET /api/v1/white-label` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"domain","in":"query","required":false,"description":"domain query parameter","schema":{"type":"string"}},{"name":"slug","in":"query","required":false,"description":"slug query parameter","schema":{"type":"string"}},{"name":"partnerId","in":"query","required":false,"description":"partnerId query parameter","schema":{"type":"string"}},{"name":"partnerSlug","in":"query","required":false,"description":"partnerSlug query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/wishlist/{productId}":{"post":{"tags":["Wishlist"],"summary":"Create wishlist","description":"`POST /api/v1/wishlist/{productId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"productId","in":"path","required":true,"description":"productId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"tags":["Wishlist"],"summary":"Delete wishlist","description":"`DELETE /api/v1/wishlist/{productId}` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"productId","in":"path","required":true,"description":"productId identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/wishlist":{"get":{"tags":["Wishlist"],"summary":"List wishlist","description":"`GET /api/v1/wishlist` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Wishlist"],"summary":"Create wishlist","description":"`POST /api/v1/wishlist` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"productId":{"type":"string"}}},"example":{"productId":"example-productId"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/withdrawal-codes/redeem":{"post":{"tags":["Withdrawal codes"],"summary":"Create redeem","description":"`POST /api/v1/withdrawal-codes/redeem` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"agentId":{"type":"string"}},"required":["code","agentId"]},"example":{"code":"example-code","agentId":"example-agentId"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/withdrawal-codes":{"get":{"tags":["Withdrawal codes"],"summary":"List withdrawal codes","description":"`GET /api/v1/withdrawal-codes` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"userId","in":"query","required":false,"description":"userId query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"tags":["Withdrawal codes"],"summary":"Create withdrawal codes","description":"`POST /api/v1/withdrawal-codes` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"parameters":[{"name":"userId","in":"query","required":false,"description":"userId query parameter","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"status query parameter","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"page query parameter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"limit query parameter","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string"},"amount":{"type":"string"},"currency":{"type":"string"}},"required":["userId","amount"]},"example":{"userId":"example-userId","amount":"example-amount","currency":"example-currency"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/withdrawal-codes/validate":{"post":{"tags":["Withdrawal codes"],"summary":"Create validate","description":"`POST /api/v1/withdrawal-codes/validate` — introspected from the live route handler.","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"},"agentId":{"type":"string"}},"required":["code","agentId"]},"example":{"code":"example-code","agentId":"example-agentId"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/profile":{"get":{"tags":["Users"],"summary":"Get my profile","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Profile","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Users"],"summary":"Update my profile","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"avatar":{"type":"string"},"country":{"type":"string"},"currency":{"type":"string"},"language":{"type":"string"},"status":{"type":"string","enum":["active","suspended","deactivated"]}},"title":"UserUpdateRequest"},"example":{"name":"example-name","avatar":"example-avatar","country":"example-country","currency":"ETB","language":"example-language","status":"active"}}}},"responses":{"200":{"description":"Profile updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/agents/{id}":{"get":{"tags":["Agents"],"summary":"Get agent","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Id"}],"responses":{"200":{"description":"Agent","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"tags":["Agents"],"summary":"Update agent","security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/Id"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","phone"],"properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"region":{"type":"string"},"commissionRate":{"type":"number"},"password":{"type":"string"}},"title":"AgentRequest"},"example":{"name":"example-name","email":"example-email","phone":"+251911223344","region":"example-region","commissionRate":0,"password":"YourPassword123!"}}}},"responses":{"200":{"description":"Agent updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentResponse"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/ServerError"}}}}},"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT access token from /auth/login"},"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"API key for server-to-server access"}},"parameters":{"Id":{"name":"id","in":"path","required":true,"description":"Resource ID","schema":{"type":"string"}},"WalletId":{"name":"walletId","in":"path","required":true,"description":"Wallet ID","schema":{"type":"string"}},"TransferId":{"name":"transferId","in":"path","required":true,"description":"Transfer ID","schema":{"type":"string"}},"Page":{"name":"page","in":"query","description":"Page number","schema":{"type":"integer","minimum":1,"default":1}},"Limit":{"name":"limit","in":"query","description":"Items per page","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},"Search":{"name":"q","in":"query","description":"Search query","schema":{"type":"string"}},"IdempotencyKey":{"name":"Idempotency-Key","in":"header","required":true,"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.","schema":{"type":"string","example":"idmp_8f14e45fceea167a5a36dedd4bea2543"}}},"responses":{"ValidationError":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"UnauthorizedError":{"description":"Authentication required or token invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"ForbiddenError":{"description":"Permission denied for this role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFoundError":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"Too many requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"ServerError":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"schemas":{"SuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object"}}},"ErrorResponse":{"type":"object","properties":{"success":{"type":"boolean","example":false},"error":{"type":"object","properties":{"message":{"type":"string","example":"Invalid or expired token"},"code":{"type":"string"}}}}},"Pagination":{"type":"object","properties":{"page":{"type":"integer","example":1},"limit":{"type":"integer","example":20},"total":{"type":"integer","example":153},"totalPages":{"type":"integer","example":8}}},"HealthResponse":{"type":"object","properties":{"status":{"type":"string","example":"ok"},"database":{"type":"string","example":"connected"},"uptime":{"type":"number"},"timestamp":{"type":"string","format":"date-time"}}},"RegisterRequest":{"type":"object","required":["firstName","lastName","phone","password"],"properties":{"firstName":{"type":"string","description":"Given name","example":"Amina"},"lastName":{"type":"string","description":"Family name","example":"Yusuf"},"phone":{"type":"string","description":"Mobile number in international format","example":"+251911223344"},"password":{"type":"string","format":"password","minLength":8,"description":"Min 8 chars with upper, lower, number, special"},"email":{"type":"string","format":"email","description":"Optional. If omitted a tenant-scoped address is generated from the phone."},"country":{"type":"string","description":"ISO 3166-1 alpha-2. Optional; defaults from the signup site.","example":"ET"},"type":{"type":"string","enum":["user","merchant","agent"],"description":"Optional account kind. Defaults to user (or merchant if businessName is set)."},"businessName":{"type":"string","description":"Optional. Required when type is merchant."},"name":{"type":"string","description":"Optional display name (merchant/agent)."},"referralCode":{"type":"string","description":"Optional affiliate or ambassador code."}}},"LoginRequest":{"type":"object","description":"Pass one of: email+password, phone+password, or phone+otp. Do not send unused fields.","properties":{"email":{"type":"string","format":"email","description":"Optional. Use with password for email login.","example":"amina@example.com"},"phone":{"type":"string","description":"Optional. Use with password or otp for phone login.","example":"+251911223344"},"password":{"type":"string","format":"password","description":"Optional if otp is sent. Required for email or phone password login."},"otp":{"type":"string","description":"Optional one-time code for passwordless phone login. Use after POST /auth/send-otp."}}},"AuthResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"user":{"$ref":"#/components/schemas/User"},"accessToken":{"type":"string","description":"Short-lived JWT"},"refreshToken":{"type":"string","description":"Long-lived refresh token"},"token":{"type":"string","description":"Alias of accessToken"}}},"User":{"type":"object","properties":{"id":{"type":"string","example":"665f1a..."},"name":{"type":"string"},"email":{"type":"string","format":"email"},"phone":{"type":"string"},"avatar":{"type":"string"},"country":{"type":"string","example":"ET"},"currency":{"type":"string","example":"ETB"},"language":{"type":"string","example":"en"},"emailVerified":{"type":"boolean"},"phoneVerified":{"type":"boolean"},"kycStatus":{"type":"string","enum":["pending","submitted","approved","rejected"]},"kycLevel":{"type":"integer","example":1},"walletBalance":{"type":"number","example":2500.5},"walletCurrency":{"type":"string","example":"ETB"},"role":{"type":"string","enum":["user","agent","merchant","admin","super_admin"]},"status":{"type":"string","enum":["active","suspended","deactivated"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"UserUpdateRequest":{"type":"object","properties":{"name":{"type":"string"},"avatar":{"type":"string"},"country":{"type":"string"},"currency":{"type":"string"},"language":{"type":"string"},"status":{"type":"string","enum":["active","suspended","deactivated"]}}},"UserResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"user":{"$ref":"#/components/schemas/User"}}},"UserListResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"Wallet":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"walletId":{"type":"string","example":"AMN-WLT-00123"},"balance":{"type":"number","example":2500.5},"currency":{"type":"string","example":"ETB"},"status":{"type":"string","enum":["active","frozen"],"example":"active"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"WalletResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Wallet"}}},"WalletListResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Wallet"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"DepositResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","properties":{"reference":{"type":"string"},"status":{"type":"string","example":"pending"},"instructions":{"type":"string"}}}}},"Transaction":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","example":"transfer"},"subType":{"type":"string","example":"wallet_to_wallet"},"reference":{"type":"string","example":"TRF1718..."},"senderId":{"type":"string"},"senderName":{"type":"string"},"senderCurrency":{"type":"string"},"recipientId":{"type":"string"},"recipientName":{"type":"string"},"recipientCurrency":{"type":"string"},"amount":{"type":"number"},"recipientAmount":{"type":"number"},"currency":{"type":"string"},"fxRate":{"type":"number"},"fee":{"type":"number"},"sourceRail":{"type":"string"},"destinationRail":{"type":"string"},"settlementId":{"type":"string"},"note":{"type":"string"},"status":{"type":"string","enum":["pending","completed","failed","cancelled"]},"createdAt":{"type":"string","format":"date-time"},"completedAt":{"type":"string","format":"date-time"}}},"TransactionListResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Transaction"}}}},"TransferRequest":{"type":"object","required":["amount"],"properties":{"recipient":{"type":"string","description":"Who receives the money: phone, email, or wallet ID. Required unless recipientIdentifier is sent.","example":"+8801712345678"},"recipientIdentifier":{"type":"string","description":"Optional alias of `recipient` (same value). Use one of recipient or recipientIdentifier.","example":"+8801712345678"},"recipientType":{"type":"string","enum":["phone","email","wallet_id"],"description":"Optional. How to interpret recipient. Defaults to phone."},"amount":{"type":"number","description":"How much to send in `currency`.","example":1000},"currency":{"type":"string","description":"Optional ISO 4217 code. Defaults to the sender wallet currency.","example":"ETB"},"note":{"type":"string","description":"Optional message shown on the receipt."},"method":{"type":"string","description":"Optional send rail. Defaults to wallet.","example":"wallet"},"reference":{"type":"string","description":"Optional receipt / invoice number you generate. Returned on the transfer for reconciliation.","example":"INV-4192"}}},"TransferResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"object","properties":{"reference":{"type":"string"},"amount":{"type":"number"},"currency":{"type":"string"},"recipientName":{"type":"string"},"recipientPhone":{"type":"string"},"status":{"type":"string","example":"completed"},"newBalance":{"type":"number"},"completedAt":{"type":"string","format":"date-time"}}}}},"KycSubmissionRequest":{"type":"object","required":["documentType","documentNumber"],"properties":{"fullName":{"type":"string"},"documentType":{"type":"string","enum":["national_id","passport","drivers_license"]},"documentNumber":{"type":"string"},"documentFront":{"type":"string","description":"URL or base64 of front image"},"documentBack":{"type":"string"},"selfie":{"type":"string"},"dateOfBirth":{"type":"string","format":"date"},"address":{"type":"string"}}},"Kyc":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"status":{"type":"string","enum":["pending","submitted","approved","rejected"]},"level":{"type":"integer","example":2},"documentType":{"type":"string"},"reviewedBy":{"type":"string"},"rejectionReason":{"type":"string"},"submittedAt":{"type":"string","format":"date-time"},"reviewedAt":{"type":"string","format":"date-time"}}},"KycResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Kyc"}}},"KycListResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Kyc"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"Agent":{"type":"object","properties":{"id":{"type":"string"},"agentId":{"type":"string"},"agentCode":{"type":"string","example":"AG-0042"},"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"region":{"type":"string"},"tier":{"type":"string","example":"gold"},"floatBalance":{"type":"number"},"commissionRate":{"type":"number","example":0.5},"location":{"type":"object","properties":{"type":{"type":"string","example":"Point"},"coordinates":{"type":"array","items":{"type":"number"}}}},"status":{"type":"string","enum":["active","suspended","pending"]}}},"AgentRequest":{"type":"object","required":["name","phone"],"properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"region":{"type":"string"},"commissionRate":{"type":"number"},"password":{"type":"string"}}},"AgentResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Agent"}}},"AgentListResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Agent"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"Merchant":{"type":"object","properties":{"id":{"type":"string"},"merchantId":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"businessType":{"type":"string"},"country":{"type":"string"},"currency":{"type":"string"},"kycStatus":{"type":"string","enum":["pending","submitted","approved","rejected"]},"status":{"type":"string","enum":["active","suspended"]},"settlementBalance":{"type":"number"},"createdAt":{"type":"string","format":"date-time"}}},"MerchantRequest":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"businessType":{"type":"string"},"country":{"type":"string"},"currency":{"type":"string"}}},"MerchantResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Merchant"}}},"Card":{"type":"object","properties":{"id":{"type":"string"},"last4":{"type":"string","example":"4242"},"brand":{"type":"string","example":"visa"},"currency":{"type":"string","example":"USD"},"label":{"type":"string"},"balance":{"type":"number"},"frozen":{"type":"boolean"},"dailyLimit":{"type":"number"},"onlineEnabled":{"type":"boolean"},"status":{"type":"string","enum":["active","frozen","terminated"]},"expiryMonth":{"type":"integer"},"expiryYear":{"type":"integer"}}},"CardResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Card"}}},"CardListResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Card"}}}},"AuditLog":{"type":"object","properties":{"id":{"type":"string"},"action":{"type":"string","example":"WALLET_CREDIT"},"actorId":{"type":"string"},"actorRole":{"type":"string"},"targetType":{"type":"string"},"targetId":{"type":"string"},"hash":{"type":"string","description":"SHA-256 of entry"},"prevHash":{"type":"string","description":"Hash of previous entry (chain)"},"signature":{"type":"string","description":"HMAC signature"},"ip":{"type":"string"},"metadata":{"type":"object"},"timestamp":{"type":"string","format":"date-time"}}},"AuditLogListResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/AuditLog"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"Notification":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"type":{"type":"string","example":"transaction"},"channel":{"type":"string","enum":["push","email","sms","in_app"]},"title":{"type":"string"},"body":{"type":"string"},"read":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"}}},"NotificationRequest":{"type":"object","required":["title","body"],"properties":{"userId":{"type":"string"},"title":{"type":"string"},"body":{"type":"string"},"type":{"type":"string"},"channel":{"type":"string","enum":["push","email","sms","in_app"]}}},"NotificationResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/Notification"}}},"NotificationListResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Notification"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}},"security":[{"BearerAuth":[]}]}