### cURL Request Example for Client Setup Webhook Source: https://docs.nium.com/docs/reference/client-setup This snippet demonstrates how to send a POST request to the client setup webhook using cURL. It includes the endpoint URL, content type, and a sample JSON payload. ```curl curl --location --request POST 'https:///webhook' \ -H 'content-type: application/json' \ -d '{ "clientHashId": "b1cb53e3-6a1b-4b58-a10d-5a79c5967cef", "newClientHashId": "308a4d01-8549-4cbb-b83f-05cd768d606f", "newClientName": "OnboardingNewClientTest", "template": "CARD_CLIENT_SETUP_WEBHOOK" }' ``` -------------------------------- ### Get Client Details API Request (cURL) Source: https://docs.nium.com/docs/getting-started Example cURL request to retrieve client details using your clientHashId and API key. This demonstrates how to authenticate and make a GET request to the Nium API. ```curl curl --location 'https://gateway.nium.com/api/v1/client/a1b2c3d4-e5f6-7890-1234-567890abcdef' \ --header 'x-api-key: pQ7rS9tUvWxYz1a2B3c4D5e6F7g8H9i0' ``` -------------------------------- ### E_KYC Customer Onboarding Request Example Source: https://docs.nium.com/docs/ic-au-request-examples This JSON object demonstrates an example request for onboarding a customer using the 'E_KYC' mode. It includes personal details, address information, and identification documents required for electronic KYC verification. This example can be customized with specific customer data. ```json { "nationality": "AU", "kycMode": "E_KYC", "complianceLevel": "SCREENING_KYC", "countryCode": "AU", "addressLine1": "2numbernumbernumbernumber|name", "postcode": "4313", "email": "api_auto_101140554@yopmail.com", "mobile": "107555762", "billingAddress1": "2numbernumbernumbernumber|name", "billingState": "Queensland", "billingZipCode": "4213", "billingCountry": "AU", "billingCity":"asd", "addressCountry":"AU", "city":"city", "state": "Queensland", "dateOfBirth": "1990-12-18", "taxDetails": [ { "countryOfResidence": "FR", "taxIdNumber": "FR123456" } ], "identificationDoc": [ { "identificationType": "PASSPORT", "identificationDocColor": "G", "identificationValue": "0432125561", "identificationDocReferenceNumber": "1", "identificationDocHolderName": "Amin Prayag Uttarkar", "identificationDocExpiry": "2026-08-10", "identificationDocIssuanceCountry": "AU" } ] } ``` -------------------------------- ### Simulate Receiving a Transaction API Request (cURL) Source: https://docs.nium.com/docs/getting-started Example cURL request to simulate receiving a transaction for pre-funding a client's wallet. This POST request requires specific headers and a JSON payload including amount, currency, and other transaction details. ```curl curl --request POST \ --url https://gateway.nium.com/api/v1/inward/payment/manual \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --header 'x-api-key: pQ7rS9tUvWxYz1a2B3c4D5e6F7g8H9i0' \ --data '{ \ "amount": 1000000, \ "currency": "USD", \ "bankReferenceNumber": "1111", \ "bankSource": "CB_GB", \ "country":"SG" \ }' ``` -------------------------------- ### MANUAL_KYC Customer Onboarding Request Example Source: https://docs.nium.com/docs/ic-au-request-examples This JSON object provides an example request for onboarding a customer using the 'MANUAL_KYC' mode. It includes basic personal information, contact details, and identification documents, including placeholders for base64 encoded images. This structure is suitable for manual verification processes. ```json { "firstName": "Sam", "lastName": "John", "email": "sam@xyz.com", "nationality": "IN", "countryCode": "SG", "mobile": "12345678", "dateOfBirth": "1995-05-24", "kycMode": "MANUAL_KYC", "billingAddress1": "123 Long Street", "billingAddress2": "Great Lake", "billingCity": "Mumbai", "billingZipCode": "00185", "billingCountry": "IN", "identificationDoc": [ { "identificationType": "PASSPORT", "identificationValue": "P12345", "identificationDocIssuanceCountry": "IN", "identificationDocExpiry": "04/05/2026", "identificationDocument": [ { "fileName": "passport-front.jpg", "fileType": "image/jpeg", "document": "<>" }, { "fileName": "passport-back.jpg", "fileType": "image/jpeg", "document": "<>" } ] } ] } ``` -------------------------------- ### Initiate Customer Onboarding Request Example Source: https://docs.nium.com/docs/ic-uk-request-examples This JSON object represents a request to initiate the onboarding process for a new individual customer. It includes personal details, KYC mode, address, consent, and financial information. This is a primary call for first-time onboarding. ```json { "firstName": "Jack", "lastName": "Jill", "email": "jack@xyz.com", "nationality": "GB", "countryCode": "GB", "mobile": 23456789, "dateOfBirth": "1992-12-18", "kycMode": "E_DOC_VERIFY", "billingAddress1": "Long Street", "billingCity": "London", "billingZipCode": "E1 6AN", "billingCountry": "GB", "verificationConsent": true, "intendedUseOfAccount": "Day-to-day spending", "estimatedMonthlyFundingCurrency": "SGD", "estimatedMonthlyFunding": "1000-5000", "internationalPaymentsSupported": true, "expectedCountriesToSendReceiveFrom": [ "SG", "ES" ] } ``` -------------------------------- ### Get Client Details Source: https://docs.nium.com/docs/getting-started This endpoint retrieves details about your Nium client configuration. It requires your `clientHashId` and `x-api-key` for authentication. An optional `x-request-id` header can be included for tracking. ```APIDOC ## GET /api/v1/client/{clientHashId} ### Description Retrieves the configuration details for a specific Nium client. ### Method GET ### Endpoint `/api/v1/client/{clientHashId}` ### Parameters #### Path Parameters - **clientHashId** (string) - Required - The unique identifier for your Nium client account. #### Query Parameters None #### Headers - **x-api-key** (string) - Required - Your Nium API key. - **x-request-id** (string) - Optional - A unique identifier to track the request. ### Request Example ```curl curl --location 'https://gateway.nium.com/api/v1/client/a1b2c3d4-e5f6-7890-1234-567890abcdef' \ --header 'x-api-key: pQ7rS9tUvWxYz1a2B3c4D5e6F7g8H9i0' ``` ### Response #### Success Response (200) - **name** (string) - The name of the client. - **email** (string) - The email address associated with the client. - **contactNo** (string) - The contact number for the client (can be null). - **markup** (number) - The markup percentage applied to transactions. - **clientHashId** (string) - The unique identifier for the client. - **prefundName** (string) - The name used for prefunding. #### Response Example ```json { "name": "Acme Co.", "email": "no-reply@example.com", "contactNo": null, "markup": 0.0, "clientHashId": "a6908180-0016-44d1-865f-4e57d1d5aec5", "prefundName": "Developer Portal Management US", ... } ``` ``` -------------------------------- ### POST /websites/nium/onboarding Source: https://docs.nium.com/docs/ic-uk-request-examples Initiates the onboarding process for a new individual customer. This is used for the first-time onboarding. ```APIDOC ## POST /websites/nium/onboarding ### Description Initiates the onboarding process for a new individual customer. This is used for the first-time onboarding. ### Method POST ### Endpoint /websites/nium/onboarding ### Parameters #### Request Body - **firstName** (string) - Required - The first name of the customer. - **lastName** (string) - Required - The last name of the customer. - **email** (string) - Required - The email address of the customer. - **nationality** (string) - Required - The nationality of the customer (e.g., 'GB'). - **countryCode** (string) - Required - The country code associated with the customer (e.g., 'GB'). - **mobile** (integer) - Required - The mobile number of the customer. - **dateOfBirth** (string) - Required - The date of birth of the customer in YYYY-MM-DD format. - **kycMode** (string) - Required - The KYC verification mode (e.g., 'E_DOC_VERIFY'). - **billingAddress1** (string) - Required - The first line of the billing address. - **billingCity** (string) - Required - The billing city. - **billingZipCode** (string) - Required - The billing zip code. - **billingCountry** (string) - Required - The billing country. - **verificationConsent** (boolean) - Required - Consent for verification. - **intendedUseOfAccount** (string) - Required - The intended use of the account. - **estimatedMonthlyFundingCurrency** (string) - Required - The currency for estimated monthly funding (e.g., 'SGD'). - **estimatedMonthlyFunding** (string) - Required - The estimated range of monthly funding (e.g., '1000-5000'). - **internationalPaymentsSupported** (boolean) - Required - Indicates if international payments are supported. - **expectedCountriesToSendReceiveFrom** (array) - Required - A list of country codes the customer expects to send or receive from. ### Request Example ```json { "firstName": "Jack", "lastName": "Jill", "email": "jack@xyz.com", "nationality": "GB", "countryCode": "GB", "mobile": 23456789, "dateOfBirth": "1992-12-18", "kycMode": "E_DOC_VERIFY", "billingAddress1": "Long Street", "billingCity": "London", "billingZipCode": "E1 6AN", "billingCountry": "GB", "verificationConsent": true, "intendedUseOfAccount": "Day-to-day spending", "estimatedMonthlyFundingCurrency": "SGD", "estimatedMonthlyFunding": "1000-5000", "internationalPaymentsSupported": true, "expectedCountriesToSendReceiveFrom": [ "SG", "ES" ] } ``` ### Response #### Success Response (200) - **message** (string) - A success message indicating the onboarding has been initiated. #### Response Example ```json { "message": "Onboarding initiated successfully." } ``` ``` -------------------------------- ### Corporate Customer Onboarding (SG) - Auto-Approval Request Example (cURL) Source: https://docs.nium.com/docs/getting-started This cURL request demonstrates how to onboard a corporate customer in Singapore using the auto-approval method. It sends customer details to the Nium API endpoint for creating corporate customers. Ensure you replace placeholder values with actual data and API keys. ```curl curl --request POST \ --url https://gateway.nium.com/api/v1/client/a1b2c3d4-e5f6-7890-1234-567890abcdef/corporate \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --header 'x-api-key: pQ7rS9tUvWxYz1a2B3c4D5e6F7g8H9i0' \ --data '{ "region": "EU", "businessDetails": { "businessName": "KOLBE ELECTRIC COMPANY 1", "businessRegistrationNumber": "320000M01283", "businessType": "PRIVATE_COMPANY", "tradeName": "Kolbe Electric", "website": "www.kolbe.com", ' ``` -------------------------------- ### POST /api/v2/client/{clientId}/customer/{customerId}/beneficiaries Source: https://docs.nium.com/docs/getting-started Adds a beneficiary to a customer's account. A beneficiary is the recipient of a remittance. ```APIDOC ## POST /api/v2/client/{clientId}/customer/{customerId}/beneficiaries ### Description Adds a beneficiary to a customer's account. A beneficiary is the recipient of a remittance. ### Method POST ### Endpoint /api/v2/client/{clientId}/customer/{customerId}/beneficiaries ### Parameters #### Path Parameters - **clientId** (string) - Required - The unique identifier for the client. - **customerId** (string) - Required - The unique identifier for the customer. #### Query Parameters None #### Request Body - **beneficiaryName** (string) - Required - The name of the beneficiary. - **beneficiaryAccountType** (string) - Required - The type of the beneficiary account (e.g., 'Individual'). - **beneficiaryCountryCode** (string) - Required - The country code of the beneficiary. - **destinationCountry** (string) - Required - The country where the funds will be sent. - **destinationCurrency** (string) - Required - The currency for the destination. - **payoutMethod** (string) - Required - The method for payout (e.g., 'LOCAL'). - **beneficiaryAccountNumber** (string) - Required - The account number of the beneficiary. - **routingCodeType1** (string) - Required - The type of the first routing code (e.g., 'SWIFT'). - **routingCodeValue1** (string) - Required - The value of the first routing code. ### Request Example ```json { "beneficiaryName": "Jane Doe", "beneficiaryAccountType": "Individual", "beneficiaryCountryCode": "SG", "destinationCountry": "SG", "destinationCurrency": "SGD", "payoutMethod": "LOCAL", "beneficiaryAccountNumber": "235689856", "routingCodeType1": "SWIFT", "routingCodeValue1": "DBSSSGSG" } ``` ### Response #### Success Response (200) - **beneficiaryHashId** (string) - The unique identifier for the created beneficiary. - **beneficiaryName** (string) - The name of the beneficiary. - **beneficiaryCountryCode** (string) - The country code of the beneficiary. - **destinationCountry** (string) - The country where the funds will be sent. - **destinationCurrency** (string) - The currency for the destination. - **beneficiaryAccountNumber** (string) - The account number of the beneficiary. - **routingCodeType1** (string) - The type of the first routing code. - **routingCodeValue1** (string) - The value of the first routing code. - **payoutMethod** (string) - The method for payout. #### Response Example ```json { "beneficiaryHashId": "660ba867f9fcab54bcde40e3", "beneficiaryName": "Jane Doe", "beneficiaryCountryCode": "SG", "destinationCountry": "SG", "destinationCurrency": "SGD", "beneficiaryAccountNumber": "235689856", "routingCodeType1": "SWIFT", "routingCodeValue1": "DBSSSGSG", "payoutMethod": "LOCAL" } ``` ``` -------------------------------- ### Issue Virtual Account Number Source: https://docs.nium.com/docs/getting-started Assigns a virtual account number (VAN) to a wallet, enabling it to be used as a funding instrument for transactions. ```APIDOC ## POST /api/v1/client/{clientId}/customer/{customerId}/wallet/{walletId}/paymentId ### Description Assigns a virtual account number (VAN) to a wallet, enabling it to be used as a funding instrument for transactions. ### Method POST ### Endpoint /api/v1/client/{clientId}/customer/{customerId}/wallet/{walletId}/paymentId ### Parameters #### Path Parameters - **clientId** (string) - Required - The unique identifier for the client. - **customerId** (string) - Required - The unique identifier for the customer. - **walletId** (string) - Required - The unique identifier for the wallet. #### Query Parameters None #### Request Body - **amount** (integer) - Required - The amount to be associated with the payment ID. - **destinationCurrencyCode** (string) - Required - The currency code for the destination. - **fundingChannel** (string) - Required - The channel through which the wallet is funded (e.g., "PREFUND"). - **sourceCurrencyCode** (string) - Required - The currency code for the source. ### Request Example ```json { "amount": 1000, "destinationCurrencyCode": "SGD", "fundingChannel": "PREFUND", "sourceCurrencyCode": "SGD" } ``` ### Response #### Success Response (200) - **bankName** (string) - The name of the bank. - **currencyCode** (string) - The currency code of the account. - **uniquePayerId** (string) - The unique identifier for the payer. - **uniquePaymentId** (string) - The unique identifier for the payment. #### Response Example ```json { "bankName": "COMMUNITY FEDERAL SAVINGS BANK", "currencyCode": "SGD", "uniquePayerId": null, "uniquePaymentId": "85175412368" } ``` ``` -------------------------------- ### Reinitiate Customer Onboarding Request Example Source: https://docs.nium.com/docs/ic-uk-request-examples This JSON object shows a request to reinitiate the onboarding process for a customer, which can be used after a previous rejection. It includes all the fields from the initial onboarding request plus a `customerHashId` to identify the existing customer record. ```json { "firstName": "Jack", "lastName": "Brown", "email": "jack@xyz.com", "nationality": "GB", "countryCode": "GB", "mobile": 23456789, "dateOfBirth": "1992-12-18", "kycMode": "E_DOC_VERIFY", "billingAddress1": "Long Street", "billingCity": "London", "billingZipCode": "E1 6AN", "billingCountry": "GB", "verificationConsent": true, "intendedUseOfAccount": "Receiving a salary", "estimatedMonthlyFundingCurrency": "SGD", "estimatedMonthlyFunding": "1000-5000", "internationalPaymentsSupported": true, "expectedCountriesToSendReceiveFrom": [ "SG", "ES" ], "customerHashId": "f1cbcdac-1bb8-4cf9-9f19-702b95bc1c0b" } ``` -------------------------------- ### Fetch Wallet Details Source: https://docs.nium.com/docs/getting-started Retrieve the details of a customer's wallet to obtain their walletHashId. This ID is crucial for funding customer wallets. ```APIDOC ## GET /api/v1/client/{clientHashId}/customer/{customerHashId} ### Description Fetches the details of a specific customer, including their associated wallet information such as the `walletHashId`. ### Method GET ### Endpoint `/api/v1/client/{clientHashId}/customer/{customerHashId}` ### Parameters #### Path Parameters - **clientHashId** (string) - Required - The unique identifier for the client. - **customerHashId** (string) - Required - The unique identifier for the customer. ### Request Example ```bash curl --url https://gateway.nium.com/api/v1/client/a1b2c3d4-e5f6-7890-1234-567890abcdef/customer/1087d697-49f6-4d5c-a171-8cd49395731b \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --header 'x-api-key: pQ7rS9tUvWxYz1a2B3c4D5e6F7g8H9i0' ``` ### Response #### Success Response (200) - **referenceId** (string) - Unique identifier for the transaction. - **customerId** (integer) - The internal ID of the customer. - **walletHashId** (string) - The unique identifier for the customer's wallet. - **customerHashId** (string) - The unique identifier for the customer. - **email** (string) - The customer's email address. - **countryCode** (string) - The customer's country code. - **mobile** (string) - The customer's mobile number. - **phoneCode** (string) - The customer's phone country code. - **firstName** (string) - The customer's first name. - **middleName** (string) - The customer's middle name (nullable). - **lastName** (string) - The customer's last name. - **preferredName** (string) - The customer's preferred name. - **dateOfBirth** (string) - The customer's date of birth (YYYY-MM-DD). - **gender** (string) - The customer's gender (nullable). - **nationality** (string) - The customer's nationality. - **employeeId** (string) - The customer's employee ID (nullable). - **designation** (string) - The customer's designation (nullable). - **customerType** (string) - The type of customer (e.g., CORPORATE). - **deliveryAddress1** (string) - First line of the delivery address. - **deliveryAddress2** (string) - Second line of the delivery address (nullable). - **deliveryCity** (string) - The city of the delivery address. - **deliveryLandmark** (string) - Landmark for the delivery address (nullable). - **deliveryCountry** (string) - The country of the delivery address. - **deliveryState** (string) - The state of the delivery address. - **deliveryZipCode** (string) - The zip code of the delivery address. - **billingAddress1** (string) - First line of the billing address. - **billingAddress2** (string) - Second line of the billing address (nullable). - **billingCity** (string) - The city of the billing address. - **billingLandmark** (string) - Landmark for the billing address (nullable). - **billingCountry** (string) - The country of the billing address. - **billingState** (string) - The state of the billing address. - **billingZipCode** (string) - The zip code of the billing address. - **complianceStatus** (string) - The compliance status of the customer. - **termsAndConditionAcceptanceFlag** (boolean) - Flag indicating acceptance of terms and conditions. - **termsAndConditionName** (string) - Name of the terms and conditions (nullable). - **termsAndConditionVersionId** (string) - Version ID of the terms and conditions (nullable). - **remarks** (string) - Remarks regarding the customer. - **complianceRemarks** (string) - Remarks regarding compliance. - **rfiDetails** (object) - Details related to Request for Information (nullable). - **paymentIds** (array) - Array of payment identifiers. - **currencyCode** (string) - Currency code for the payment ID. - **uniquePaymentId** (string) - Unique payment identifier. - **uniquePayerId** (string) - Unique payer identifier (nullable). - **bankName** (string) - Name of the bank associated with the payment ID. - **status** (string) - The status of the customer. - **kycMode** (string) - The KYC mode for the customer. - **complianceLevel** (string) - The compliance level of the customer. - **identificationTypes** (array) - Array of identification types provided. - **segment** (string) - Customer segment (nullable). - **nativeLanguageName** (string) - Customer's native language name (nullable). - **identificationData** (array) - Array of identification data. - **type** (string) - Type of identification. - **value** (string) - Value of the identification. - **blockReason** (string) - Reason for blocking the customer (nullable). - **blockComment** (string) - Comment regarding the block (nullable). - **blockUpdatedBy** (string) - Identifier of who updated the block (nullable). - **taxDetails** (array) - Array of tax details (empty in this example). - **professionalDetails** (array) - Array of professional details. - **position** (string) - Position held. - **sharePercentage** (string) - Share percentage. - **positionStartDate** (string) - Start date of the position (nullable). - **positionEndDate** (string) - End date of the position (nullable). - **pep** (boolean) - Flag indicating if the customer is a Politically Exposed Person. - **tags** (object) - Key-value pairs for tags (empty in this example). - **businessDetails** (object) - Details about the business entity. - **referenceId** (string) - Unique reference ID for business details. - **businessName** (string) - The name of the business. - **complianceRegion** (string) - Compliance region for the business. - **tradeName** (string) - Trade name of the business (nullable). - **businessType** (string) - Type of business. - **registeredCountry** (string) - Country of registration. - **businessRegistrationType** (string) - Type of business registration (nullable). - **businessRegistrationNumber** (string) - Business registration number. - **registeredAddress** (object) - The registered address of the business. - **address1** (string) - First line of the registered address. - **address2** (string) - Second line of the registered address. - **city** (string) - City of the registered address. - **state** (string) - State of the registered address. - **country** (string) - Country of the registered address. - **zipCode** (string) - Zip code of the registered address. - **businessAddress** (object) - The operational business address (nullable). - **address1** (string) - First line of the business address. - **address2** (string) - Second line of the business address. - **city** (string) - City of the business address. - **state** (string) - State of the business address. - **country** (string) - Country of the business address. - **zipCode** (string) - Zip code of the business address. - **website** (string) - Business website (nullable). - **registeredDate** (string) - Date of registration. - **listedExchange** (string) - Stock exchange where listed (nullable). - **caseId** (string) - Case ID associated with the business. - **clientId** (string) - Client ID associated with the business. - **documentDetails** (array) - Details of documents submitted (empty in this example). - **description** (string) - Description of the business. - **trusteeName** (string) - Trustee name (nullable). - **settlorName** (string) - Settlor name (nullable). - **formerName** (string) - Former business name (nullable). - **legislationName** (string) - Name of the legislation (nullable). - **legislationType** (string) - Type of legislation (nullable). - **regulatoryDetails** (string) - Regulatory details (nullable). - **businessExtractCoveredStakeholder** (string) - Business extract covered stakeholder (nullable). - **partnershipDetails** (string) - Partnership details (nullable). - **associationDetail** (string) - Association details (nullable). - **taxDetails** (array) - Array of tax details (empty in this example). - **stockSymbol** (string) - Stock symbol (nullable). - **stakeholderDetails** (array) - Array of stakeholder details. - **referenceId** (string) - Unique reference ID for the stakeholder. - **firstName** (string) - First name of the stakeholder. - **middleName** (string) - Middle name of the stakeholder (nullable). #### Response Example ```json { "referenceId": "63792940-7983-466b-b96c-f7528e1c3f80", "customerId": 532574, "walletHashId": "1e2d2de7-7c95-4c04-b7a7-7e14784ddd52", "customerHashId": "1087d697-49f6-4d5c-a171-8cd49395731b", "email": "tony@xyz.com", "countryCode": "US", "mobile": "9974922222", "phoneCode": "1", "firstName": "MARTHA", "middleName": null, "lastName": "ENGLISH REBORN", "preferredName": "MARTHA", "dateOfBirth": "1961-08-11", "gender": null, "nationality": "US", "employeeId": null, "designation": null, "customerType": "CORPORATE", "deliveryAddress1": "Apt X 99, Green Avenue", "deliveryAddress2": null, "deliveryCity": "West Hartford", "deliveryLandmark": null, "deliveryCountry": "US", "deliveryState": "Connecticut", "deliveryZipCode": "06110", "billingAddress1": "Apt X 99, Green Avenue", "billingAddress2": null, "billingCity": "West Hartford", "billingLandmark": null, "billingCountry": "US", "billingState": "Connecticut", "billingZipCode": "06110", "complianceStatus": "IN_PROGRESS", "termsAndConditionAcceptanceFlag": false, "termsAndConditionName": null, "termsAndConditionVersionId": null, "remarks": "Updated compliance details for the Existing Initiate-KYB Customer", "complianceRemarks": "The compliance is updated for existing KYB Customer", "rfiDetails": null, "paymentIds": [ { "currencyCode": "USD", "uniquePaymentId": "85081121750", "uniquePayerId": null, "bankName": "CFSB_US" } ], "status": "Pending", "kycMode": "KYB", "complianceLevel": "SCREENING_KYB", "identificationTypes": [ "NATIONAL_ID" ], "segment": null, "nativeLanguageName": null, "identificationData": [ { "type": "NATIONAL_ID", "value": "xxxxxxxxx" } ], "blockReason": null, "blockComment": null, "blockUpdatedBy": null, "taxDetails": [], "professionalDetails": [ { "position": "SIGNATORY", "sharePercentage": "0.0", "positionStartDate": null, "positionEndDate": null } ], "pep": false, "tags": {}, "businessDetails": { "referenceId": "54dd8104-0c05-4a28-9fd0-87bf3e2ba471", "businessName": "TESSERACT LLC WFWEF", "complianceRegion": "US", "tradeName": null, "businessType": "LIMITED_LIABILITY_COMPANY", "registeredCountry": "US", "businessRegistrationType": null, "businessRegistrationNumber": "529402356", "registeredAddress": { "address1": "223, Grand St.", "address2": "", "city": "New York", "state": "NY", "country": "US", "zipCode": "10013" }, "businessAddress": { "address1": null, "address2": null, "city": null, "state": null, "country": null, "zipCode": null }, "website": null, "registeredDate": "2021-08-10", "listedExchange": null, "caseId": "34d2c12c-0a70-4c89-ba09-d2c59b3ad640", "clientId": "NIM1712038090GBC", "documentDetails": [], "description": "Limited liability company in SG for IT services", "trusteeName": null, "settlorName": null, "formerName": null, "legislationName": null, "legislationType": null, "regulatoryDetails": null, "businessExtractCoveredStakeholder": null, "partnershipDetails": null, "associationDetail": null, "taxDetails": [], "stockSymbol": null }, "stakeholderDetails": [ { "referenceId": "f6060166-56a3-43fa-a7da-e44b16563f94", "firstName": "MARTHA", "middleName": null } ] } ``` ``` -------------------------------- ### EU Onboarding - Exception Handling Source: https://docs.nium.com/docs/ic-eu-onboarding Details on handling exceptions and understanding the status of customer verification after redirection. ```APIDOC ## Exception Handling for Redirection Flow When using the Unified Add Customer API, Nium returns a redirect URL. After the customer completes KYC verification, they are redirected back to your eKYC redirect URL with query parameters indicating the verification status. ### Query Parameters in Redirection - `errorCode` (string) - Indicates specific error codes during verification. - `errorMessage` (string) - Provides a description of the error. - `isSuccess` (boolean) - Indicates whether the customer completed the required steps in the vendor's UI. Note: This does not confirm successful KYC completion. ### Scenarios and Expected Actions | Scenario | Expected Action from Client | Query Parameters in Redirection | |---------------------------------------------------|---------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------| | Customer completed required steps in vendor UI | Receive a callback from Nium. | `errorCode`: N/A `errorMessage`: N/A `isSuccess`: true | | Document already submitted in vendor UI | KYC process is complete. Receive a callback from Nium. | `errorCode`: R403 `errorMessage`: documentAlreadySubmitted `isSuccess`: false | | Customer provided incorrect data in vendor UI | Ask customer to submit correct data on the vendor's page. | `errorCode`: I400 `errorMessage`: vendorValidationError `isSuccess`: false | | Verification failure at the vendor | Application sent for manual review. | `errorCode`: R401 `errorMessage`: vendorVerificationFailure `isSuccess`: false | | Internal server error at Nium | Ask customer to try after some time or reach out to Nium support. | `errorCode`: R500 `errorMessage`: internalServerError `isSuccess`: false | | Any unexpected error from the vendor | Ask customer to try after some time or reach out to Nium support. | `errorCode`: I500 `errorMessage`: unexpectedError `isSuccess`: false | | Validation already completed and customer retries | KYC process is complete. Receive a callback from Nium. | `errorCode`: R606 `errorMessage`: verificationAlreadyCompleted `isSuccess`: true | ### Redirect URL Examples - **Successful Case:** `https://www.nium.com/?customerHashId=773bcf1f-7e91-459b-a03a-75c87005145f&errorCode=&errorMessage=&isSuccess=true` - **Unsuccessful Case:** `https://www.nium.com/?customerHashId=590ec98a-ab6a-4da1-8dc7-35cc1c98d236&errorCode=R408&errorMessage=redirectURLExpired&isSuccess=false` ``` -------------------------------- ### Fund Customer Wallet (Simulated) Source: https://docs.nium.com/docs/getting-started Simulates receiving a transaction to fund a customer's wallet. This is used in the sandbox environment to test funding mechanisms. ```APIDOC ## POST /api/v1/inward/payment/manual ### Description Simulates receiving a transaction to fund a customer's wallet. This is used in the sandbox environment to test funding mechanisms. ### Method POST ### Endpoint /api/v1/inward/payment/manual ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **amount** (integer) - Required - The amount of the transaction. - **bankReferenceNumber** (string) - Required - The reference number provided by the bank. - **bankSource** (string) - Required - The source bank identifier (e.g., "DBS_SG"). - **currency** (string) - Required - The currency of the transaction. - **country** (string) - Required - The country associated with the transaction. ### Request Example ```json { "amount": 10, "bankReferenceNumber": "712347512376", "bankSource": "DBS_SG", "currency": "SGD", "country": "SG" } ``` ### Response #### Success Response (200) This endpoint typically returns a confirmation of the simulated transaction. The exact response structure may vary, but it generally indicates success. #### Response Example (Response details for this simulated endpoint are not explicitly provided in the input, but a success status is expected.) ``` -------------------------------- ### POST /websites/nium/reinitiate-onboarding Source: https://docs.nium.com/docs/ic-uk-request-examples Reinitiates the onboarding process for an existing customer, typically after a previous attempt was rejected or incomplete. ```APIDOC ## POST /websites/nium/reinitiate-onboarding ### Description Reinitiates the onboarding process for an existing customer, typically after a previous attempt was rejected or incomplete. This endpoint requires a `customerHashId` to identify the customer. ### Method POST ### Endpoint /websites/nium/reinitiate-onboarding ### Parameters #### Request Body - **firstName** (string) - Required - The first name of the customer. - **lastName** (string) - Required - The last name of the customer. - **email** (string) - Required - The email address of the customer. - **nationality** (string) - Required - The nationality of the customer (e.g., 'GB'). - **countryCode** (string) - Required - The country code associated with the customer (e.g., 'GB'). - **mobile** (integer) - Required - The mobile number of the customer. - **dateOfBirth** (string) - Required - The date of birth of the customer in YYYY-MM-DD format. - **kycMode** (string) - Required - The KYC verification mode (e.g., 'E_DOC_VERIFY'). - **billingAddress1** (string) - Required - The first line of the billing address. - **billingCity** (string) - Required - The billing city. - **billingZipCode** (string) - Required - The billing zip code. - **billingCountry** (string) - Required - The billing country. - **verificationConsent** (boolean) - Required - Consent for verification. - **intendedUseOfAccount** (string) - Required - The intended use of the account. - **estimatedMonthlyFundingCurrency** (string) - Required - The currency for estimated monthly funding (e.g., 'SGD'). - **estimatedMonthlyFunding** (string) - Required - The estimated range of monthly funding (e.g., '1000-5000'). - **internationalPaymentsSupported** (boolean) - Required - Indicates if international payments are supported. - **expectedCountriesToSendReceiveFrom** (array) - Required - A list of country codes the customer expects to send or receive from. - **customerHashId** (string) - Required - The unique identifier for the customer whose onboarding is being reinitiated. ### Request Example ```json { "firstName": "Jack", "lastName": "Brown", "email": "jack@xyz.com", "nationality": "GB", "countryCode": "GB", "mobile": 23456789, "dateOfBirth": "1992-12-18", "kycMode": "E_DOC_VERIFY", "billingAddress1": "Long Street", "billingCity": "London", "billingZipCode": "E1 6AN", "billingCountry": "GB", "verificationConsent": true, "intendedUseOfAccount": "Receiving a salary", "estimatedMonthlyFundingCurrency": "SGD", "estimatedMonthlyFunding": "1000-5000", "internationalPaymentsSupported": true, "expectedCountriesToSendReceiveFrom": [ "SG", "ES" ], "customerHashId": "f1cbcdac-1bb8-4cf9-9f19-702b95bc1c0b" } ``` ### Response #### Success Response (200) - **message** (string) - A success message indicating the onboarding has been reinitiated. #### Response Example ```json { "message": "Onboarding reinitiated successfully." } ``` ```