{"openapi":"3.0.0","info":{"title":"Payment (New)","description":"The only cross-border payments API with payment coverage across developed and emerging markets. Get the tools, resources, and guides you need to build a great cross-border payment experience for your business. Let's help you reach your growth goals.\n","version":"1.0.0","license":{"name":""}},"servers":[{"url":"https://api-payment-sandbox.vertofx.com","description":"For Payment (New) APIs"}],"x-readme":{"samples-languages":["shell","node","ruby","javascript","python","csharp","php"]},"security":[{"bearerAuth":[]}],"paths":{"/transfer":{"post":{"tags":["Transfer"],"summary":"Create a Wallet-to-Wallet Transfer (New)","operationId":"create_transfer_new","description":"The wallet-to-wallet API enables seamless transfer of funds between two same currency wallets within your Verto account.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"number","description":"The amount you intend to deduct from the source wallet.\t\n","example":200},"currency":{"type":"string","description":"The total number of items you want skipped.\t\n","example":"USD"},"sourceWalletId":{"type":"number","description":"The wallet you intend to deduct the funds.","example":8599},"targetWalletId":{"type":"number","description":"The wallet you intend to fund.","example":90033},"description":{"type":"string","description":"The description of the transaction.","example":"Test"},"externalUniqueRef":{"type":"string","description":"Unique client id for payment."}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"amount":{"type":"number","description":"The amount you intend to deduct from the source wallet.\t\n"},"currency":{"type":"string","description":"The total number of items you want skipped.\n"},"reference":{"type":"string","description":"The reference to identify the transaction.\t\n"},"sourceWalletId":{"type":"number","description":"The wallet you intend to deduct the funds."},"targetWalletId":{"type":"number","description":"The wallet you intend to fund."},"description":{"type":"string","description":"The description of the transaction."},"state":{"type":"string","description":"The state of the transaction, It can be Completed or Failed."},"externalUniqueRef":{"type":"string","description":"Unique client id for payment."}}}},"example":{"amount":200,"currency":"USD","reference":"T0-28052024-046","description":"Internal funds movement","sourceWalletId":3064,"targetWalletId":3063,"state":"completed","externalUniqueRef":"71467f6d-58ed-400f-89b6-20db028fb498"}}}}},"400":{"$ref":"#/components/responses/BadRequest-400"},"401":{"$ref":"#/components/responses/Unauthorized-401"},"403":{"$ref":"#/components/responses/Forbidden-403"},"404":{"$ref":"#/components/responses/NotFound-404"},"500":{"$ref":"#/components/responses/InternalServerError-500"}}}},"/documents/generate-upload-link":{"post":{"summary":"Generate a link to be used to upload a file.","operationId":"generate_upload_link","tags":["Payment Document"],"parameters":[{"name":"companyId","in":"query","description":"This is a unique identifier for the company account to map the file being uploaded to.","required":false,"schema":{"type":"string","example":45248}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"fileName":{"type":"string","nullable":false,"description":"The name of the document you wish to upload.\""}}}}}},"responses":{"200":{"description":"File generated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"link":{"type":"string","description":"An unique link valid for 10 minutes on which client can upload their files supported formats are [\"jpeg\", \"jpg\", \"pdf\", \"png\", \"svg\"] and max file size should be 5mb."},"key":{"type":"string","description":"An unique key that client can use in a subsequent API call to link uploaded supporting documents."}}}}}},"400":{"$ref":"#/components/responses/BadRequest-400"},"401":{"$ref":"#/components/responses/Unauthorized-401"},"403":{"$ref":"#/components/responses/Forbidden-403"},"404":{"$ref":"#/components/responses/NotFound-404"},"500":{"$ref":"#/components/responses/InternalServerError-500"}}}},"/payments/{paymentId}":{"get":{"summary":"Retrieve payment details by paymentId","operationId":"retrieve_payment_details_by_payment_id","description":"This endpoint allows you to fetch detailed information about a specific payment using its unique paymentId. The response includes all available properties for the payment, such as status, amount, currency, source and target accounts, timestamps, and any associated metadata. Use this endpoint to track payment progress, verify payment completion, or audit payment records for compliance and reconciliation purposes.\n","tags":["Payment Service"],"parameters":[{"name":"paymentId","in":"path","required":true,"schema":{"type":"string"},"description":"The unique identifier for the payment you wish to retrieve.","example":"ee7e9602-4dd2-4d02-ae55-bfc527c913ef"}],"responses":{"200":{"description":"Payment details successfully retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentIdResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest-400"},"401":{"$ref":"#/components/responses/Unauthorized-401"},"403":{"$ref":"#/components/responses/Forbidden-403"},"404":{"$ref":"#/components/responses/NotFound-404"},"500":{"$ref":"#/components/responses/InternalServerError-500"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Example:\n> Authorization: Bearer <i>token</i>\n"}},"parameters":{"referencePathParam":{"name":"reference","in":"path","required":true,"schema":{"type":"string","example":"EN-05062024-055"},"description":"Indicates FX order or wallet payment reference number or paymentId."},"beneficiaryIdPathParam":{"name":"beneficiaryId","in":"path","required":true,"schema":{"type":"number"},"example":284,"description":"A unique identifier assigned to the beneficiary of the foreign exchange transaction. This field specifies the recipient of the funds being transferred or converted.\n\nThis `beneficiaryId` is generated in the response object `[response.body.account.id]` of the [Create a Beneficiary](https://vertofx-csay.readme.io/reference/create_a_beneficiary)."},"customPageSizeQueryParam":{"name":"customPageSize","in":"query","required":true,"schema":{"type":"number"},"example":10,"description":"Specifies the number of records to be returned per page in a paginated response. This field allows users to customize the size of each page of results, enabling more efficient data retrieval and navigation through large datasets. \n\nFor example, setting `customPageSize` to `10` would return 10 records per page."},"pageQueryParam":{"name":"page","in":"query","required":true,"schema":{"type":"number"},"example":1,"description":"Specifies the page number to be retrieved in a paginated response. This field allows users to navigate through multiple pages of results by indicating which page of data they want to access. \n\nFor example, setting `page` to `1` would retrieve the second page of results."},"searchQueryParam":{"name":"searchQuery","in":"query","required":false,"schema":{"type":"string"},"description":"You can search payments by the client Reference set by you in the create payment request call.","example":"Payment-100"},"currencyFromQueryParam":{"name":"currencyFrom","in":"query","required":true,"example":"USD","description":"The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code representing the source currency for the foreign exchange transaction. This field specifies the currency that is being converted from in the exchange process. \n\nFor example, if converting from US Dollar (USD) to Naira (NGN), `currencyFrom` would be `USD`.","schema":{"$ref":"#/components/schemas/CurrencyFrom"}},"currencyToQueryParam":{"name":"currencyTo","in":"query","required":true,"example":"NGN","description":"The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code representing the target currency for the foreign exchange transaction. This field specifies the currency that is being converted to in the exchange process.\n\nFor example, if converting from US Dollar (USD) to Naira (NGN), `currencyTo` would be `NGN`.","schema":{"$ref":"#/components/schemas/CurrencyTo"}},"paymentRequestIdPathParam":{"name":"requestID","in":"path","schema":{"type":"number"},"required":true,"example":5424,"description":"A unique ID of the payment transaction.\n\nYou can get this ID from the \n\n* response path `response.body.payment.id` of the [Create a Payment Request](https://vertofx-csay.readme.io/reference/create_a_payment_request) API.\n* response path `response.body.data[].id` of the [Get all Payment Requests](https://vertofx-csay.readme.io/reference/get_all_payment_requests) API."},"skipParam":{"name":"skip","in":"query","description":"Specifies the number of items to skip before starting to collect the result set.","required":true,"schema":{"type":"integer","format":"int32","minimum":0,"example":10}},"limitParam":{"name":"limit","in":"query","description":"Specifies the maximum number of records to return.","required":true,"schema":{"type":"integer","format":"int32","minimum":1,"maximum":100,"example":20}},"orderByParam1":{"name":"orderBy","in":"query","description":"Specifies the order in which to return the records, either by ascending (createdAtAsc) or descending (createdAtDesc) creation date.","required":false,"schema":{"type":"string","enum":["createdAtAsc","createdAtDesc"]}},"companyId":{"name":"companyId","in":"path","description":"The unique identifier for the company.","required":true,"schema":{"type":"string"}}},"responses":{"BadRequest-400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"number","description":"Displays HTTP error code.\n"},"message":{"type":"string","description":"Displays error message."}}}}}},"NotFound-404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"number","description":"Displays HTTP error code.\n"},"message":{"type":"string","description":"Displays error message."}}}}}},"Unauthorized-401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","description":"The request lacks valid authentication credentials. Please ensure you have the necessary authorization tokens and try again.","properties":{"code":{"type":"number","description":"Displays HTTP error code.\n"},"message":{"type":"string","description":"Displays error message."}}}}}},"Forbidden-403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"number","description":"Displays HTTP error code.\n"},"message":{"type":"string","description":"Displays error message."}}}}}},"InternalServerError-500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"number","description":"Displays HTTP error code.\n"},"message":{"type":"string","description":"Displays error message."}}}}}}},"schemas":{"PaymentIdResponse":{"type":"object","properties":{"reference":{"type":"string","example":"TO-29072023-114"},"paymentId":{"type":"string","example":"807e02f5-7235-4826-aef5-d93c75216b48"},"amount":{"type":"number","format":"float","example":500},"currency":{"type":"string","example":"USD"},"userRecordId":{"type":"integer","example":2669},"walletId":{"type":"integer","example":12582},"state":{"type":"string","example":"completed"},"type":{"type":"string","example":"credit"},"target":{"type":"string","example":"account"},"targetId":{"type":"integer","example":21688},"purpose":{"type":"string","example":"Purchase of Professional Service(s)"},"description":{"type":"string","nullable":true,"example":null},"pricing":{"$ref":"#/components/schemas/Pricing"}}},"Pricing":{"type":"object","properties":{"overageFee":{"type":"number","format":"float","example":0},"usageId":{"type":"string","nullable":true,"example":null},"subscriptionId":{"type":"string","nullable":true,"example":null}}},"Transaction":{"type":"object","properties":{"sender":{"type":"object","example":{}},"receiver":{"type":"object","example":{}}}},"NewWalletRq":{"type":"object","required":["currency","type"],"properties":{"currency":{"$ref":"#/components/schemas/Currency"},"type":{"$ref":"#/components/schemas/WalletType"},"customReferenceLabel":{"type":"string","maxLength":75,"description":"Indicates the custom label provided to a wallet by the customer.\nIf a custom label is not provided by the customer, system itself will create a label in the below format based on the currency selected.","format":"Default GBP Wallet"}}},"Wallet":{"type":"object","properties":{"id":{"type":"number","example":1,"description":"A unique identifier assigned to each wallet."},"totalBalance":{"type":"number","example":100,"description":"Indicates the sum of available balance and locked balance.\n- Available balance - Indicates the amount in the wallet which can be fully utilized by a client.\n- Locked balance - Indicates the amount in the wallet which is freezed by a Business sometimes for reasons. These amount cannot be used by a client."},"availableBalance":{"type":"number","example":90,"description":"Indicates the amount in the wallet which can be fully utilized by a client."},"currency":{"$ref":"#/components/schemas/Currency"},"type":{"$ref":"#/components/schemas/WalletType"},"companyId":{"type":"number","example":2,"description":"Indicates the unique identifier assigned to a company within the system."},"customReferenceLabel":{"type":"string","example":"US_SEGREGATED","description":"Indicates the custom label provided to a wallet by the customer."},"isDefault":{"type":"boolean","description":"Indicates whether the wallet created is default wallet (created by system itself) per currency.\n\nIf a wallet is created for any particular currency for the very first time, the created wallet will be a default wallet for that perticular currency.\nThe true indicates the wallet is default and false indicates otherwise."},"isDisabled":{"type":"boolean","example":false,"description":"Indicates whether the wallet is disabled for any transaction.\nThe true indicates the wallet is disabled and false indicates otherwise."},"fundingType":{"$ref":"#/components/schemas/FundingType"}}},"WalletType":{"description":"Indicates the type of wallet.\n- STANDARD: Most common type of wallet used for everyday transactions.\n- FX_BALANCE: Specifically focuses on foreign exchange (FX) transactions.","type":"string","enum":["standard","fx_balance"]},"FundingType":{"type":"string","description":"Categorizes the source of funds within a wallet. It provides essential context about how the wallet is funded.","enum":["account","smartWallet","pooled","null"]},"fxTradeResponseAll":{"type":"object","properties":{"totalCount":{"type":"number","description":"The total count of FX trades in the response."},"items":{"type":"array","description":"An array containing the details of each FX trades in the response.","items":{"$ref":"#/components/schemas/fxTradeResponseDetails"}}}},"fxTradeResponseDetails":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier for the FX trade."},"reference":{"type":"string","description":"The reference code for the FX trade."},"userId":{"type":"string","description":"The unique identifier for the user who performed the FX trade.  "},"companyId":{"type":"string","description":"The unique identifier for the company involved in the FX trade."},"currencyFrom":{"type":"string","description":"The currency being sold or exchanged in the FX trade."},"amountFrom":{"type":"number","description":"The amount of currency being sold or exchanged in the FX trade."},"currencyTo":{"type":"string","description":"The currency being bought or received in the FX trade."},"amountTo":{"type":"number","description":"The amount of currency being bought or received in the FX trade."},"rate":{"type":"number","format":"float","description":"The exchange rate applied to the foreign exchange transaction. This field specifies the amount of the target currency that one unit of the source currency will buy. \n"},"pricing":{"$ref":"#/components/schemas/pricing"},"state":{"type":"string","description":"The current state of the trade or transaction."},"source":{"type":"string","description":"The origin or source entity of the trade."},"sourceId":{"type":"string","nullable":true,"description":"The unique identifier for the source entity."},"target":{"type":"string","description":"The destination or target entity of the trade."},"targetId":{"type":"string","description":"The unique identifier for the target entity."},"description":{"type":"string","nullable":true,"description":"A brief description of the trade or transaction."},"inwardSettlementTime":{"type":"string","format":"date-time","nullable":true,"description":"The date and time when the inward settlement occurred."},"outwardSettlementTime":{"type":"string","format":"date-time","nullable":true,"description":"The date and time when the outward settlement occurred."},"purpose":{"type":"string","description":"The purpose or reason for the trade or transaction."},"scheduledAt":{"type":"string","nullable":true,"description":"The date and time when the trade or transaction is scheduled to occur."},"expiredAt":{"type":"string","nullable":true,"description":"The date and time when the trade or transaction expired."},"createdAt":{"type":"string","description":"The date and time when the trade or transaction was created."},"updatedAt":{"type":"string","description":"The date and time when the trade or transaction was last updated."},"transaction":{"$ref":"#/components/schemas/transaction"},"paymentId":{"type":"string","description":"The date and time when the trade or transaction was last updated."}}},"transaction":{"type":"object","properties":{"receiver":{"type":"object","properties":{"accountNumber":{"type":"string","description":"The account number of the receiver."},"bankName":{"type":"string","description":"The name of the receiver's bank."},"name":{"type":"string","description":"The name of the account holder."},"bankCode":{"type":"string","description":"The code identifying the receiver's bank."}}},"shortURL":{"type":"string","description":"A shortened URL associated with the transaction."}}},"pricing":{"type":"object","properties":{"overageFee":{"type":"number","description":"The fee charged for usage that exceeds the predefined limits."},"usageId":{"type":"string","nullable":true,"description":"The unique identifier for the usage instance."},"subscriptionId":{"type":"string","nullable":true,"description":"The unique identifier for the subscription associated with the pricing."}}},"refreshKycDetailsRs":{"type":"object","properties":{"kycRefreshInitiatedOn":{"type":"string","format":"date"},"kycRefreshCompletedOn":{"type":"string","format":"date","nullable":true},"nextKycRefreshOn":{"type":"string","format":"date","nullable":true}}},"refreshKycStatusRs":{"type":"string","default":"NOT_STARTED","enum":["NOT_STARTED","INITIATED","APPROVED","SNOOZE","KYCR_INFO_UPDATED","OVERDUE","FAIL"]},"ClientOnboardingRq":{"type":"object","properties":{"company":{"$ref":"#/components/schemas/ClientCompanyRq"},"companyAddresses":{"type":"array","maxItems":2,"items":{"type":"object","required":["action","data"],"properties":{"action":{"$ref":"#/components/schemas/PostAction"},"data":{"$ref":"#/components/schemas/ClientCompanyAddress"}}}},"shareholders":{"type":"array","maxItems":1,"items":{"type":"object","required":["action","data"],"properties":{"action":{"$ref":"#/components/schemas/PostAction"},"data":{"$ref":"#/components/schemas/ClientShareholder"}}}}}},"ClientOnboardingRs":{"type":"object","allOf":[{"$ref":"#/components/schemas/AuditableBaseObj"},{"type":"object","properties":{"companyId":{"type":"string","description":"Company ID","example":"2"},"parentCompanyId":{"type":"string","description":"Parent Company ID","example":"1"},"signUpVerification":{"$ref":"#/components/schemas/SignUpVerification"},"selectedProducts":{"$ref":"#/components/schemas/Products"},"company":{"$ref":"#/components/schemas/ClientCompanyRs"},"shareholders":{"type":"array","items":{"$ref":"#/components/schemas/ClientShareholder"}},"progress":{"$ref":"#/components/schemas/OnboardingProgressArray"},"status":{"$ref":"#/components/schemas/OnboardingStatus"},"kycLevel":{"readOnly":true,"type":"string","enum":["0"]}}}]},"ClientCompanyRq":{"type":"object","description":"The detailed information of the company.","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/EntityType"},{"description":"The legal entity type of the company."}]}}},"ClientCompanyRs":{"allOf":[{"$ref":"#/components/schemas/ClientCompanyRq"},{"type":"object","properties":{"addresses":{"type":"array","items":{"$ref":"#/components/schemas/ClientCompanyAddress"}}}}]},"riskFactorCalculationBaseRs":{"type":"object","allOf":[{"type":"object","properties":{"companyId":{"type":"string"},"companyName":{"type":"string"},"clientReference":{"type":"string"},"oldScore":{"type":"number"},"updatedScore":{"type":"number"},"isManuallyUpdated":{"type":"boolean"}}}]},"OnboardingBaseRs":{"type":"object","allOf":[{"$ref":"#/components/schemas/AuditableBaseObj"},{"type":"object","properties":{"signUpVerification":{"$ref":"#/components/schemas/SignUpVerification"},"selectedProducts":{"$ref":"#/components/schemas/Products"},"company":{"$ref":"#/components/schemas/Company"},"shareholders":{"$ref":"#/components/schemas/ShareholderArray"},"companyDocuments":{"$ref":"#/components/schemas/DocumentArray"},"parentCompanyId":{"type":"string"},"riskAssessment":{"$ref":"#/components/schemas/RiskAssessment"},"kycrAssessment":{"$ref":"#/components/schemas/KycrAssessment"},"subscription":{"$ref":"#/components/schemas/Subscription"},"progress":{"$ref":"#/components/schemas/OnboardingProgressArray"},"status":{"$ref":"#/components/schemas/OnboardingStatus"},"amStatus":{"$ref":"#/components/schemas/OnboardingAMStatus"},"cmStatus":{"$ref":"#/components/schemas/OnboardingCMStatus"},"isUBOCheck":{"$ref":"#/components/schemas/IsUBOCheck"},"assignees":{"type":"array","items":{"type":"string"},"example":["1","2","3"]},"version":{"$ref":"#/components/schemas/EOnboardingVersion"},"avgProgress":{"$ref":"#/components/schemas/AvgProgress"},"type":{"$ref":"#/components/schemas/EOnboardingType"},"liteOnboardingInfo":{"$ref":"#/components/schemas/LiteOnboardingInfo"},"refreshKycStatus":{"$ref":"#/components/schemas/refreshKycStatusRs"},"refreshKycDetails":{"$ref":"#/components/schemas/refreshKycDetailsRs"},"waiverApplied":{"$ref":"#/components/schemas/isWaiverApplied"},"mlroReviewNeeded":{"$ref":"#/components/schemas/mlroReviewNeeded"},"workflow":{"$ref":"#/components/schemas/Workflow"},"isActiveKycrInitiated":{"$ref":"#/components/schemas/isActiveKycrInitiated"},"hasReceivedCompletionEmail":{"$ref":"#/components/schemas/hasReceivedCompletionEmail"},"ClientUpdatedTimestamp":{"$ref":"#/components/schemas/ClientUpdatedTimestamp"},"snoozeCount":{"$ref":"#/components/schemas/snoozeCount"},"subAccount":{"$ref":"#/components/schemas/isSubAccount"}}}]},"OnboardingProgressArray":{"type":"array","items":{"$ref":"#/components/schemas/OnboardingProgress"}},"OnboardingProgress":{"type":"object","required":["state","percentageCompleted"],"properties":{"state":{"$ref":"#/components/schemas/OnboardingState"},"percentageCompleted":{"description":"Percentage completed","type":"integer","example":50},"lastUpdatedAt":{"description":"Last visited date time","type":"string","format":"date-time","example":"2022-05-14T02:35:53.455+05:30"}}},"SignUpVerification":{"type":"object","properties":{"isMobileVerified":{"description":"Whether the user's mobile is verified or not","type":"boolean","example":false},"mobileVerifiedAt":{"description":"The date and time when the user's mobile number was verified","type":"string","format":"date-time","nullable":true,"example":null},"isEmailVerified":{"description":"Whether the user's email is verified or not","type":"boolean","example":true},"emailVerifiedAt":{"description":"The date and time when the user's email was verified","type":"string","format":"date-time","nullable":true,"example":"2022-05-14T02:35:53.455+05:30"}}},"Products":{"type":"array","description":"The array of products that the company has selected.","items":{"type":"string","enum":["Collect","Convert","Pay","Hold","API"]},"minItems":1,"example":["Collect","Convert","Pay"]},"Company":{"allOf":[{"$ref":"#/components/schemas/BaseCompany"},{"type":"object","properties":{"addresses":{"$ref":"#/components/schemas/CompanyAddressArray"}}}]},"BaseCompany":{"type":"object","properties":{"externalId":{"type":"string","description":"The company identification number in the client's system."},"name":{"description":"The registered legal name of the company, with the respective government authority.","type":"string","example":"Verto","nullable":true},"email":{"description":"The company's email address.","type":"string","example":"anirban@vertofx.com"},"reference":{"description":"Reference code for the company.","type":"string","example":"VU-11022013-01"},"countryCode":{"description":"The country calling code for the company's phone number.","type":"string","example":"+44"},"telephone":{"description":"Company telephone number.","type":"string","example":"7812536987"},"tradingName":{"description":"The trading name of the company.","type":"string","nullable":true,"example":null},"identificationNumber":{"description":"The official registration number of the company with the respective government organisation.","type":"string","example":"UP12358132H","nullable":true},"category":{"description":"The primary industry category of the company.","type":"string","example":"Business Services","nullable":true},"subCategory":{"description":"The company's industry classification.","type":"string","example":"Advertising Services","nullable":true},"taxIdOrEin":{"description":"The tax registration number of the company with the respective government tax authority.","type":"string","example":"JH12313","nullable":true},"licensedCountry":{"allOf":[{"$ref":"#/components/schemas/Country"},{"description":"Country where the company is licensed to operate."}]},"website":{"description":"The company's website or online presence.","type":"string","example":"www.vertofx.com","nullable":true},"hasSandboxAccess":{"description":"Indicates if the company has access to a sandbox environment.","type":"boolean","example":true,"nullable":true},"description":{"description":"A short description of the company.","type":"string","example":"Simplifying cross border payments","nullable":true},"country":{"allOf":[{"$ref":"#/components/schemas/Country"},{"description":"The country where the company is located."}]},"isoCountryCode":{"type":"string","description":"ISO country code of the company's location.","example":"GB","nullable":true},"incorporationDate":{"description":"The date when the company was incorporated.","type":"string","format":"date-time","example":"2022-05-14T02:35:53.455+05:30","nullable":true},"complianceWatchlist":{"description":"Indicates if the company is on a compliance watchlist.","type":"boolean","example":false},"isDemoConducted":{"description":"Indicates if a demo has been conducted for the company.","type":"boolean","example":true},"isIndividualProfile":{"description":"Indicates if the profile is individual.","type":"boolean","example":false},"isCompanyDetailsApproved":{"description":"Indicates if the company details are approved.","type":"boolean","example":true},"amlCheck":{"$ref":"#/components/schemas/AMLCheck"},"fraudCheck":{"$ref":"#/components/schemas/FraudCheck"},"riskInfo":{"$ref":"#/components/schemas/CompanyRiskInfo"},"type":{"allOf":[{"$ref":"#/components/schemas/EntityType"},{"description":"The legal entity type of the company."}]},"companyStatusInRegistry":{"$ref":"#/components/schemas/CompanyStatusInReg"},"registrationStatus":{"type":"string","description":"The registration status of the company.","enum":["STARTER","REGISTERED"]},"complianceAgreementStatus":{"type":"string","description":"The status of compliance agreement with the company.","enum":["AGREED","DISAGREED"]},"socialMediaLinks":{"type":"object","description":"Links to the company's social media profiles.","properties":{"tiktok":{"type":"string"},"instagram":{"type":"string"},"facebook":{"type":"string"}}},"representativeRole":{"type":"string","description":"The role of the company's representative.","nullable":true,"enum":["Founder","Executives (CEO, C-Level)","Senior Management (VP, Director)","Middle Management (Manager)","Supervisory Roles (Supervisor, Team Leader)","Staff (Specialist, Analyst)","Entry-Level (Assistant, Intern)","Other"]},"turnover":{"type":"string","description":"The company's annual turnover.","nullable":true,"enum":["Less than $1 million","$1 million - $10 million","$10 million - $50 million","$50 million - $100 million","Over $100 million"]}}},"CompanyAddressArray":{"type":"array","maxItems":2,"items":{"$ref":"#/components/schemas/CompanyAddress"}},"CompanyAddress":{"type":"object","required":["type"],"properties":{"addressLine1":{"description":"Address line number one","type":"string","example":"1600"},"addressLine2":{"description":"Address line number two","type":"string","example":"Amphitheatre Parkway"},"city":{"description":"City","type":"string","example":"Mountain View"},"state":{"description":"State","type":"string","example":"California"},"country":{"allOf":[{"$ref":"#/components/schemas/Country"},{"description":"Regsitered company address"},{"example":"United States"}]},"zipcode":{"description":"Zipcode","type":"string","example":"94043"},"type":{"$ref":"#/components/schemas/CompanyAddressType"}}},"AddressBase":{"type":"object","required":["type"],"properties":{"addressLine1":{"description":"The first line of the address.","type":"string","example":"1600"},"addressLine2":{"description":"The second line of the address.","type":"string","example":"Amphitheatre Parkway"},"city":{"description":"The city where the company is located.","type":"string","example":"Mountain View"},"state":{"description":"The state where the company is located.","type":"string","example":"California"},"zipCode":{"description":"The postal code for the address.","type":"string","example":"94043"},"country":{"allOf":[{"$ref":"#/components/schemas/Country"},{"example":"United States"}]}}},"ClientAddress":{"allOf":[{"$ref":"#/components/schemas/AddressBase"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AddressType"}}}]},"ClientCompanyAddress":{"allOf":[{"$ref":"#/components/schemas/AddressBase"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/CompanyAddressType"}}}]},"Address":{"allOf":[{"$ref":"#/components/schemas/AddressBase"},{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AddressType"}}}]},"ShareholderArray":{"type":"array","items":{"$ref":"#/components/schemas/Shareholder"}},"Shareholder":{"allOf":[{"$ref":"#/components/schemas/BaseShareholder"},{"type":"object","properties":{"verification":{"$ref":"#/components/schemas/ShareholderVerification"}}}]},"BaseShareholder":{"anyOf":[{"$ref":"#/components/schemas/IndividualShareholder"},{"$ref":"#/components/schemas/CorporateShareholder"}]},"ClientShareholder":{"anyOf":[{"$ref":"#/components/schemas/ClientIndividualShareholder"}]},"CorporateShareholder":{"type":"object","properties":{"id":{"allOf":[{"$ref":"#/components/schemas/Uuid"},{"description":"Shareholder ID"}]},"email":{"description":"Email of the shareholder","type":"string","example":"anirban@test.com"},"percentOwnershipInCompany":{"description":"Percentage of ownership in company","type":"number","minimum":0,"maximum":100,"example":25},"ownerType":{"allOf":[{"$ref":"#/components/schemas/OwnerType"}]},"businessEntityType":{"allOf":[{"$ref":"#/components/schemas/EntityType"},{"description":"Business type in case shareholder is a corporate"}]},"businessName":{"description":"Name of business in case shareholder is a corporate","type":"string","example":"Alphabet"},"businessRegistrationNumber":{"description":"Business registration number in case shareholder is a corporate","type":"string","example":"JG23517"},"ownershipTopology":{"$ref":"#/components/schemas/OwnershipTopology"},"nationality":{"allOf":[{"$ref":"#/components/schemas/Country"},{"description":"Registered business country"},{"example":"United States"}]},"isUBOApproved":{"description":"Is the shareholder approved. Only Verto Admins are allowed to update this.","type":"boolean","example":false},"status":{"$ref":"#/components/schemas/ShareholderStatus"},"amlCheck":{"$ref":"#/components/schemas/AMLCheck"},"fraudCheck":{"$ref":"#/components/schemas/FraudCheck"},"riskInfo":{"$ref":"#/components/schemas/ShareholderRiskInfo"},"address":{"allOf":[{"$ref":"#/components/schemas/Address"},{"description":"Registered business address"}]}}},"ClientIndividualShareholder":{"type":"object","properties":{"id":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Uuid"},{"description":"Shareholder ID"}]},"percentOwnershipInCompany":{"description":"Percentage of ownership in company","type":"number","minimum":0,"maximum":100,"example":25},"ownerType":{"allOf":[{"$ref":"#/components/schemas/OwnerType"}]},"firstName":{"description":"First name of the shareholder","type":"string","example":"Anirban"},"lastName":{"description":"Last name of the shareholder","type":"string","example":"Kar"},"nationality":{"allOf":[{"$ref":"#/components/schemas/Country"},{"description":"Country of residence"},{"example":"United States"}]},"isControllingOfficer":{"description":"Is the shareholder a director","type":"boolean"},"dateOfBirth":{"type":"string","format":"date"},"address":{"allOf":[{"$ref":"#/components/schemas/ClientAddress"},{"description":"Individual shareholder address"},{"type":"object","properties":{"type":{"type":"string","enum":["HOME_ADDRESS"]}}}]}}},"IndividualShareholder":{"type":"object","properties":{"id":{"allOf":[{"$ref":"#/components/schemas/Uuid"},{"description":"Shareholder ID"}]},"email":{"description":"Email of the shareholder","type":"string","example":"anirban@test.com"},"percentOwnershipInCompany":{"description":"Percentage of ownership in company","type":"number","minimum":0,"maximum":100,"example":25},"ownerType":{"allOf":[{"$ref":"#/components/schemas/OwnerType"}]},"firstName":{"description":"First name of the shareholder","type":"string","example":"Anirban"},"lastName":{"description":"Last name of the shareholder","type":"string","example":"Kar"},"nationality":{"allOf":[{"$ref":"#/components/schemas/Country"},{"description":"Country of residence"},{"example":"United States"}]},"isControllingOfficer":{"description":"Is the shareholder a director","type":"boolean","example":true},"countryCode":{"description":"Shareholder country code","type":"string","example":"+44","nullable":true},"telephone":{"description":"Shareholder telephone","type":"string","example":"8172538132","nullable":true},"ipAddress":{"description":"Shareholder ip address","type":"string","example":"0.0.0.0","nullable":true},"idNumbers":{"$ref":"#/components/schemas/IdNumbers"},"isUBOApproved":{"description":"Is the shareholder approved. Only Verto Admins are allowed to update this.","type":"boolean","example":false},"address":{"allOf":[{"$ref":"#/components/schemas/Address"},{"description":"Individual shareholder address"}]},"vendorReference":{"type":"string","description":"A Unique Provided by vendor to refer to the shareholder in their own data store."},"dateOfBirth":{"type":"string","format":"date"},"kycOnboardingType":{"$ref":"#/components/schemas/EOnboardingType"},"kycStatus":{"$ref":"#/components/schemas/EKYCStatus"},"status":{"$ref":"#/components/schemas/ShareholderStatus"},"selectedForLiteOnboarding":{"type":"boolean"},"selectedByRepresentative":{"type":"boolean"},"verificationLink":{"type":"string"},"verificationLinkGeneratedAt":{"type":"string","format":"date-time"},"isKycDoneWithRegTech":{"type":"boolean","description":"Flag to describe if regtech was used for individual shareholder KYC or not. This flag to be used in Risk.","example":true},"kycApprovedOn":{"type":"string","format":"date-time","example":"2022-05-14T02:35:53.455+05:30","description":"Shareholder kyc approved on","nullable":true},"amlCheck":{"$ref":"#/components/schemas/AMLCheck"},"fraudCheck":{"$ref":"#/components/schemas/FraudCheck"},"riskInfo":{"$ref":"#/components/schemas/ShareholderRiskInfo"},"acceptedHighRiskFactors":{"type":"array","items":{"$ref":"#/components/schemas/EAcceptedHighRiskFactor"}}}},"IdNumbers":{"type":"object","description":"object containing all the id numbers","properties":{"bvn":{"type":"string","example":"00000000000"},"nin_v2":{"type":"string","example":"00000000000"},"tin":{"type":"string","example":"00000000-0000"}}},"ShareholderStatus":{"type":"string","enum":["ACTIVE","ARCHIVED"]},"DocumentArray":{"type":"array","items":{"$ref":"#/components/schemas/Document"}},"Document":{"type":"object","properties":{"id":{"allOf":[{"$ref":"#/components/schemas/Uuid"},{"description":"Document ID"}]},"typeId":{"allOf":[{"$ref":"#/components/schemas/Uuid"},{"description":"Document type ID"}]},"link":{"description":"Document link","type":"string"},"country":{"description":"Country where the document is issued","type":"string","nullable":true},"status":{"$ref":"#/components/schemas/DocumentStatus"},"fromAPI":{"description":"Whether the document is fetched from a vendor or not. Only Verto Admins are allowed to update this.","type":"boolean","example":false,"nullable":true},"preApproved":{"description":"Whether the document is pre-approved or not. Only Verto Admins are allowed to update this.","type":"boolean","example":false,"nullable":true},"originalFilename":{"description":"Document original filename","type":"string","example":"bvn.pdf","nullable":true},"mimeType":{"description":"Document mime type","type":"string","example":"application/pdf","nullable":true},"size":{"description":"Document size","type":"integer","format":"float","nullable":true}}},"ShareholderDocument":{"allOf":[{"$ref":"#/components/schemas/Document"}],"type":"object","properties":{"shareholderId":{"allOf":[{"$ref":"#/components/schemas/Uuid"},{"description":"Shareholder ID"}]}}},"AnyValue":{"additionalProperties":true,"description":"Can be any value, including `null`."},"ShareholderVerification":{"type":"object","description":"Shareholder verification data","properties":{"documents":{"$ref":"#/components/schemas/DocumentArray"}}},"RiskAssessment":{"type":"array","items":{"$ref":"#/components/schemas/OnboardingAnswer"}},"KycrAssessment":{"type":"array","items":{"$ref":"#/components/schemas/OnboardingAnswer"}},"OnboardingAnswer":{"type":"object","required":["questionId","answer"],"properties":{"questionId":{"allOf":[{"$ref":"#/components/schemas/Uuid"},{"description":"Question ID"}]},"answer":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"example":"$499K - $1M"}}},"Subscription":{"required":["planId"],"properties":{"planId":{"allOf":[{"$ref":"#/components/schemas/Uuid"},{"description":"Subscription plan ID"}]}}},"Workflow":{"type":"object","properties":{"state":{"type":"string","enum":["PIPELINE","ONBOARDED","REJECTED","VERIFICATION_IN_PROGRESS","OS_REVIEW","COMPLIANCE_REVIEW","FURTHER_INFO_REQUESTED","NEW"]},"representative":{"type":"object","properties":{"sales":{"$ref":"#/components/schemas/AssignedRep"},"accountManager":{"$ref":"#/components/schemas/AssignedRep"},"onboarding":{"$ref":"#/components/schemas/AssignedRep"},"compliance":{"$ref":"#/components/schemas/AssignedRep"}}}}},"AssignedRep":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier for the assigned representative.","nullable":true},"assignedDate":{"type":"string","description":"The date and time when the representative was assigned.","nullable":true,"format":"date-time","example":"2022-05-14T02:35:53.455+05:30"},"firstName":{"type":"string","description":"The first name of the assigned representative.","nullable":true},"lastName":{"type":"string","description":"The last name of the assigned representative.","nullable":true},"roleName":{"type":"string","description":"The role name or title of the assigned representative.","nullable":true},"avatarURL":{"type":"string","description":"The URL of the assigned representative's avatar image.","nullable":true}}},"OnboardingState":{"description":"Onboarding state","type":"string","enum":["SIGNUP_VERIFICATION","BUSINESS_INFORMATION","SHAREHOLDER_INFORMATION","COMPANY_DOCUMENTS","SHAREHOLDER_VERIFICATION","RISK_ASSESSMENT"],"example":"SIGNUP_VERIFICATION"},"OnboardingStatus":{"description":"Onboarding status","type":"string","enum":["IN_PROGRESS","USER_COMPLETED","APPROVED","REJECTED"],"example":"IN_PROGRESS"},"PostAction":{"description":"Specifies the action that will actioned upon the respective object. In case of UPDATE and DELETE, id field is required","type":"string","enum":["ADD","UPDATE","DELETE"]},"OwnerType":{"description":"Whether the shareholder is an individual or a corporate","type":"string","enum":["INDIVIDUAL","CORPORATE"]},"OwnershipTopology":{"description":"Whether the ownership is direct or indirect in case shareholder is a corporate","type":"string","enum":["DIRECT","INDIRECT"]},"CompanyAddressType":{"description":"Specifies the type of address, which can either be `COMPANY_ADDRESS` or `OPERATING_ADDRESS`.","type":"string","enum":["COMPANY_ADDRESS","OPERATING_ADDRESS"],"example":"COMPANY_ADDRESS"},"AddressType":{"description":"Specifies the type of address, which can be `COMPANY_ADDRESS`, `OPERATING_ADDRESS`, `HOME_ADDRESS`, or `OTHER_ADDRESS`.","type":"string","enum":["COMPANY_ADDRESS","OPERATING_ADDRESS","HOME_ADDRESS","OTHER_ADDRESS"],"example":"HOME_ADDRESS"},"Uuid":{"description":"A unique identifier.","type":"string","minLength":1,"maxLength":50,"example":"5f29833d-1104-42a9-8c63-e6c8140130c1"},"CompanyStatusInReg":{"description":"Status of company in corporate registry.","type":"string","nullable":true},"EntityType":{"description":"Describes the type of business entity.","type":"string","enum":["Public Limited Company","Private Limited Company","Limited Liability Company","Sole Trader / Sole Proprietorship / Freelancers","Club / Association","Non Profit / Charity","Estate / Trust","Partnerships","Unlimited Company","Closed Corporation","PTY Limited"],"example":"Private Limited Company"},"DocumentStatus":{"nullable":true,"description":"Document Status. Only Verto Admins are allowed to update this.","type":"string","enum":["APPROVED","PENDING","DISAPPROVED",null],"example":"PENDING"},"IsUBOCheck":{"nullable":true,"description":"Are all the shareholders checked by Verto Admin. Acts only like a checkpoint","type":"boolean","example":false},"OnboardingAMStatus":{"description":"Onboarding account manager status. Only Verto Admins are allowed to update this.","type":"string","enum":["WAITING_FOR_INFORMATION_FROM_CLIENT","WAITING_FOR_ACCOUNT_MANAGER_REVIEW","WAITING_FOR_ACCOUNT_MANAGER_FOLLOWUP","PASSED_TO_COMPLIANCE",null],"nullable":true},"OnboardingCMStatus":{"nullable":true,"description":"Onboarding compliance manager status. Only Verto Admins are allowed to update this.","type":"string","enum":["WAITING_FOR_COMPLIANCE_REVIEW","COMPLIANCE_REVIEW_IN_PROGRESS","HIGH_RISK_MLRO_REVIEW_NEEDED","MLRO_REVIEW_NEEDED","COMPLIANCE_PROFILE_REVIEW_COMPLETED","PASSED_TO_AM_FOR_FURTHER_INFORMATION",null]},"EOnboardingType":{"type":"string","description":"Defines the onboarding type for the company, which can be either `LITE` or `REGULAR`.","enum":["LITE","REGULAR"]},"EOnboardingVersion":{"description":"Onboarding version. Only Verto Admins are allowed to update this.","type":"string","enum":["V1","V2","V3","V4"],"example":"V4"},"AvgProgress":{"description":"Avg Progress based on user progress achieved throughout various sections.","type":"number","example":85.25},"snoozeCount":{"description":"Avg Progress based on user progress achieved throughout various sections.","type":"number","default":0,"example":1},"ClientUpdatedTimestamp":{"description":"Timestamp when the platform user last performed an update on onboarding data.","type":"string","format":"date-time"},"LiteOnboardingInfo":{"description":"Lite onboarding data","type":"object","properties":{"progress":{"type":"array","items":{"$ref":"#/components/schemas/OnboardingProgress"}},"status":{"$ref":"#/components/schemas/ELiteOnboardingStatus"},"firstApprovalDate":{"type":"string","format":"date-time","example":"2022-05-14T02:35:53.455+05:30"},"updatedApprovalDate":{"type":"string","format":"date-time","example":"2023-05-14T02:35:53.455+05:30"},"accountUpgradedTimestamp":{"type":"string","format":"date-time","example":"2023-10-14T02:35:53.455+05:30"}}},"ELiteOnboardingStatus":{"type":"string","enum":["IN_PROGRESS","MANUAL_REVIEW","APPROVED","REJECTED"]},"isWaiverApplied":{"nullable":true,"description":"isWaiver applied for the client or not","type":"boolean","example":false},"mlroReviewNeeded":{"nullable":true,"description":"the client needs MLRO Review or not","type":"boolean","example":false},"isActiveKycrInitiated":{"nullable":true,"description":"the client's active kycr is initiated or not","type":"boolean","example":false},"hasReceivedCompletionEmail":{"nullable":true,"description":"the client has received onboarding completion email or not","type":"boolean","example":false},"AuditableBaseObj":{"type":"object","properties":{"id":{"readOnly":true,"$ref":"#/components/schemas/Uuid"},"createdAt":{"readOnly":true,"type":"string","description":"The date and time when the object was created.","format":"date-time","example":"2022-05-14T02:35:53.455+05:30"},"modifiedAt":{"readOnly":true,"type":"string","description":"The date and time when the object was last modified.","format":"date-time","example":"2022-05-14T02:35:53.455+05:30"},"modifiedByUserId":{"readOnly":true,"type":"string","description":"The user ID of the person who last modified the object.","example":"1"}}},"isSubAccount":{"nullable":true,"description":"is the account is sub-account or not","type":"boolean","example":false},"Country":{"nullable":true,"description":"The country where the sub-account is registered.","type":"string","enum":[null,"Aland Islands","Albania","Algeria","Andorra","Angola","Anguilla","Antigua and Barbuda","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bonaire, Saint Eustatius and Saba","Bosnia and Herzegovina","Botswana","Brazil","British Indian Ocean Territory","British Virgin Islands","Brunei Darussalam","Bulgaria","Burkina Faso","Cambodia","Cameroon","Canada","Cape Verde","Cayman Islands","Chad","Chile","China","Chinese Taipei","Christmas Island","Cocos Islands","Colombia","Comoros","Cook Islands","Costa Rica","Cote D'Ivoire","Curacao","Cyprus","Czech Republic","Denmark","Djibouti","Dominica","Dominican Republic","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Falkland Islands","Faroe Islands","Fiji","Finland","France","French Guiana","French Polynesia","Gabon","Gambia","Gaza Strip","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guadeloupe","Guam","Guatemala","Guernsey","Guyana","Honduras","Hong Kong","Hungary","Iceland","India","Indonesia","Ireland","Isle of Man","Israel","Italy","Ivory Coast","Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kiribati","Kuwait","Kyrgyzstan","Laos","Latvia","Lesotho","Liberia","Liechtenstein","Lithuania","Luxembourg","Macao","Macau","Madagascar","Malawi","Malaysia","Maldives","Malta","Marshall Islands","Martinique","Mauritania","Mauritius","Mayotte","Mexico","Micronesia","Moldova","Monaco","Mongolia","Montserrat","Morocco","Mozambique","Namibia","Nauru","Nepal","Netherlands","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","Niue","Norfolk Island","Northern Mariana Islands","Norway","Oman","Pakistan","Palau","Palestinian Territory","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Pitcairn","Poland","Portugal","Puerto Rico","Puerto Rico","Qatar","Reunion","Romania","Rwanda","Saint Barthelemy","Saint Helena","Saint Kitts and Nevis","Saint Lucia","Saint Martin","Saint Pierre and Miquelon","Saint Vincent and the Grenadines","Samoa","San Marino","Sao Tome and Principe","Saudi Arabia","Senegal","Seychelles","Sierra Leone","Singapore","Sint Maarten","Slovakia","Solomon Islands","South Africa","South Korea","Spain","Sri Lanka","Suriname","Svalbard and Jan Mayen","Swaziland","Sweden","Switzerland","Taiwan","Tajikistan","Tanzania","Thailand","Timor-Leste","Togo","Tokelau","Tonga","Trinidad and Tobago","Tunisia","Turkey","Turkmenistan","Turks and Caicos Islands","Tuvalu","U.S. Virgin Islands","Uganda","United Arab Emirates","United Kingdom","United States","Uruguay","Uzbekistan","Vanuatu","Vatican","Vietnam","Wallis and Futuna","Western Sahara","Zambia"]},"EKYCStatus":{"type":"string","description":"Status of the kyc verification process","enum":["PENDING","IN_PROGRESS","USER_COMPLETED","MANUAL_REVIEW","APPROVED","REJECTED","RESUBMISSION_REQUESTED"]},"FraudCheck":{"type":"object","properties":{"nationalDBStatus":{"$ref":"#/components/schemas/ENationalDBFraudCheckStatus"},"onlineDataStatus":{"$ref":"#/components/schemas/EOnlineDataFraudCheckStatus"},"nationalDBResult":{"$ref":"#/components/schemas/AnyValue"},"onlineDataResult":{"$ref":"#/components/schemas/AnyValue"}}},"AMLCheck":{"type":"object","properties":{"matchesPepEnrties":{"type":"boolean","description":"Indicates if the entity matches any Politically Exposed Persons (PEP).","example":false},"matchesSanctionEntries":{"type":"boolean","description":"Indicates if the entity matches any sanction entries.","example":false},"matchesAdverseMediaEntries":{"type":"boolean","description":"Indicates if the entity matches any adverse media entries.","example":true},"status":{"$ref":"#/components/schemas/EAMLCheckStatus"},"lastFetchedOn":{"type":"string","format":"date-time","description":"The date and time when the AML data was last fetched.","example":"2022-05-14T02:35:53.455+05:30"},"result":{"allOf":[{"$ref":"#/components/schemas/AnyValue"},{"description":"The result of the AML check."}]}}},"EAMLCheckStatus":{"type":"string","description":"The current status of the AML (Anti-Money Laundering) check.","enum":["REJECT","MANUAL_REVIEW","ESCALATE_TO_COMPLIANCE","APPROVE"]},"ENationalDBFraudCheckStatus":{"type":"string","enum":["REJECT","MANUAL_REVIEW","ESCALATE_TO_COMPLIANCE","APPROVE"]},"EOnlineDataFraudCheckStatus":{"type":"string","enum":["REJECT","MANUAL_REVIEW","ESCALATE_TO_COMPLIANCE","APPROVE"]},"CompanyRiskInfo":{"type":"object","description":"Company risk scores","properties":{"registeredCountryScore":{"type":"number","description":"Registered country score"},"operatingCountryScore":{"type":"number","description":"Operating country score"},"industryScore":{"type":"number","description":"Industry score"},"useCaseOrProductScore":{"type":"number","description":"Selected use case or product score"},"maxTransactionVolumeScore":{"type":"number","description":"Max transaction volume score"},"finalRiskScore":{"type":"number","description":"Final risk score"},"computedRisk":{"$ref":"#/components/schemas/ERiskType"},"finalRisk":{"$ref":"#/components/schemas/ERiskType"}}},"ShareholderRiskInfo":{"type":"object","description":"Shareholder risk score","properties":{"residentialCountryScore":{"type":"number","description":"Residential country score"},"nationalityScore":{"type":"number","description":"Nationality score"},"pepScore":{"type":"number","description":"PEP score"},"sanctionScore":{"type":"number","description":"Sanction score"},"adverseMediaScore":{"type":"number","description":"Adverse media score"},"finalRiskScore":{"type":"number","description":"Final risk score"},"isMLRORequired":{"type":"boolean","description":"Is money laundering officer required"},"computedRisk":{"$ref":"#/components/schemas/ERiskType"},"finalRisk":{"$ref":"#/components/schemas/ERiskType"}}},"ERiskType":{"type":"string","enum":["LOW","MEDIUM","HIGH","OUT_OF_RISK_APPETITE"]},"EAcceptedHighRiskFactor":{"type":"string","enum":["ACCEPTED_ADVERSE_MEDIA"]},"FxRateResponse":{"type":"object","properties":{"success":{"type":"boolean","description":"A boolean flag indicating whether the foreign exchange transaction or rate quote request was successful. \n\nThis field returns `true` if the operation was completed successfully, and `false` otherwise. \n\nIt helps in quickly identifying the status of the request.\n"},"rate":{"type":"number","format":"float","description":"The exchange rate applied to the foreign exchange transaction. This field specifies the amount of the target currency that one unit of the source currency will buy. \n\nFor example, if the exchange rate from `USD` to `NGN` is `1600.28`, the `rate` would be `1600.28`, meaning `1` USD equals `1600.28` NGN.\n"},"vfx_token":{"type":"string","description":"The representation of the `rate` field. This token is required in the request body parameter to execute the [Create an FX Trade](https://vertofx-csay.readme.io/reference/create_an_fx_trade).\nThe validity for which is **30 seconds**.\n"},"expiry":{"type":"string","format":"date-time","description":"The date and time at which the foreign exchange rate quote or transaction offer expires. This field specifies the deadline by which the quoted exchange rate is valid and must be accepted or executed. \n\n**Format:** `2022-06-16T11:00:37.003Z`\n\nTypically follows the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard.\n"}}},"FxOrderDetails":{"type":"object","description":"Contains detailed information about the foreign exchange order.","properties":{"id":{"type":"number","description":"A unique identifier assigned to each foreign exchange transaction request. This field is used to track and reference specific transactions within the system. The `id` ensures that each transaction can be uniquely identified and retrieved for auditing, reporting, or further processing purposes.\n"},"reference":{"type":"string","description":"A unique verto reference number to each foreign exchange transaction request.\n"},"amountFrom":{"type":"number","description":"The amount of the source currency to be converted in the foreign exchange transaction. This field specifies the quantity of the currency that is being exchanged from. \n\nFor example, if converting 100 USD to NGN, `amountFrom` would be `100`.\n"},"amountTo":{"type":"number","description":"The amount of the target currency that will be received in the foreign exchange transaction. This field specifies the quantity of the currency that is being exchanged to. \n\nFor example, if converting 100 USD to NGN and the exchange rate is 1600.28, `amountTo` would be 1600.28.\n"},"rate":{"type":"string","description":"The exchange rate applied to the foreign exchange transaction. This field specifies the amount of the target currency that one unit of the source currency will buy. \n\nFor example, if the exchange rate from `USD` to `NGN` is `1600.28`, the `rate` would be `1600.28`, meaning `1` USD equals `1600.28` NGN.\n"},"transactionState":{"type":"string","enum":["inward_remittance_pending","inward_remittance_confirmed","inward_remittance_disputed","outward_remittance_complete","outward_remittance_disputed"],"description":"Indicates the current transaction state of the FX order.\n"},"status":{"type":"string","enum":["deposit_recorded","recipient_added","order_placed"],"description":"Indicates the current transaction status of the FX order."},"clientReference":{"type":"string","description":"Use this client reference to pass your customer name or any reference you'd like for us to carry through.\n"},"currencyFrom":{"$ref":"#/components/schemas/CurrencyFrom"},"currencyTo":{"$ref":"#/components/schemas/CurrencyTo"}}},"WalletDetails":{"type":"object","description":"Contains detailed information about a specified wallets.\n","properties":{"id":{"type":"number","description":"A unique identifier assigned to each wallet. This field is used to track and reference specific wallets within the system. The `id` ensures that each wallet can be uniquely identified and retrieved for editing, or further processing purposes.\n"},"customReferenceLabel":{"type":"string","description":"A string describing the type of wallet\n"},"balance":{"type":"string","description":"Current balance of the specified wallet\n"},"currency":{"type":"string","description":"Currency for example, USD or EUR of the specified wallet\n"},"accountMode":{"type":"string","description":"Type of accounts for the specified wallet.\n"},"localAccountDetails":{"$ref":"#/components/schemas/LocalAccountDetails"},"globalAccountDetails":{"$ref":"#/components/schemas/GlobalAccountDetails"}}},"LocalAccountDetails":{"type":"object","description":"Contains detailed information about a local account of a wallet.\n","properties":{"name":{"type":"string","description":"Name on the local account.\n"},"accountNumber":{"type":"string","description":"Account number for a local account of a wallet.\n"},"sortCode":{"type":"string","description":"A unique number that identifies a bank and branch where an account is held.\n"},"bankName":{"type":"string","description":"Name of the bank for a local account of a wallet.\n"},"bankAddress":{"type":"string","description":"Address of the bank for a local account of a wallet.\n"}}},"GlobalAccountDetails":{"type":"object","description":"Contains detailed information about a global account of a wallet.\n","properties":{"name":{"type":"string","description":"Name on the globa; account.\n"},"accountNumber":{"type":"string","description":"Account number for a global account of a wallet.\n"},"swiftCode":{"type":"string","description":"A code used to identify the country, bank and branch that an account is registered to.\n"},"bankName":{"type":"string","description":"Name of the bank for a global account of a wallet.\n"},"bankAddress":{"type":"string","description":"Address of the bank for a global account of a wallet.\n"}}},"PaymentRequest":{"type":"object","description":"An object containing all necessary details to initiate a payment as part of the foreign exchange transaction.","properties":{"paymentType":{"type":"string","enum":["convertWalletPayout","convertWithinWallets"],"description":"The type of payment you intend to make which is based on where you are sending the funds.\n"},"sourceWalletId":{"type":"number","description":"The wallet you intend to deduct the fund for the exchange.\n"},"sourceAmount":{"type":"number","format":"float","description":"The amount you intend to deduct the fund from the provided wallet for the exchange.\n"},"purposeId":{"type":"number","description":"Use purposeId to state the purpose of the transfer of funds. Use the Get Purpose Codes API to get the purpose codes. \n\nRequired for `convertWalletPayout` request.\n"},"vfx_Token":{"type":"string","description":"The representation of the rate. This token is generated using the Get FX Rate API. The validity for which is 30 seconds.\n"},"customPaymentReference":{"type":"string","nullable":true,"description":"You can use this to pass a reference that you'd like Verto to store.\n"},"targetAccountId":{"type":"number","description":"The id of beneficiary you intend to send the converted funds. \n\nRequired for `convertWalletPayout` request.\n"},"paymentId":{"type":"string","format":"UUID","description":"This helps us identify a unique payment request. If the same value is sent in a duplicate payment request, it will be rejected.\n"}},"required":["paymentType","sourceWalletId","sourceAmount","vfx_Token","paymentId"]},"BeneficiaryRequest":{"type":"object","properties":{"beneficiaryEntityType":{"type":"string","enum":["company","individual"],"example":"company","description":"This denotes the type of the beneficiary you intend to add.\n"},"beneficiaryFirstName":{"type":"string","description":"**Conditional**\n\nIf the beneficiary is an `individual` in `beneficiaryEntityType` field, then you'll need to add this value.\n"},"beneficiaryLastName":{"type":"string","description":"**Conditional**\n\nIf the beneficiary is an `individual` in `beneficiaryEntityType` field, then you'll need to add this value.\n"},"beneficiaryCompanyName":{"type":"string","description":"**Conditional**\n\nIf the beneficiary is a `company` in `beneficiaryEntityType` field, then you'll need to add this value.\n"},"currency":{"allOf":[{"$ref":"#/components/schemas/Currency"},{"description":"3-character [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code in which a beneficairy is holding their account."}]},"beneficiaryCountryCode":{"type":"string","description":"2-character [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.\n"},"accountNumber":{"type":"string","description":"Indicates the beneficiary account number.\n"},"nationalId":{"type":"string","description":"A unique alphanumeric identifier assigned to financial institutions worldwide. It typically consists of 6 to 11 characters and provides essential information about the bank, country, and location.\n\nFor examples: Sort code, Swift code, ABA code, BIC code, IFSC code or Routing number.\n"},"country":{"type":"string","description":"Name of the Beneficiary country.\n"},"clientReference":{"type":"string","description":"You can pass a client reference to be stored for this beneficiary.\n"}},"required":["beneficiaryEntityType","currency","beneficiaryCountryCode","accountNumber","nationalId","country"]},"BeneficiaryAccountDetails":{"type":"object","description":"Contains detail information about the beneficiary.","properties":{"id":{"type":"number","description":"Unique ID of the created beneficiary.\n"},"accountNumber":{"type":"string","description":"Indicates the beneficiary account number.\n"},"bankName":{"type":"string","description":"Name of the bank where a beneficiary account is created.\n"},"beneficiaryAddress":{"type":"string","description":"Address of the beneficiary bank.\n"},"beneficiaryCity":{"type":"string","description":"City where the beneficiary has the bank account created.\n"},"beneficiaryCompanyName":{"type":"string","nullable":true,"description":"Name of the beneficiary company.\n"},"beneficiaryCountryCode":{"type":"string","description":"2-character [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.\n"},"beneficiaryEntityType":{"type":"string","enum":["company","individual"],"description":"This denotes the type of the beneficiary you intend to add.\n"},"beneficiaryPostcode":{"type":"string","description":"The ZIP code of the mailing address where the beneficiary may be contacted."},"beneficiaryEmail":{"type":"string","nullable":true,"format":"email","description":"Email of the beneficiary.\n"},"country":{"type":"string","description":"Name of the country where beneficairy has the bank account.\n"},"reference":{"type":"string","description":"Indicates the unique verto reference number for the beneficiary created.\n"},"beneficiaryFirstName":{"type":"string","nullable":true,"description":"First name of the beneficiary.\n"},"beneficiaryLastName":{"type":"string","nullable":true,"description":"Last name of the beneficiary.\n"},"nationalId":{"type":"string","description":"A unique alphanumeric identifier assigned to financial institutions worldwide. It typically consists of 6 to 11 characters and provides essential information about the bank, country, and location.\n\nFor examples: Sort code, Swift code, ABA code, BIC code, IFSC code or Routing number.\n"},"currency":{"$ref":"#/components/schemas/Currency"},"clientReference":{"type":"string","nullable":true,"description":"A client reference to be stored for this beneficiary.\n"},"status":{"type":"string","enum":["pending","rejected","approved"],"description":"Indicates the current status of the given beneficiary.\n"}}},"pageMetaDataDetails":{"type":"object","description":"A collection of additional information or attributes related to the retrieved results.","properties":{"total":{"type":"number","description":"Represents the total number of records available in the dataset. This field provides the overall count of items that match the query criteria, regardless of pagination.\n\nFor example, if there are 200 records in total but only 50 are displayed per page, `total` would be `200`."},"currentPage":{"type":"number","description":"Specifies the page number to be retrieved in a paginated response. This field allows users to navigate through multiple pages of results by indicating which page of data they want to access."},"pageSize":{"type":"number","description":"Specifies the number of records to be returned per page in a paginated response. This field allows users to customize the size of each page of results, enabling more efficient data retrieval and navigation through large datasets."}}},"PaymentDetails_v2.1":{"type":"object","properties":{"id":{"type":"number","description":"A unique ID of the payment transaction."},"userId":{"type":"number","description":"A unique user ID of the payment transaction."},"amount":{"type":"string","description":"Indicates the payment amount."},"reference":{"type":"string","description":"Indicates the unique verto reference number of the payment."},"state":{"type":"string","description":"Describes the current state of the payment transaction."},"currency":{"$ref":"#/components/schemas/Currency"},"paymentId":{"type":"string","nullable":true,"format":"uuid","description":"Indicates the unique payment ID."},"type":{"type":"string","description":"Describes the type of payment."},"clientReference":{"type":"string","nullable":true,"description":"A client reference to be stored for this beneficiary."},"account":{"$ref":"#/components/schemas/BeneficiaryAccountDetails"},"walletId":{"type":"number","description":"Unique ID of the wallet."}}},"PaymentDetails_v2.2":{"type":"object","properties":{"id":{"type":"number","description":"A unique ID of the payment transaction."},"userId":{"type":"number","description":"A unique user ID of the payment transaction."},"amount":{"type":"number","format":"float","description":"Indicates the payment amount."},"paymentId":{"type":"string","format":"uuid","description":"Indicates the unique payment ID."},"reference":{"type":"string","description":"Indicates the unique verto reference number of the payment."},"state":{"type":"string","description":"Describes the current state of the payment transaction."},"currency":{"$ref":"#/components/schemas/Currency"},"clientReference":{"type":"string","description":"A client reference to be stored for this beneficiary."},"account":{"$ref":"#/components/schemas/BeneficiaryAccountDetails"}}},"CurrencyFrom":{"type":"string","minLength":3,"maxLength":3,"description":"3-character [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code representing the source currency for the foreign exchange transaction. This field specifies the currency that is being converted from in the exchange process. \n\nFor example, if converting from US Dollar (USD) to Naira (NGN), `currencyFrom` would be `USD`.","enum":["AED","AUD","BDT","BGN","BHD","BRL","CAD","CHF","CNY","CZK","DKK","EGP","ETB","EUR","GBP","GHS","HKD","HRK","HUF","IDR","ILS","INR","JPY","KES","KWD","LKR","MAD","MXN","MYR","NGN","NOK","NZD","OMR","PHP","PKR","PLN","QAR","RON","RUB","SAR","SEK","SGD","THB","TND","TRY","TZS","UGX","USD","XAF","XOF","ZAR","ZMW"]},"CurrencyTo":{"type":"string","minLength":3,"maxLength":3,"description":"3-character [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code representing the target currency for the foreign exchange transaction. This field specifies the currency that is being converted to in the exchange process.\n\nFor example, if converting from US Dollar (USD) to Naira (NGN), `currencyTo` would be `NGN`.","enum":["AED","AUD","BDT","BGN","BHD","BRL","CAD","CHF","CNY","CZK","DKK","EGP","ETB","EUR","GBP","GHS","HKD","HRK","HUF","IDR","ILS","INR","JPY","KES","KWD","LKR","MAD","MXN","MYR","NGN","NOK","NZD","OMR","PHP","PKR","PLN","QAR","RON","RUB","SAR","SEK","SGD","THB","TND","TRY","TZS","UGX","USD","XAF","XOF","ZAR","ZMW"]},"Currency":{"type":"string","minLength":3,"maxLength":3,"description":"3-character [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code used to denote a specific currency. It serves as a universal identifier for the type of money involved in a wallet transaction.","enum":["AED","AUD","BDT","BGN","BHD","BRL","CAD","CHF","CNY","CZK","DKK","EGP","ETB","EUR","GBP","GHS","HKD","HRK","HUF","IDR","ILS","INR","JPY","KES","KWD","LKR","MAD","MXN","MYR","NGN","NOK","NZD","OMR","PHP","PKR","PLN","QAR","RON","RUB","SAR","SEK","SGD","THB","TND","TRY","TZS","UGX","USD","XAF","XOF","ZAR","ZMW"]},"FundingMethod":{"type":"object","properties":{"id":{"type":"string","description":"Indicates the unique Id of the account."},"accountType":{"$ref":"#/components/schemas/AccountType"},"fundsType":{"$ref":"#/components/schemas/FundsType"},"accountName":{"type":"string","description":"Indicates the name assigned to the account."},"accountNumber":{"type":"string","description":"Indicates the unique account number."},"bankCode":{"type":"string","description":"A unique alphanumeric identifier assigned to financial institutions worldwide. It typically consists of 6 to 11 characters and provides essential information about the bank, country, and location.\nFor examples: Sort code, Swift code, ABA code, BIC code, IFSC code or Routing number."},"bankName":{"type":"string","description":"Name of the bank where the account is opened for a linked wallet."},"bankAddress":{"type":"string","description":"Address of the bank."},"smartWalletRef":{"type":"string","nullable":true,"description":"Indicates the unique wallet reference for a wallet.\n- For **segerated account type**, default value is `null`.\n- For **pooled account type**, a unique wallet reference is generated."},"virtualAccountId":{"type":"string","description":"Indicates the unique Id of the account."},"notes":{"type":"array","description":"Indicates the list of information related to the account.","items":{"type":"string"}}}},"AccountType":{"type":"string","description":"Specifies the scope or reach of a wallet.\n- `LOCAL`: Receive into local account via CHAPS, BACS & Faster Payments. Incoming payments are typically received in minutes but can take up a few hours during peak times.\n- `GLOBAL`: receives both local payments and international payments. Receive into this International account via International Transfers (SWIFT). Incoming payments are typically received in 1-5 working days.\" \nYou can recieve payments from the countries on [this list](https://support.vertofx.com/en/articles/6156317-what-countries-can-i-receive-payments-from).","enum":["LOCAL","GLOBAL"]},"FundsType":{"type":"string","description":"Indicates how funds are managed within the context of a financial system.","enum":["SEGERATED","POOLED"]},"SubAccountListRs":{"type":"object","properties":{"totalCount":{"type":"number","description":"Total count","example":50},"items":{"type":"array","items":{"$ref":"#/components/schemas/SubAccountRs"}}}},"SubAccountRs":{"type":"object","properties":{"id":{"description":"The company ID of the newly created sub-account.","type":"string"},"externalId":{"type":"string","description":"The company identification number in the client's system."},"parentCompanyId":{"type":"string","description":"The ID of the parent company associated with the sub-account."},"name":{"type":"string","description":"The name of the sub-account."},"country":{"$ref":"#/components/schemas/Country"},"category":{"type":"string","description":"The primary industry sector the sub-account operates in."},"subCategory":{"type":"string","description":"The company's industry classification."},"identificationNumber":{"type":"string","description":"The official registration number of the company with the respective government organisation."},"taxIdOrEin":{"type":"string","description":"The tax registration number of the company with the respective government tax authority."},"accountType":{"$ref":"#/components/schemas/ESubAccountType"},"companyReference":{"type":"string","description":"The reference code for the sub-account."},"companyStatus":{"type":"string","description":"The current status of the sub-account.","enum":["CREATED","REJECTED","APPROVED"]},"linkedStatus":{"type":"string","description":"The status of the linkage between the sub-account and its parent company.","enum":["PENDING","PENDING_POA","PENDING_ACCEPTANCE_BY_CHILD","ACCEPTED","REJECTED"]},"linkedAt":{"type":"string","format":"date-time","description":"The date and time when the sub-account was linked to the parent company."},"createdAt":{"type":"string","format":"date-time","description":"The date and time when the sub-account was created."},"updatedAt":{"type":"string","format":"date-time","description":"The date and time when the sub-account was last updated."}}},"ESubAccountType":{"type":"string","description":"The type of the sub-account.","enum":["PARTNER_REFERRED","SUB_CLIENT","RELATED_ENTITY"]},"ECompanyAccountType":{"type":"string","description":"Indicates the type of account. The possible enum values are: \n  * `PARTNER_REFERRED`: Not supported at this time.\n  * `SUB_CLIENT`: The client of a the partner regulated financial institution. \n  * `RELATED_ENTITY`: Not supported at this time.","enum":["PARTNER_REFERRED","SUB_CLIENT","RELATED_ENTITY"]},"fxTradeRequestBody":{"type":"object","properties":{"sourceTargetPairs":{"type":"array","description":"The source and target of the transaction. The source and target can be an account or a wallet.\n","items":{"type":"object","properties":{"source":{"type":"string","description":"Indicates the source account."},"target":{"type":"string","description":"Indicates the target account."}}}},"state":{"type":"object","description":"The status of the transaction. E.g. inwardSettlementDone,outwardSettlementDone,inwardSettlementPending, outwardSettlementPending.","properties":{"include":{"type":"array","items":{"type":"string"}}}},"createdStartDate":{"type":"string","description":"The date for the first transaction was created."},"createdEndDate":{"type":"string","description":"The date for the last transaction was created."},"paymentIds":{"type":"array","description":"A list of unique identifiers for the payments to be processed. This field can have value as null.\n","items":{"type":"string"}}}}}}}