The contact's data record: one row of extra information the application keeps about the contact, mostly where the contact appears to be located. The location fields (geoIp4, geoCountry2, geo_country, geoState, geoCity, geoZip, geoLat, geoLon, geoTz, geoTzOffset, geoTstamp) are filled by a MaxMind GeoIP lookup of an IP address recorded for the contact, for example when the contact subscribes, opens or clicks a tracked email, or is added through the v1 API with an ip4 value; contact enrichment can also fill the city, state, country, country code and zip when they are blank, and sets geoTstamp when it does. The gacampaign*, ga_first_visit, ga_times_visited, fb_id, fb_name and tw_id fields are legacy columns that the application no longer writes. A contact has at most one data record, so the response is a single contactDatum object, not a list: limit, offset, filters and orders are ignored on this path. The record is created on demand (for example the first time a location is stored, or when the contact is personalized for a send), so a contact that has none yet returns an empty object ({}) with status 200. Values come back as strings; tstamp, geoTstamp and ga_first_visit are ISO 8601 dates or null. Returns 404 if the contact does not exist.
{
"contactDatum": {
"contact": "4",
"tstamp": "2021-06-09T14:35:10-05:00",
"geoTstamp": null,
"geoIp4": "0",
"geoCountry2": "",
"geo_country": "",
"geoState": "",
"geoCity": "",
"geoZip": "",
"geoArea": "0",
"geoLat": "0.000000",
"geoLon": "0.000000",
"geoTz": "",
"geoTzOffset": "0.00",
"ga_campaign_source": "",
"ga_campaign_name": "",
"ga_campaign_medium": "",
"ga_campaign_term": "",
"ga_campaign_content": "",
"ga_campaign_customsegment": "",
"ga_first_visit": null,
"ga_times_visited": "0",
"fb_id": "0",
"fb_name": "",
"tw_id": "0",
"created_timestamp": "0000-00-00 00:00:00",
"updated_timestamp": "0000-00-00 00:00:00",
"created_by": "0",
"updated_by": "0",
"links": [],
"id": "12"
}
}