PII Sharing

šŸ—“ļø Last updated on Oct 14, 2024

šŸ“˜

This guide is subject to be updated based on current implementation.

Zero Hash is enabling a new set of endpoints that allows platforms to access participants’ PII information. This document explains how to access such information via these new endpoints.

Target to go live: October 16th 2024

Participant data categories

The data has been divided into three buckets:

FieldNon PII
/basic_info
Sanction Screening
/sanction_screening_info
Full Sharing
/full_info
participant_codeāœ…āœ…āœ…
statusāœ…āœ…āœ…
actionāœ…āœ…āœ…
user_emailāœ…āœ…
participant_typeāœ…āœ…āœ…
nameāœ…āœ…āœ…
first_nameāœ…āœ…
last_nameāœ…āœ…
emailāœ…āœ…āœ…
contact_numberāœ…āœ…
websiteāœ…āœ…
address_oneāœ…āœ…
address_twoāœ…āœ…
cityāœ…āœ…
state_or_provinceāœ…āœ…
postal_codeāœ…āœ…
id_number_typeāœ…
id_numberāœ…
non_us_other_typeāœ…
id_issuing_authorityāœ…
date_establishedāœ…āœ…
legal_nameāœ…āœ…
entity_typeāœ…āœ…
state_or_province_of_organizationāœ…āœ…
date_of_birthāœ…āœ…
submission_methodāœ…āœ…āœ…
signed_timestampāœ…āœ…āœ…
created_atāœ…āœ…āœ…
last_updatedāœ…āœ…āœ…
non_us_entity_tax_idāœ…
tax_idāœ…
platform_updated_atāœ…āœ…
lock_reasonāœ…
unlock_reasonāœ…
disable_reasonāœ…
close_reasonāœ…
divest_reasonāœ…
kycāœ…
kyc_timestampāœ…āœ…
sanction_screening_timestampāœ…āœ…
sanction_screeningāœ…
idvāœ…
liveness_checkāœ…
kyc_participant_trackāœ…āœ…
jurisdiction_updated_atāœ…āœ…
ach_issue_detailāœ…
employment_statusāœ…
industryāœ…
source_of_fundsāœ…
signed_agreementsāœ…
onboarded_locationāœ…
kyc_tierāœ…
salaryāœ…
savings_and_investmentsāœ…
investor_categoryāœ…
ip_addressāœ…
appropriateness_test_resultsāœ…
kyc_attemptsāœ…
subdomaināœ…āœ…
citizenship_codeāœ…
jurisdiction_codeāœ…āœ…āœ…

These three buckets are the sets of information that can be accessed via the new endpoints.

API Endpoints

Accessing these three sets of information requires your platform to be approved to access the sensitive information.

Restricted access

When trying to access an endpoint that has not been enabled to your platform, the following is the error response to the API call:

HTTP CodeMessageDescription
403 ForbiddenYou are not authorized to access the requested resource.Ensure your API keys, credentials, and request URL are valid. Also, check if your IP address is allow-listed in our platform. Lastly, please confirm the resource you're trying to access belongs to your platform.

Source: Error Handling

šŸ“˜

If you want access to these endpoints, follow the steps on Required Settings section of this document.

Basic information

To access basic information from a participant, integrate the following API call:

GET /participant/{participant_code}/basic_info

This will return the following payload:

{
  "message": {
    "participant_code": "CUST01",
    "participant_status": "approved",
    "action": "approved",
    "participant_type": "individual",
    "name": "robert test",
    "email": "[email protected]",
    "submission_method": "web",
    "signed_timestamp": 1603378501286,
    "created_at": 1603378501286,
    "last_updated": 1680643465352,
    "jurisdiction_code": "US-IL"
  }
}

Sanction screening information

In order to access the PII to be able to produce a sanction screening check, integrate the following API call:

GET /participant/{participant_code}/sanction_screening_info

This will return the following payload:

{
  "message": {
    "participant_code": "CUST01",
    "status": "approved",
    "action": "approved",
    "user_email": "[email protected]",
    "participant_type": "individual",
    "name": "robert test",
    "first_name": "robert",
    "last_name": "test",
    "email": "[email protected]",
    "contact_number": "15557778888",
    "website": "www.test.com",
    "address_one": "123 Main St.",
    "address_two": "Suite 1000",
    "city": "Chicago",
    "postal_code": "12345",
    "date_established": "1985-09-02",
    "legal_name": "Legal Name",
    "entity_type": "partnership",
    "state_or_province_of_organization": "IL",
    "date_of_birth": "1985-09-02",
    "submission_method": "web",
    "signed_timestamp": 1603378501286,
    "created_at": 1603378501286,
    "last_updated": 1680643465352,
    "platform_updated_at": 1603378501286,
    "sanction_screening_timestamp": 1603378501286,
    "kyc_participant_track": "track",
    "jurisdiction_updated_at": 1603378501286,
    "subdomain": "subdomain",
    "jurisdiction_code": "US-IL"
  }
}

Full set of information

If your platform has been approved to access the full set of participant information, then it must integrate the following API call:

GET /participant/{participant_code}/full_info

This will return the following payload:

{
  "message": {
    "participant_code": "CUST01",
    "status": "approved",
    "action": "approved",
    "action_reason": "compliance_issue",
    "user_email": "[email protected]",
    "participant_type": "individual",
    "name": "robert test",
    "first_name": "robert",
    "last_name": "test",
    "email": "[email protected]",
    "contact_number": "15557778888",
    "website": "www.test.com",
    "address_one": "123 Main St.",
    "address_two": "Suite 1000",
    "city": "Chicago",
    "postal_code": "12345",
    "date_established": "1985-09-02",
    "legal_name": "Legal Name",
    "entity_type": "partnership",
    "state_or_province_of_organization": "IL",
    "date_of_birth": "1985-09-02",
    "submission_method": "web",
    "signed_timestamp": 1603378501286,
    "created_at": 1603378501286,
    "last_updated": 1680643465352,
    "platform_updated_at": 1603378501286,
    "kyc_timestamp": 1603378501286,
    "sanction_screening_timestamp": 1603378501286,
    "kyc_participant_track": "track",
    "jurisdiction_updated_at": "2012-03-29",
    "kyc_tier": "tier",
    "subdomain": "subdomain",
    "jurisdiction_code": "US-IL",
    "id_number": "123456789",
    "id_number_type": "us_border_crossing_card",
    "non_us_other_type": null,
    "id_issuing_authority": null,
    "non_us_entity_tax_id": null,
    "tax_id": "000-00-0000",
    "kyc": "pass",
    "sanction_screening": "pass",
    "idv": "pass",
    "liveness_check": "pass",
    "employment_status": "full_time",
    "industry": "adult_entertainment",
    "source_of_funds": "salary",
    "signed_agreements": [
      {
        "type": "user_agreement",
        "region": "us",
        "signed_timestamp": 1603378501286
      }
    ],
    "onboarded_location": "US-FL",
    "salary": "under_3500",
    "savings_and_investments": "under_10000",
    "investor_category": "restricted",
    "ip_address": "10.132.5.50",
    "appropriateness_test_results": [
      {
        "result": "pass",
        "timestamp": "1985-09-02"
      }
    ],
    "kyc_attempts": 1,
    "citizenship_code": "US"
  }
}

Request for approval

By default, every platform has access to the basic level of information. This set doesn’t contain any private information of the participants.

If your platform needs to access a higher level of information, contact your technical account manager to request access. There will be a subsequent due diligence process from our compliance team before we can enable you to access the rest of the endpoints.