Customer profiles

Customer profiles: what you need to know

Customer profiles are an essential part of our platform's verification process. Once an individual has passed the verification process with us, we generate a profile containing the individual's primary key and identity document.

Enriching Customer Profiles

Our profiles are designed to grow over time. Every time the same individual returns to our platform, we enrich the individual's profile to give you a better understanding of their history with us.

Profile Insights

Based on the individual's history, we have developed different data products to help you better understand their profile. These include:

Individual's Mapped Merits

This feature helps you understand how complete a new customer's profile is. Our latest update provides information on how many and which merits the individual has successfully completed.

Individual's History

This summary provides merchants with an understanding of whether the individual consistently went through our system without issues or had problems.

Merit History

This feature answers the question: What have other operational teams decided about this individual? It includes the last two statuses the individual has had with all merchants they have onboarded with.

Individual's Contact Information

This feature allows you to obtain the contact information of the individual.

Calling the Insights through API

You can also consume these products' information programmatically through our API.

Get Profile ID

Description

This endpoint takes a verification ID as input and returns the associated profile ID. The profile ID can then be used as input for the other endpoints in this documentation.

Example request

Method: GET

curl --location --request GET 'https://api.getmati.com/reusage/v1/verification/{{verification_id}}/profile' \
--header 'Authorization: Bearer {{access_token}}'

Example response

{
    "responseStatus": "SUCCESS",
    "profileId": "US|DRIVING-LICENSE|1234567890"
}

Response fields

  • responseStatus (string): Indicates whether the request was successful or not. Possible values are "SUCCESS" and "ERROR".
  • profileId (string): The associated profile ID.

Potential use cases

  • After completing a verification process with MetaMap, use this endpoint to retrieve the profile ID of the verified individual for further analysis or follow-up actions.

Get Profile Risk Score

Method: POST

Description

This endpoint takes a profile ID as input and returns an array of the last 5 verifications associated with the profile, along with their corresponding risk scores. It also provides an overall risk score for the profile, calculated using advanced machine learning models that take into account dozens of verification-related variables.

Example request

curl --location --request POST 'https://api.getmati.com/reusage/v1/profile/risk' \
--header 'Authorization: Bearer {{access_token}}' \
--header 'Content-Type: application/json' \
--data '{"profileId":"{{profile_id}}"}'

Example response

{
  "responseStatus": "SUCCESS",
  "profileRisk": false,
  "riskScore": 3.0,
  "transactions": [
    {
      "completedAt": "2023-03-01T11:26:36Z",
      "verificationId": "63ff31c99605df001da6be6e",
      "risk": false,
      "riskScore": 2.0,
      "message": null,
      "reasonCode": null}
  ]
}

Response fields

  • responseStatus (string): Indicates whether the request was successful or not. Possible values are "SUCCESS" and "ERROR".
  • profileRisk (boolean): Indicates whether the profile is considered risky or not based on the risk score. Possible values are true and false.
  • riskScore (float): The risk score associated with the profile.
  • transactions (array): An array of objects representing the last 5 verifications associated with the profile, each with the following fields:
    • completedAt (string): The date and time when the verification was completed.
    • verificationId (string): The verification ID associated with the verification.
    • risk (boolean): Indicates whether the verification was considered risky or not based on its risk score. Possible values are true and false.
    • riskScore (float): The risk score associated with the verification.
    • message (string): A message associated with the verification, if any.
    • reasonCode (string): A reason code associated with the verification, if any.

Potential use cases

  • Determine the level of risk associated with a customer profile before deciding to conduct business with them.
  • Use the detailed information about each of the last 5 verifications associated with a profile to identify patterns or anomalies that could indicate potential fraud or other risks.

Get Verification Statuses

Method: POST

Description

This endpoint takes a profile ID as input and returns a list of all verifications associated with the profile, along with their statuses and any relevant details. It also provides information on the countries and industries of the companies that have previously seen the individual, including MetaMap's partner network.

Example request

curl --location --request POST 'https://api.getmati.com/reusage/v1/profile/status/verification' \
--header 'Authorization: Bearer {{access_token}}' \
--header 'Content-Type: application/json' \
--data '{"profileId":"{{profile_id}}"}'

Example response

{
  "responseStatus": "SUCCESS",
  "verificationStatus": [
    {
      "verificationId": "63ff31c99605df001da6be6e",
      "merchantVertical": "Lending",
      "country": "US",
      "statusChangeHistory": [
        {
          "status": "reviewNeeded",
          "date": "2023-03-01T11:26:36Z"
        }
      ]
    }
  ]
}

Response fields

  • responseStatus (string): Indicates whether the request was successful or not. Possible values are "SUCCESS" and "ERROR".
  • verificationStatus (array): An array of objects representing the verifications associated with the profile, each with the following fields:
    • verificationId (string): The verification ID associated with the verification.
    • merchantVertical (string): The industry associated with the verification.
    • country (string): The country associated with the verification.
    • statusChangeHistory (array): An array of objects representing the status changes associated with the verification, each with the following fields:
      • status (string): The status associated with the verification. Possible values include "reviewNeeded", "verified", and "rejected".
      • date (string): The date and time when the status change occurred.

Potential use cases

  • Track the progress of verifications associated with a particular customer profile.
  • Identify which countries and industries an individual has interacted with in the past.

Get Contact

Method: POST

Description

This endpoint takes a profile ID as input and returns lists of contact phone numbers, emails, and addresses that have been associated with this profile from various verifications with different companies.

Example request

curl --location --request POST 'https://api.getmati.com/reusage/v1/profile/contact' \
--header 'Authorization: Bearer {{access_token}}' \
--header 'Content-Type: application/json' \
--data '{"profileId":"{{profile_id}}"}'

Example Response

{
    "responseStatus": "SUCCESS",
    "contactInformation": {
        "contactNumbers": [
            "11111111111111",
            "22222222222222"
        ],
        "emails": [
            "[email protected]",
            "[email protected]"
        ],
        "addresses": []
    }
}

Response fields

  • responseStatus: The status of the response.
  • email: The email addresses associated with the profile.
  • phoneNumber: The phone numbers associated with the profile.
  • address: The addresses associated with the profile.

Potential Use Cases

  • A company wants to verify the contact information of an individual before approving their application
  • A company wants to update the contact information of a individual in their records based on the latest verification results.

Profile Merits

Method: POST

Description

Returns a summarized list of all the successful merits obtained from the individual's previous interactions.

Example Request

curl --location --request POST 'https://api.getmati.com/reusage/v1/profile/merit' \
--header 'Authorization: Bearer {{access_token}}' \
--header 'Content-Type: application/json' \
--data '{"profileId":"{{profile_id}}"}'

Example Response

{
    "responseStatus": "SUCCESS",
    "uniqueMerits": [
        "Document Verification",
        "Email Check",
        "Anti-Money Laundering"
    ]
}


Response fields

  • responseStatus: The status of the response.
  • uniqueMerits: The list of unique merits obtained from the individual's previous interactions.

Profile Verifications

Method: POST

Description

Returns a list of all the previous verifications from this individual, alongside the latest status, if it was the first interaction, and the identity IDs for each one.

Example request

curl --location --request POST 'https://api.getmati.com/reusage/v1/profile/verification' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{access_token}}' \
--data '{"profileId":"{{profile_id}}"}'

Example Response

{
    "responseStatus": "SUCCESS",
    "verifications": [
        {
            "id": "63ff31c99605df001da6be6e",
            "created": "2023-03-01T11:06:49Z",
            "status": "reviewNeeded",
            "firstVerification": false,
            "identityId": "63ff31c99605df001da6be6c"
        }
    ]
}

Response fields

  • responseStatus: The status of the response.
  • verifications: The list of previous verifications from the individual, alongside the latest status, if it was the first interaction, and the identity IDs for each one.
    • id: The ID of the verification.
    • created: The timestamp when the verification was created.
    • status: The status of the verification.
    • firstVerification: Whether or not this was the first verification for the individual.
    • identityId: The ID of the identity associated with the verification.

Profile History

Method: POST

Description

Returns a summary of the amount of times that we have seen the individual, when was the first time we saw this individual and the count of each interaction's status.

Example Request

curl --location --request POST 'https://api.getmati.com/reusage/v1/profile/history' \
--header 'Authorization: Bearer {{access_token}}' \
--header 'Content-Type: application/json' \
--data '{"profileId":"{{profile_id}}"}'

Example Response

{
    "responseStatus": "SUCCESS",
    "userHistory": {
        "dateOfFirstVerification": "2021-07-31T08:15:35Z",
        "totalVerifications": 11,
        "totalManualReview": 3,
        "totalRejected": 0,
        "totalNumberOfMerchants": 2,
        "totalVerified": 8
    }
}

Response fields

  • responseStatus (string): Indicates the status of the API response. Possible values are "SUCCESS" and "ERROR".
  • userHistory (object): Contains the summary of the individual's history.
    • dateOfFirstVerification (string): The date and time of the individual's first verification.
    • totalVerifications (integer): The total number of verifications for this individual.
    • totalManualReview (integer): The total number of verifications that were flagged for manual review.
    • totalRejected (integer): The total number of verifications that were rejected.
    • totalNumberOfMerchants (integer): The total number of merchants that have interacted with this individual.
    • totalVerified (integer): The total number of verifications that were successfully completed.