Managing Customer Records

Resolve a Customer Record

Using the identity.resolve endpoint, you can resolve a customer record - in the form of a Multi Field Request - to a persistent, unique Person ID. Once you have obtained a Person ID, you can use that identifier for ongoing Resolve and Enrich requests in addition to all other acceptable identifiers.

📘

The default rate limit for the resolve endpoint is 100 queries per second.

curl --request POST 'https://api.fullcontact.com/v3/identity.resolve' \
    -H 'Authorization: Bearer FC_API_KEY' \
    -H 'Content-Type: application/json' \
    -d '{
    "email": "[email protected]",
    "name": {
        "given": "Bart",
        "family": "Lorang"
    },
    "address": {
        "addressLine1": "123 Main St.",
        "city": "Boulder",
        "region": "CO"
    }
}'
{
  "recordIds": [
    "CUST001"
  ],
  "personIds": [
    "c0VAsuEb4DRPuXmEXLutGitk-Hq9xUMautmqzyfuHpZyl3EP"
  ]
}
Response Payload Properties
personIds listQueryableThe persistent generated unique identifier for the provided multi field payload.
recordIds listQueryableThe client-driven Record ID attached to a customer.

Map A Customer Record

Map and store customer records by sending any acceptable Multi Field Request
identifier combination along with any recordId. You can add multiple Record IDs to the same person.

To see what identifiers are attached to a given record, you can call identity.resolve with a recordId, personId, or acceptable multi field payload

📘

  • If the recordId exists, and tied to a different person, that mapping will be deleted and will be associated to the most recent multi field query
  • If you do not pass a recordId to identity.map, one with be auto generated for you
  • The default rate limit for the map endpoint is 100 queries per second.
curl --request POST 'https://api.fullcontact.com/v3/identity.map' \
    -H 'Authorization: Bearer FC_API_KEY' \
    -H 'Content-Type: application/json' \
    -d '{
    "email": "[email protected]",
    "name": {
        "given": "Bart",
        "family": "Lorang"
    },
    "address": {
        "addressLine1": "123 Main St.",
        "city": "Boulder",
        "region": "CO"
    },
    "recordId": "CUST001"
}'
{
    "recordIds": [
        "CUST001"
    ]
}
Response Payload Properties
recordIds listQueryableThe client-driven Record ID attached to a customer.

Map & Resolve a Customer Record

Similar to identity.map, but allows returning a person ID in addition to the created record ID in a single API call.

📘

  • If the recordId exists, and tied to a different person, that mapping will be deleted and will be associated to the most recent multi field query
  • If you do not pass a recordId to identity.mapResolve, one with be auto generated for you
  • This endpoint supports generatePid as an optional attribute in the body. Setting this will always return a person ID whether there is a match or not.
curl --request POST 'https://api.fullcontact.com/v3/identity.mapResolve' \
    -H 'Authorization: Bearer FC_API_KEY' \
    -H 'Content-Type: application/json' \
    -d '{
    "email": "[email protected]",
    "name": {
        "given": "Bart",
        "family": "Lorang"
    },
    "address": {
        "addressLine1": "123 Main St.",
        "city": "Boulder",
        "region": "CO"
    },
    "recordId": "CUST0001"
}'
{
  "recordIds": [
    "CUST001"
  ],
  "personIds": [
    "c0VAsuEb4DRPuXmEXLutGitk-Hq9xUMautmqzyfuHpZyl3EP"
  ]
}
Properties
recordIds listQueryableThe client-driven record id attached to a customer.
personIds listQueryableThe new or existing person IDs associated to the customer record.

Delete a Customer Record

If at any point you need to delete and remove a customer record, you can use the Resolve API Delete endpoint by inputting one or many Customer Record IDs. A successful deletion request will result in a 204 Response.

curl --request POST 'https://api.fullcontact.com/v3/identity.delete' \
    -H 'Authorization: Bearer FC_API_KEY' \
    -H 'Content-Type: application/json' \
    -d '{
    "recordId" : "CUST001"
}'