Skip to content
On this page

Individual

An individual entitity is essentially a person that owns an account or has access to a service.

Depending on the service that an individual entity is trying to gain access to, eligibility is determined based on the entity's access_level

Access Level spans from 1 to 5 (1 being the lowest and 5 being the highest). Services that require an entity_id will also make mention of the minimum access_level required.

Create an individual entity

Endpoint

{BASE_URL}/entities/individual

Method: POST.

ParameterDescriptionRequired
first_nameThe individual's first name stringTrue
middle_nameThe individual's middle name stringFalse
last_nameThe individual's last name stringTrue
date_of_birthThe individual's date of birth object objectFalse
addressThe individual's address object objectFalse
id_numberThe individual's id number stringFalse
id_typeThe individual's id type for which an id number was provided enum Available types are ssn, passport, drivers_licenseFalse
email_addressThe individual's email address stringFalse
phoneThe individual's phone number object objectFalse

date_of_birth object

ParameterDescriptionRequired
dayThe individual's day of birth intTrue
monthThe individual's month of birth intTrue
yearThe individual's year of birth intTrue

address object

ParameterDescriptionRequired
streetThe individual's address street stringTrue
cityThe individual's address city stringTrue
stateThe individual's address state abbreviation. E.G DE, CA, MD stringTrue
postal_codeThe individual's address postal code stringTrue
countryThe individual's address country in ISO 3166-2 format stringTrue

phone object

ParameterDescriptionRequired
phone_numberA valid phone number stringTrue
country_codeA valid country code for the phone number in ISO 3166-2 format stringTrue

Sample Request

curl --location --request POST 'https://api.stack-ft.com/entities/individual' \
--header 'Authorization: API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "first_name": "John",
    "middle_name": "A",
    "last_name": "Dorian",
    "date_of_birth": {
        "day": 1,
        "month": 1,
        "year": 1990
    },"address": {
        "street": "123 stack ave",
        "city": "Middletown",
        "state": "DE",
        "postal_code": "19705",
        "country": "US"
    },
    "email": "[email protected]",
    "id_type": "ssn",
    "id_number": "234567676"
}'

Sample Response

json
{
    "status": "success",
    "request_id": "21f049e7-bc76-4a9b-8a7c-0afee5ab0280",
    "entity": {
        "first_name": "John",
        "middle_name": "A",
        "last_name": "Dorian",
        "entity_id": "i_uuid_ba82e4fc-67f9-44ab-86f4-238d6d3d54d6"
    }
}

INFO

Congratulations on creating your first individual entity. By default, the entity's access_level is set to 1 but this value increases based on how much information we have about the entity.

Get an individual entity

You can at any time make a request to get the details of an individual. This will also return, the access_level and missing_data.

Endpoint

{BASE_URL}/entities/individual?entity_id=:ENTITY_ID

Method: GET.

Sample Request

curl --location --request GET 'https://api.stack-ft.com/entities/individual?entity_id=i_uuid_ba82e4fc-67f9-44ab-86f4-238d6d3d54d6' \
--header 'Authorization: API_KEY' \
--data-raw ''

Sample Response

json
{
    "status": "success",
    "request_id": "8d4d31f2-3703-461a-bd69-4b77a3de8069",
    "entity": {
        "first_name": "John",
        "middle_name": "A",
        "last_name": "Dorian",
        "entity_id": "i_uuid_ba82e4fc-67f9-44ab-86f4-238d6d3d54d6",
        "access_level": 3,
        "date_of_birth": {
            "day": 1,
            "month": 1,
            "year": 1990
        },
        "user_address": {
            "street": "123 stack ave",
            "city": "Middletown",
            "state": "DE",
            "postal_code": "19705",
            "country": "USA"
        },
        "missing_data": [
            "phone_number"
        ],
        "verification_status": "pending"
    }
}

Update an individual entity

If you ever need to update an entity, pass the same data in the same format as what is used to create an entity ( please refer to the parameters). All fields are OPTIONAL. You additionally have to pass a REQUIRED query parameter called entity_id and the individual's entity id.

WARNING

When a user has an access_level of 5, not all information can be updated. The only fields that can be updated at this point are email_address phone address

Endpoint

{BASE_URL}/entities/individual?entity_id=:ENTITY_ID

Method: PUT.

Sample Request

curl --location --request PUT 'https://api.stack-ft.com/entities/individual?entity_id=i_uuid_ba82e4fc-67f9-44ab-86f4-238d6d3d54d6' \
--header 'Authorization: API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "first_name": "John",
    "middle_name": "A",
    "last_name": "Dorian",
    "date_of_birth": {
        "day": 1,
        "month": 1,
        "year": 1990
    },"address": {
        "street": "123 stack ave",
        "city": "Middletown",
        "state": "DE",
        "postal_code": "19705",
        "country": "USA"
    },
    "email": "[email protected]",
    "id_type": "ssn",
    "id_number": "234567676"
}'

Sample Response

json
{
    "status": "success",
    "request_id": "21f049e7-bc76-4a9b-8a7c-0afee5ab0280",
    "entity": {
        "first_name": "John",
        "middle_name": "A",
        "last_name": "Dorian",
        "entity_id": "i_uuid_ba82e4fc-67f9-44ab-86f4-238d6d3d54d6"
    }
}

Verify an Entity

INFO

The only way you can raise an entity's access_level to 4 or 5 is by verifying the identity of the entity. If you have not provided ALL the information about the entity, you will not be able to raise their access_level to 5

When you send in a request to verify the identity of an entity, we first try to automatically confirm their identity using the information provided to us. This way, we can instantly verify about 85% of entities. In some cases, we will need to do a little more on our end before we can approve or reject an entity. If we are unable to instantly make a decision on a verification request, we will respond with a verification_status of in_progress while we manually look into the request. Once we make a final decision (usually with a few minutes - hours), we will update the verification_status with either verified or failed.

If a verification status comes back as failed, we will require a different way to verify the entity's identity. This will be communicated with you, the account owner.

Endpoint

{BASE_URL}/entities/individual/verify?entity_id=:ENTITY_ID

Method: POST.

Sample Request

curl --location --request POST 'https://api.stack-ft.com/entities/individual/verify?entity_id=i_uuid_ba82e4fc-67f9-44ab-86f4-238d6d3d54d6' \
--header 'Authorization: API_KEY' \
--header 'Content-Type: application/json' \
--data-raw ''

Sample Response

json
{
    "status": "success",
    "request_id": "0e8a7a53-92ab-43a8-816c-2ec2a9e1d6ae",
    "entity": {
        "entity_id": "i_uuid_ba82e4fc-67f9-44ab-86f4-238d6d3d54d6",
        "access_level": 5,
        "missing_data": [],
        "verification_status": "verified"
    }
}

INFO

If we are unable to verify the identity of an entity due to incomplete information, we will not return an error. We will simply return the current access_level of the entity and a missing_data array, letting you know what is missing. You can always use the update endpoint to update the entity and provide any missing information.