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.