Senzing v3 G2Engine Getting Entities and Records

Getting Entities and Records

getRecord

Use getRecord() to retrieve a single record from the data repository; the record is assigned in JSON form to a user-designated buffer. Once the Senzing engine is initialized, getRecord() can be called as many times as desired and from multiple threads at the same time.

g2_engine.getRecord(datasource_code, record_id, response_bytearray, g2_engine_flags)
Parameters
  • datasource_code: (str) The configured DATA_SOURCE for the record.
  • record_id: (str) The RECORD_ID for the record.
  • response_bytearray: (bytearray) Object to store the output of the method.
  • g2_engine_flags: (int [optional]) One or more flags used to determine response document content. Applicable flags are listed here getRecord flags )
Click to expand `getRecord()` example
Example
#! /usr/bin/env python3

from senzing import G2Engine, G2Exception

# REPLACE /home/user/your_project with the path to your Senzing project
senzing_engine_configuration_json = '{ "PIPELINE": { "CONFIGPATH": "/home/user/your_project/etc", "SUPPORTPATH": "/home/user/your_project/data", "RESOURCEPATH": "/home/user/your_project/resources" }, "SQL": { "CONNECTION": "sqlite3://na:na@/home/user/your_project/var/sqlite/G2C.db" } }'

g2_engine = G2Engine()

datasource_code = 'CUSTOMERS'

record_id = '1001'

response_bytearray = bytearray()

try:
    g2_engine.init("G2Engine", senzing_engine_configuration_json)

    g2_engine.getRecord(
        datasource_code,
        record_id,
        response_bytearray)

    g2_engine.destroy()

    print(response_bytearray.decode())
    
except G2Exception as err:
    print(err)
Output
{
    "DATA_SOURCE": "CUSTOMERS",
    "RECORD_ID": "1001",
    "JSON_DATA":
    {
        "ADDR_LINE1": "123 Main Street, Las Vegas NV 89132",
        "ADDR_TYPE": "MAILING",
        "AMOUNT": "100",
        "DATE": "1/2/18",
        "DATE_OF_BIRTH": "12/11/1978",
        "EMAIL_ADDRESS": "[email protected]",
        "LOAD_ID": "customers.json",
        "PHONE_NUMBER": "702-919-1300",
        "PHONE_TYPE": "HOME",
        "PRIMARY_NAME_FIRST": "Robert",
        "PRIMARY_NAME_LAST": "Smith",
        "RECORD_TYPE": "PERSON",
        "STATUS": "Active",
        "DATA_SOURCE": "CUSTOMERS",
        "ENTITY_TYPE": "GENERIC",
        "DSRC_ACTION": "A",
        "RECORD_ID": "1001"
    }
}

getEntityByRecordID

Use getEntityByRecordID() to retrieve entity data based on the ID of a resolved identity.

g2_engine.getEntityByRecordID(datasource_code, record_id, response_bytearray, g2_engine_flags)
Parameters
  • datasource_code: (str) The configured data source for the record.
  • record_id: (str) The RECORD_ID for the record.
  • response_bytearray: (bytearray) Object to store the output of the method.
  • g2_engine_flags: (int [optional]) One or more flags used to determine response document content. Applicable flags are listed here getEntity* flags )
Click to expand `getEntityByRecordID()` example
Example
#! /usr/bin/env python3

from senzing import G2Engine, G2Exception

# REPLACE /home/user/your_project with the path to your Senzing project
senzing_engine_configuration_json = '{ "PIPELINE": { "CONFIGPATH": "/home/user/your_project/etc", "SUPPORTPATH": "/home/user/your_project/data", "RESOURCEPATH": "/home/user/your_project/resources" }, "SQL": { "CONNECTION": "sqlite3://na:na@/home/user/your_project/var/sqlite/G2C.db" } }'

g2_engine = G2Engine()

datasource_code = 'CUSTOMERS'

record_id = '1001'

response_bytearray = bytearray()

try:
    g2_engine.init("G2Engine", senzing_engine_configuration_json)

    g2_engine.getEntityByRecordID(
        datasource_code,
        record_id,
        response_bytearray)

    g2_engine.destroy()

    print(response_bytearray.decode())
    
except G2Exception as err:
    print(err)
Output
{
    "RESOLVED_ENTITY":
    {
        "ENTITY_ID": 1,
        "ENTITY_NAME": "Robert Smith",
        "FEATURES":
        {
            "ADDRESS":
            [
                {
                    "FEAT_DESC": "1515 Adela Lane Las Vegas NV 89111",
                    "LIB_FEAT_ID": 34,
                    "USAGE_TYPE": "HOME",
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "1515 Adela Lane Las Vegas NV 89111",
                            "LIB_FEAT_ID": 34
                        },
                        {
                            "FEAT_DESC": "1515 Adela Ln Las Vegas NV 89132",
                            "LIB_FEAT_ID": 76
                        }
                    ]
                },
                {
                    "FEAT_DESC": "123 Main Street, Las Vegas NV 89132",
                    "LIB_FEAT_ID": 3,
                    "USAGE_TYPE": "MAILING",
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "123 Main Street, Las Vegas NV 89132",
                            "LIB_FEAT_ID": 3
                        }
                    ]
                }
            ],
            "DOB":
            [
                {
                    "FEAT_DESC": "11/12/1979",
                    "LIB_FEAT_ID": 75,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "11/12/1979",
                            "LIB_FEAT_ID": 75
                        }
                    ]
                },
                {
                    "FEAT_DESC": "12/11/1978",
                    "LIB_FEAT_ID": 2,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "12/11/1978",
                            "LIB_FEAT_ID": 2
                        },
                        {
                            "FEAT_DESC": "11/12/1978",
                            "LIB_FEAT_ID": 33
                        }
                    ]
                }
            ],
            "EMAIL":
            [
                {
                    "FEAT_DESC": "[email protected]",
                    "LIB_FEAT_ID": 5,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "[email protected]",
                            "LIB_FEAT_ID": 5
                        }
                    ]
                }
            ],
            "NAME":
            [
                {
                    "FEAT_DESC": "B Smith",
                    "LIB_FEAT_ID": 74,
                    "USAGE_TYPE": "PRIMARY",
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "B Smith",
                            "LIB_FEAT_ID": 74
                        }
                    ]
                },
                {
                    "FEAT_DESC": "Robert Smith",
                    "LIB_FEAT_ID": 1,
                    "USAGE_TYPE": "PRIMARY",
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "Robert Smith",
                            "LIB_FEAT_ID": 1
                        },
                        {
                            "FEAT_DESC": "Bob J Smith",
                            "LIB_FEAT_ID": 55
                        },
                        {
                            "FEAT_DESC": "Bob Smith",
                            "LIB_FEAT_ID": 32
                        }
                    ]
                }
            ],
            "PHONE":
            [
                {
                    "FEAT_DESC": "702-919-1300",
                    "LIB_FEAT_ID": 4,
                    "USAGE_TYPE": "HOME",
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "702-919-1300",
                            "LIB_FEAT_ID": 4
                        }
                    ]
                },
                {
                    "FEAT_DESC": "702-919-1300",
                    "LIB_FEAT_ID": 4,
                    "USAGE_TYPE": "MOBILE",
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "702-919-1300",
                            "LIB_FEAT_ID": 4
                        }
                    ]
                }
            ],
            "RECORD_TYPE":
            [
                {
                    "FEAT_DESC": "PERSON",
                    "LIB_FEAT_ID": 30,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "PERSON",
                            "LIB_FEAT_ID": 30
                        }
                    ]
                }
            ]
        },
        "RECORD_SUMMARY":
        [
            {
                "DATA_SOURCE": "CUSTOMERS",
                "RECORD_COUNT": 4,
                "FIRST_SEEN_DT": "2022-12-16 23:01:29.560",
                "LAST_SEEN_DT": "2022-12-16 23:01:29.584"
            }
        ],
        "LAST_SEEN_DT": "2022-12-16 23:01:29.584",
        "RECORDS":
        [
            {
                "DATA_SOURCE": "CUSTOMERS",
                "RECORD_ID": "1004",
                "ENTITY_TYPE": "GENERIC",
                "INTERNAL_ID": 4,
                "ENTITY_KEY": "27EB831065949BD567D1E92681CA4ACD8C0FF1AA",
                "ENTITY_DESC": "B Smith",
                "MATCH_KEY": "",
                "MATCH_LEVEL": 0,
                "MATCH_LEVEL_CODE": "",
                "ERRULE_CODE": "",
                "LAST_SEEN_DT": "2022-12-16 23:01:29.584"
            },
            {
                "DATA_SOURCE": "CUSTOMERS",
                "RECORD_ID": "1001",
                "ENTITY_TYPE": "GENERIC",
                "INTERNAL_ID": 1,
                "ENTITY_KEY": "53C913F04DF04CA474389042F731333F92DCD3E7",
                "ENTITY_DESC": "Robert Smith",
                "MATCH_KEY": "+NAME+DOB+PHONE+EMAIL",
                "MATCH_LEVEL": 1,
                "MATCH_LEVEL_CODE": "RESOLVED",
                "ERRULE_CODE": "SF1_SNAME_CFF_CSTAB",
                "LAST_SEEN_DT": "2022-12-16 23:01:29.560"
            },
            {
                "DATA_SOURCE": "CUSTOMERS",
                "RECORD_ID": "1002",
                "ENTITY_TYPE": "GENERIC",
                "INTERNAL_ID": 2,
                "ENTITY_KEY": "E417012A90D71444C2E190FAF313DA88C5E663B9",
                "ENTITY_DESC": "Bob Smith",
                "MATCH_KEY": "+NAME+DOB+ADDRESS",
                "MATCH_LEVEL": 1,
                "MATCH_LEVEL_CODE": "RESOLVED",
                "ERRULE_CODE": "CNAME_CFF_CEXCL",
                "LAST_SEEN_DT": "2022-12-16 23:01:29.566"
            },
            {
                "DATA_SOURCE": "CUSTOMERS",
                "RECORD_ID": "1003",
                "ENTITY_TYPE": "GENERIC",
                "INTERNAL_ID": 3,
                "ENTITY_KEY": "B327B02717D7515EC96319C0A0AD680FE532E27E",
                "ENTITY_DESC": "Bob J Smith",
                "MATCH_KEY": "+NAME+DOB+EMAIL",
                "MATCH_LEVEL": 1,
                "MATCH_LEVEL_CODE": "RESOLVED",
                "ERRULE_CODE": "SF1_PNAME_CSTAB",
                "LAST_SEEN_DT": "2022-12-16 23:01:29.577"
            }
        ]
    },
    "RELATED_ENTITIES":
    [
        {
            "ENTITY_ID": 5,
            "MATCH_LEVEL": 2,
            "MATCH_LEVEL_CODE": "POSSIBLY_SAME",
            "MATCH_KEY": "+NAME+ADDRESS-DOB",
            "ERRULE_CODE": "CNAME_CFF_DEXCL",
            "IS_DISCLOSED": 0,
            "IS_AMBIGUOUS": 0,
            "ENTITY_NAME": "Robert E Smith Sr",
            "RECORD_SUMMARY":
            [
                {
                    "DATA_SOURCE": "CUSTOMERS",
                    "RECORD_COUNT": 1,
                    "FIRST_SEEN_DT": "2022-12-16 23:01:29.591",
                    "LAST_SEEN_DT": "2022-12-16 23:01:29.591"
                },
                {
                    "DATA_SOURCE": "WATCHLIST",
                    "RECORD_COUNT": 1,
                    "FIRST_SEEN_DT": "2022-12-16 23:01:37.096",
                    "LAST_SEEN_DT": "2022-12-16 23:01:37.096"
                }
            ],
            "LAST_SEEN_DT": "2022-12-16 23:01:37.096"
        },
        {
            "ENTITY_ID": 100002,
            "MATCH_LEVEL": 3,
            "MATCH_LEVEL_CODE": "POSSIBLY_RELATED",
            "MATCH_KEY": "+ADDRESS+SURNAME",
            "ERRULE_CODE": "CFF_SURNAME",
            "IS_DISCLOSED": 0,
            "IS_AMBIGUOUS": 0,
            "ENTITY_NAME": "Patricia Smith",
            "RECORD_SUMMARY":
            [
                {
                    "DATA_SOURCE": "WATCHLIST",
                    "RECORD_COUNT": 1,
                    "FIRST_SEEN_DT": "2022-12-16 23:01:37.149",
                    "LAST_SEEN_DT": "2022-12-16 23:01:37.149"
                }
            ],
            "LAST_SEEN_DT": "2022-12-16 23:01:37.149"
        }
    ]
}

getEntityByEntityID

Use getEntityByEntityID() to retrieve entity data based on the ID of a resolved identity.

g2_engine.getEntityByEntityID(entity_id, response_bytearray, g2_engine_flags)
Parameters
  • entity_id: (str) The ENTITY_ID for the record.
  • response_bytearray: (bytearray) Object to store the output of the method.
  • g2_engine_flags: (int [optional]) One or more flags used to determine response document content. Applicable flags are listed here getEntity* flags )
Click to expand `getEntityByEntityID()` example
Example
#! /usr/bin/env python3

from senzing import G2Engine, G2Exception

# REPLACE /home/user/your_project with the path to your Senzing project
senzing_engine_configuration_json = '{ "PIPELINE": { "CONFIGPATH": "/home/user/your_project/etc", "SUPPORTPATH": "/home/user/your_project/data", "RESOURCEPATH": "/home/user/your_project/resources" }, "SQL": { "CONNECTION": "sqlite3://na:na@/home/user/your_project/var/sqlite/G2C.db" } }'

g2_engine = G2Engine()

entity_id = 1

record_id = '1001'

response_bytearray = bytearray()

try:
    g2_engine.init("G2Engine", senzing_engine_configuration_json)

    g2_engine.getEntityByEntityID(
        entity_id,
        response_bytearray)

    g2_engine.destroy()

    print(response_bytearray.decode())
    
except G2Exception as err:
    print(err)
Output
{
    "RESOLVED_ENTITY":
    {
        "ENTITY_ID": 1,
        "ENTITY_NAME": "Robert Smith",
        "FEATURES":
        {
            "ADDRESS":
            [
                {
                    "FEAT_DESC": "1515 Adela Lane Las Vegas NV 89111",
                    "LIB_FEAT_ID": 34,
                    "USAGE_TYPE": "HOME",
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "1515 Adela Lane Las Vegas NV 89111",
                            "LIB_FEAT_ID": 34
                        },
                        {
                            "FEAT_DESC": "1515 Adela Ln Las Vegas NV 89132",
                            "LIB_FEAT_ID": 76
                        }
                    ]
                },
                {
                    "FEAT_DESC": "123 Main Street, Las Vegas NV 89132",
                    "LIB_FEAT_ID": 3,
                    "USAGE_TYPE": "MAILING",
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "123 Main Street, Las Vegas NV 89132",
                            "LIB_FEAT_ID": 3
                        }
                    ]
                }
            ],
            "DOB":
            [
                {
                    "FEAT_DESC": "11/12/1979",
                    "LIB_FEAT_ID": 75,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "11/12/1979",
                            "LIB_FEAT_ID": 75
                        }
                    ]
                },
                {
                    "FEAT_DESC": "12/11/1978",
                    "LIB_FEAT_ID": 2,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "12/11/1978",
                            "LIB_FEAT_ID": 2
                        },
                        {
                            "FEAT_DESC": "11/12/1978",
                            "LIB_FEAT_ID": 33
                        }
                    ]
                }
            ],
            "EMAIL":
            [
                {
                    "FEAT_DESC": "[email protected]",
                    "LIB_FEAT_ID": 5,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "[email protected]",
                            "LIB_FEAT_ID": 5
                        }
                    ]
                }
            ],
            "NAME":
            [
                {
                    "FEAT_DESC": "B Smith",
                    "LIB_FEAT_ID": 74,
                    "USAGE_TYPE": "PRIMARY",
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "B Smith",
                            "LIB_FEAT_ID": 74
                        }
                    ]
                },
                {
                    "FEAT_DESC": "Robert Smith",
                    "LIB_FEAT_ID": 1,
                    "USAGE_TYPE": "PRIMARY",
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "Robert Smith",
                            "LIB_FEAT_ID": 1
                        },
                        {
                            "FEAT_DESC": "Bob J Smith",
                            "LIB_FEAT_ID": 55
                        },
                        {
                            "FEAT_DESC": "Bob Smith",
                            "LIB_FEAT_ID": 32
                        }
                    ]
                }
            ],
            "PHONE":
            [
                {
                    "FEAT_DESC": "702-919-1300",
                    "LIB_FEAT_ID": 4,
                    "USAGE_TYPE": "HOME",
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "702-919-1300",
                            "LIB_FEAT_ID": 4
                        }
                    ]
                },
                {
                    "FEAT_DESC": "702-919-1300",
                    "LIB_FEAT_ID": 4,
                    "USAGE_TYPE": "MOBILE",
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "702-919-1300",
                            "LIB_FEAT_ID": 4
                        }
                    ]
                }
            ],
            "RECORD_TYPE":
            [
                {
                    "FEAT_DESC": "PERSON",
                    "LIB_FEAT_ID": 30,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "PERSON",
                            "LIB_FEAT_ID": 30
                        }
                    ]
                }
            ]
        },
        "RECORD_SUMMARY":
        [
            {
                "DATA_SOURCE": "CUSTOMERS",
                "RECORD_COUNT": 4,
                "FIRST_SEEN_DT": "2022-12-16 23:01:29.560",
                "LAST_SEEN_DT": "2022-12-16 23:01:29.584"
            }
        ],
        "LAST_SEEN_DT": "2022-12-16 23:01:29.584",
        "RECORDS":
        [
            {
                "DATA_SOURCE": "CUSTOMERS",
                "RECORD_ID": "1004",
                "ENTITY_TYPE": "GENERIC",
                "INTERNAL_ID": 4,
                "ENTITY_KEY": "27EB831065949BD567D1E92681CA4ACD8C0FF1AA",
                "ENTITY_DESC": "B Smith",
                "MATCH_KEY": "",
                "MATCH_LEVEL": 0,
                "MATCH_LEVEL_CODE": "",
                "ERRULE_CODE": "",
                "LAST_SEEN_DT": "2022-12-16 23:01:29.584"
            },
            {
                "DATA_SOURCE": "CUSTOMERS",
                "RECORD_ID": "1001",
                "ENTITY_TYPE": "GENERIC",
                "INTERNAL_ID": 1,
                "ENTITY_KEY": "53C913F04DF04CA474389042F731333F92DCD3E7",
                "ENTITY_DESC": "Robert Smith",
                "MATCH_KEY": "+NAME+DOB+PHONE+EMAIL",
                "MATCH_LEVEL": 1,
                "MATCH_LEVEL_CODE": "RESOLVED",
                "ERRULE_CODE": "SF1_SNAME_CFF_CSTAB",
                "LAST_SEEN_DT": "2022-12-16 23:01:29.560"
            },
            {
                "DATA_SOURCE": "CUSTOMERS",
                "RECORD_ID": "1002",
                "ENTITY_TYPE": "GENERIC",
                "INTERNAL_ID": 2,
                "ENTITY_KEY": "E417012A90D71444C2E190FAF313DA88C5E663B9",
                "ENTITY_DESC": "Bob Smith",
                "MATCH_KEY": "+NAME+DOB+ADDRESS",
                "MATCH_LEVEL": 1,
                "MATCH_LEVEL_CODE": "RESOLVED",
                "ERRULE_CODE": "CNAME_CFF_CEXCL",
                "LAST_SEEN_DT": "2022-12-16 23:01:29.566"
            },
            {
                "DATA_SOURCE": "CUSTOMERS",
                "RECORD_ID": "1003",
                "ENTITY_TYPE": "GENERIC",
                "INTERNAL_ID": 3,
                "ENTITY_KEY": "B327B02717D7515EC96319C0A0AD680FE532E27E",
                "ENTITY_DESC": "Bob J Smith",
                "MATCH_KEY": "+NAME+DOB+EMAIL",
                "MATCH_LEVEL": 1,
                "MATCH_LEVEL_CODE": "RESOLVED",
                "ERRULE_CODE": "SF1_PNAME_CSTAB",
                "LAST_SEEN_DT": "2022-12-16 23:01:29.577"
            }
        ]
    },
    "RELATED_ENTITIES":
    [
        {
            "ENTITY_ID": 5,
            "MATCH_LEVEL": 2,
            "MATCH_LEVEL_CODE": "POSSIBLY_SAME",
            "MATCH_KEY": "+NAME+ADDRESS-DOB",
            "ERRULE_CODE": "CNAME_CFF_DEXCL",
            "IS_DISCLOSED": 0,
            "IS_AMBIGUOUS": 0,
            "ENTITY_NAME": "Robert E Smith Sr",
            "RECORD_SUMMARY":
            [
                {
                    "DATA_SOURCE": "CUSTOMERS",
                    "RECORD_COUNT": 1,
                    "FIRST_SEEN_DT": "2022-12-16 23:01:29.591",
                    "LAST_SEEN_DT": "2022-12-16 23:01:29.591"
                },
                {
                    "DATA_SOURCE": "WATCHLIST",
                    "RECORD_COUNT": 1,
                    "FIRST_SEEN_DT": "2022-12-16 23:01:37.096",
                    "LAST_SEEN_DT": "2022-12-16 23:01:37.096"
                }
            ],
            "LAST_SEEN_DT": "2022-12-16 23:01:37.096"
        },
        {
            "ENTITY_ID": 100002,
            "MATCH_LEVEL": 3,
            "MATCH_LEVEL_CODE": "POSSIBLY_RELATED",
            "MATCH_KEY": "+ADDRESS+SURNAME",
            "ERRULE_CODE": "CFF_SURNAME",
            "IS_DISCLOSED": 0,
            "IS_AMBIGUOUS": 0,
            "ENTITY_NAME": "Patricia Smith",
            "RECORD_SUMMARY":
            [
                {
                    "DATA_SOURCE": "WATCHLIST",
                    "RECORD_COUNT": 1,
                    "FIRST_SEEN_DT": "2022-12-16 23:01:37.149",
                    "LAST_SEEN_DT": "2022-12-16 23:01:37.149"
                }
            ],
            "LAST_SEEN_DT": "2022-12-16 23:01:37.149"
        }
    ]
}

getVirtualEntityByRecordID

Use getVirtualEntityByRecordID() to create a view of a virtual entity using a list of existing loaded records. The virtual entity is composed of only those records and their features. Entity resolution is not performed.

g2_engine.getVirtualEntityByRecordID(record_list, response_bytearray, g2_engine_flags)
Parameters
  • record_list: (str) A list of one or more records by DATA_SOURCE and RECORD_ID pairs, formatted as: {"RECORDS":[{"DATA_SOURCE":"DS1","RECORD_ID":"R1"},{"DATA_SOURCE":"DS2","RECORD_ID":"R2"}]}
  • response_bytearray: (bytearray) Object to store the output of the method.
  • g2_engine_flags: (int [optional]) One or more flags used to determine response document content. Applicable flags are listed here getEntity* flags )
Click to expand `getVirtualEntityByRecordID()` example
Example
#! /usr/bin/env python3

from senzing import G2Engine, G2Exception

# REPLACE /home/user/your_project with the path to your Senzing project
senzing_engine_configuration_json = '{ "PIPELINE": { "CONFIGPATH": "/home/user/your_project/etc", "SUPPORTPATH": "/home/user/your_project/data", "RESOURCEPATH": "/home/user/your_project/resources" }, "SQL": { "CONNECTION": "sqlite3://na:na@/home/user/your_project/var/sqlite/G2C.db" } }'

g2_engine = G2Engine()

record_list = '{"RECORDS": [{"DATA_SOURCE": "CUSTOMERS","RECORD_ID": "1001"},{"DATA_SOURCE": "CUSTOMERS","RECORD_ID": "1022"}]}'

response_bytearray = bytearray()

try:
    g2_engine.init("G2Engine", senzing_engine_configuration_json)

    g2_engine.getVirtualEntityByRecordID(
        record_list,
        response_bytearray)

    g2_engine.destroy()

    print(response_bytearray.decode())
    
except G2Exception as err:
    print(err)
Output
{
    "RESOLVED_ENTITY":
    {
        "ENTITY_ID": 1,
        "ENTITY_NAME": "Mohamed Antoun",
        "FEATURES":
        {
            "ADDRESS":
            [
                {
                    "FEAT_DESC": "123 Main Street, Las Vegas NV 89132",
                    "LIB_FEAT_ID": 3,
                    "USAGE_TYPE": "MAILING",
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "123 Main Street, Las Vegas NV 89132",
                            "LIB_FEAT_ID": 3,
                            "USED_FOR_CAND": "N",
                            "USED_FOR_SCORING": "Y",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                }
            ],
            "ADDR_KEY":
            [
                {
                    "FEAT_DESC": "123|MN||89132",
                    "LIB_FEAT_ID": 14,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "123|MN||89132",
                            "LIB_FEAT_ID": 14,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 2,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                },
                {
                    "FEAT_DESC": "123|MN||LS FKS",
                    "LIB_FEAT_ID": 13,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "123|MN||LS FKS",
                            "LIB_FEAT_ID": 13,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 2,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                }
            ],
            "DOB":
            [
                {
                    "FEAT_DESC": "1/7/80",
                    "LIB_FEAT_ID": 135,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "1/7/80",
                            "LIB_FEAT_ID": 135,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "Y",
                            "ENTITY_COUNT": 4,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                },
                {
                    "FEAT_DESC": "12/11/1978",
                    "LIB_FEAT_ID": 2,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "12/11/1978",
                            "LIB_FEAT_ID": 2,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "Y",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                }
            ],
            "EMAIL":
            [
                {
                    "FEAT_DESC": "[email protected]",
                    "LIB_FEAT_ID": 5,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "[email protected]",
                            "LIB_FEAT_ID": 5,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "Y",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                }
            ],
            "EMAIL_KEY":
            [
                {
                    "FEAT_DESC": "[email protected]",
                    "LIB_FEAT_ID": 17,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "[email protected]",
                            "LIB_FEAT_ID": 17,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                }
            ],
            "NAME":
            [
                {
                    "FEAT_DESC": "Mohamed Antoun",
                    "LIB_FEAT_ID": 134,
                    "USAGE_TYPE": "PRIMARY",
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "Mohamed Antoun",
                            "LIB_FEAT_ID": 134,
                            "USED_FOR_CAND": "N",
                            "USED_FOR_SCORING": "Y",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                },
                {
                    "FEAT_DESC": "Robert Smith",
                    "LIB_FEAT_ID": 1,
                    "USAGE_TYPE": "PRIMARY",
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "Robert Smith",
                            "LIB_FEAT_ID": 1,
                            "USED_FOR_CAND": "N",
                            "USED_FOR_SCORING": "Y",
                            "ENTITY_COUNT": 2,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                }
            ],
            "NAME_KEY":
            [
                {
                    "FEAT_DESC": "ANTN|MHMT",
                    "LIB_FEAT_ID": 136,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "ANTN|MHMT",
                            "LIB_FEAT_ID": 136,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                },
                {
                    "FEAT_DESC": "ANTN|MHMT|DOB.MMDD_HASH=0701",
                    "LIB_FEAT_ID": 137,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "ANTN|MHMT|DOB.MMDD_HASH=0701",
                            "LIB_FEAT_ID": 137,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                },
                {
                    "FEAT_DESC": "ANTN|MHMT|DOB.MMYY_HASH=0180",
                    "LIB_FEAT_ID": 143,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "ANTN|MHMT|DOB.MMYY_HASH=0180",
                            "LIB_FEAT_ID": 143,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                },
                {
                    "FEAT_DESC": "ANTN|MHMT|DOB=80701",
                    "LIB_FEAT_ID": 141,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "ANTN|MHMT|DOB=80701",
                            "LIB_FEAT_ID": 141,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                },
                {
                    "FEAT_DESC": "MHMT|TN",
                    "LIB_FEAT_ID": 138,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "MHMT|TN",
                            "LIB_FEAT_ID": 138,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                },
                {
                    "FEAT_DESC": "MHMT|TN|DOB.MMDD_HASH=0701",
                    "LIB_FEAT_ID": 142,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "MHMT|TN|DOB.MMDD_HASH=0701",
                            "LIB_FEAT_ID": 142,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                },
                {
                    "FEAT_DESC": "MHMT|TN|DOB.MMYY_HASH=0180",
                    "LIB_FEAT_ID": 140,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "MHMT|TN|DOB.MMYY_HASH=0180",
                            "LIB_FEAT_ID": 140,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                },
                {
                    "FEAT_DESC": "MHMT|TN|DOB=80701",
                    "LIB_FEAT_ID": 139,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "MHMT|TN|DOB=80701",
                            "LIB_FEAT_ID": 139,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                },
                {
                    "FEAT_DESC": "RBRT|SM0",
                    "LIB_FEAT_ID": 7,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "RBRT|SM0",
                            "LIB_FEAT_ID": 7,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 3,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                },
                {
                    "FEAT_DESC": "RBRT|SM0|ADDRESS.CITY_STD=LS FKS",
                    "LIB_FEAT_ID": 8,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "RBRT|SM0|ADDRESS.CITY_STD=LS FKS",
                            "LIB_FEAT_ID": 8,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 2,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                },
                {
                    "FEAT_DESC": "RBRT|SM0|DOB.MMDD_HASH=1211",
                    "LIB_FEAT_ID": 11,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "RBRT|SM0|DOB.MMDD_HASH=1211",
                            "LIB_FEAT_ID": 11,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                },
                {
                    "FEAT_DESC": "RBRT|SM0|DOB.MMYY_HASH=1278",
                    "LIB_FEAT_ID": 6,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "RBRT|SM0|DOB.MMYY_HASH=1278",
                            "LIB_FEAT_ID": 6,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                },
                {
                    "FEAT_DESC": "RBRT|SM0|DOB=71211",
                    "LIB_FEAT_ID": 12,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "RBRT|SM0|DOB=71211",
                            "LIB_FEAT_ID": 12,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                },
                {
                    "FEAT_DESC": "RBRT|SM0|PHONE.PHONE_LAST_5=91300",
                    "LIB_FEAT_ID": 10,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "RBRT|SM0|PHONE.PHONE_LAST_5=91300",
                            "LIB_FEAT_ID": 10,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                },
                {
                    "FEAT_DESC": "RBRT|SM0|POST=89132",
                    "LIB_FEAT_ID": 9,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "RBRT|SM0|POST=89132",
                            "LIB_FEAT_ID": 9,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 2,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                }
            ],
            "PHONE":
            [
                {
                    "FEAT_DESC": "702-919-1300",
                    "LIB_FEAT_ID": 4,
                    "USAGE_TYPE": "HOME",
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "702-919-1300",
                            "LIB_FEAT_ID": 4,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "Y",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                }
            ],
            "PHONE_KEY":
            [
                {
                    "FEAT_DESC": "7029191300",
                    "LIB_FEAT_ID": 15,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "7029191300",
                            "LIB_FEAT_ID": 15,
                            "USED_FOR_CAND": "Y",
                            "USED_FOR_SCORING": "N",
                            "ENTITY_COUNT": 1,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                }
            ],
            "RECORD_TYPE":
            [
                {
                    "FEAT_DESC": "PERSON",
                    "LIB_FEAT_ID": 16,
                    "FEAT_DESC_VALUES":
                    [
                        {
                            "FEAT_DESC": "PERSON",
                            "LIB_FEAT_ID": 16,
                            "USED_FOR_CAND": "N",
                            "USED_FOR_SCORING": "Y",
                            "ENTITY_COUNT": 80,
                            "CANDIDATE_CAP_REACHED": "N",
                            "SCORING_CAP_REACHED": "N",
                            "SUPPRESSED": "N"
                        }
                    ]
                }
            ]
        },
        "RECORD_SUMMARY":
        [
            {
                "DATA_SOURCE": "CUSTOMERS",
                "RECORD_COUNT": 2,
                "FIRST_SEEN_DT": "2023-04-10 23:00:26.157",
                "LAST_SEEN_DT": "2023-04-10 23:00:26.283"
            }
        ],
        "LAST_SEEN_DT": "2023-04-10 23:00:26.283",
        "RECORDS":
        [
            {
                "DATA_SOURCE": "CUSTOMERS",
                "RECORD_ID": "1001",
                "ENTITY_TYPE": "GENERIC",
                "INTERNAL_ID": 1,
                "ENTITY_KEY": "53C913F04DF04CA474389042F731333F92DCD3E7",
                "ENTITY_DESC": "Robert Smith",
                "LAST_SEEN_DT": "2023-04-10 23:00:26.157",
                "FEATURES":
                [
                    {
                        "LIB_FEAT_ID": 1,
                        "USAGE_TYPE": "PRIMARY"
                    },
                    {
                        "LIB_FEAT_ID": 2
                    },
                    {
                        "LIB_FEAT_ID": 3,
                        "USAGE_TYPE": "MAILING"
                    },
                    {
                        "LIB_FEAT_ID": 4,
                        "USAGE_TYPE": "HOME"
                    },
                    {
                        "LIB_FEAT_ID": 5
                    },
                    {
                        "LIB_FEAT_ID": 6
                    },
                    {
                        "LIB_FEAT_ID": 7
                    },
                    {
                        "LIB_FEAT_ID": 8
                    },
                    {
                        "LIB_FEAT_ID": 9
                    },
                    {
                        "LIB_FEAT_ID": 10
                    },
                    {
                        "LIB_FEAT_ID": 11
                    },
                    {
                        "LIB_FEAT_ID": 12
                    },
                    {
                        "LIB_FEAT_ID": 13
                    },
                    {
                        "LIB_FEAT_ID": 14
                    },
                    {
                        "LIB_FEAT_ID": 15
                    },
                    {
                        "LIB_FEAT_ID": 16
                    },
                    {
                        "LIB_FEAT_ID": 17
                    }
                ]
            },
            {
                "DATA_SOURCE": "CUSTOMERS",
                "RECORD_ID": "1022",
                "ENTITY_TYPE": "GENERIC",
                "INTERNAL_ID": 15,
                "ENTITY_KEY": "454B2A6996DFEA0D21A03E20307CCBAE8FDB086B",
                "ENTITY_DESC": "Mohamed Antoun",
                "LAST_SEEN_DT": "2023-04-10 23:00:26.283",
                "FEATURES":
                [
                    {
                        "LIB_FEAT_ID": 16
                    },
                    {
                        "LIB_FEAT_ID": 134,
                        "USAGE_TYPE": "PRIMARY"
                    },
                    {
                        "LIB_FEAT_ID": 135
                    },
                    {
                        "LIB_FEAT_ID": 136
                    },
                    {
                        "LIB_FEAT_ID": 137
                    },
                    {
                        "LIB_FEAT_ID": 138
                    },
                    {
                        "LIB_FEAT_ID": 139
                    },
                    {
                        "LIB_FEAT_ID": 140
                    },
                    {
                        "LIB_FEAT_ID": 141
                    },
                    {
                        "LIB_FEAT_ID": 142
                    },
                    {
                        "LIB_FEAT_ID": 143
                    }
                ]
            }
        ]
    }
}