AML Check

Required Class: AmlCheck Class

Running AML Check on Ruby

  1. Get your Smile ID Partner ID

  2. Get your API Key (take note of the environment you are running the job in)

  3. Get the required details from your users

  4. Submit the Job to Smile ID

  5. Interpret your results

Get your Partner ID

You can find your Partner ID in the menu list when logged into the portal.

Get your API Key

Your api key is in the developer section of the portal.

  • Click on the Generate New API Key button

  • Copy your api key (ensure you are in the right environment)

Get the User's details

To submit a AML check job, you need the full name of the user, the birth year and the user's known nationalities.

Submit the Job to Smile ID

You can copy the sample code below and edit with your partner and job details.

require 'smile-identity-core'

# Initialize
partner_id = '<Your partner ID>'; # login to the Smile ID portal to view your partner id
api_key = '<Your API key>'; # copy your API key from the Smile ID portal
sid_server = '<0 or 1>'; # Use '0' for the sandbox server, use '1' for production server

connection =, api_key, sid_server)

# Create required tracking parameters
request_params = {
    job_id: '<put your unique job ID here>',
    user_id: '<put your unique ID for the user here>',
    full_name: '<put the full name of the user>',
    countries: '<an array of the user country using ISO 3166-1 alpha-2 format>',
    birth_year: '<birth year of the user in the format yyyy>',
    # set search_existing_user to true to re-use the name and birth year from a previous
    # biometric kyc or document verification job. NOTE: user_id must be the same as
    # submitted with the biometric kyc or document verification job
    search_existing_user: '<true | false>',
    optional_info: '<hash of additional data>'

# Submit the job
response = connection.submit_job(request_params)  

Example Response Body

Your response will return a JSON String containing the below:

  "Actions": {
    "Listed": "Listed"
  "PartnerParams": {
    "job_type": 10,
    "user_id": "4cb0f26-2b567-5800-b05e-c0f095g6036",
    "job_id": "3ba0e15e-1a56-4799-a94d-b0e084f50256"
  "SmileJobID": "0000000411",
  "no_of_persons_found": 1,
  "people": [
      "addresses": [
      "adverse_media": [
          "date_published": "2021-09-24",
          "publisher": "Regulatory Times",
          "source_link": "",
          "title": "Jon Doe angered regulators"
      "aliases": [
        "John Doe"
      "associations": [
          "association_type": "PEP",
          "name": "Bob Smith",
          "relationship": "Bob Smith is an associate of John Leo Doe"
      "dates_of_birth": [
      "name": "John Leo Doe",
      "nationalities": [
      "pep": {
        "pep_level": 1,
        "political_positions": [
            "country": "United States",
            "from": "2020-01-05",
            "position": "Representative",
            "to": "2022-01-05"
            "country": "United States",
            "from": "2022-01-05",
            "position": "Senator",
            "to": null
        "sources": [
            "source_link": "",
            "source_name": ""
      "sanctions": [
          "date_of_birth": "",
          "nationality": "American",
          "source_details": {
            "listed_date": "2020-01-05",
            "source_link": [
            "source_name": "Office of Foreign Assets Control (OFAC)",
            "source_type": "Sanctions"
  "ResultCode": "1030",
  "ResultText": "Found on list",
  "signature": "...",
  "timestamp": "2023-02-17T16:24:16.835Z"

Interpret your Results

You can read more about result codes and responses in the AML check section of the docs.

Last updated