{"_id":"5841fb7973967b0f004b4a33","project":"5588b8a2f6c18d0d005bba03","user":"5588b847f6c18d0d005bba01","category":{"_id":"5841faa973967b0f004b4a2b","project":"5588b8a2f6c18d0d005bba03","__v":0,"version":"5588b8a2f6c18d0d005bba06","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-12-02T22:50:17.900Z","from_sync":false,"order":4,"slug":"enrichment-api","title":"Enrichment API"},"version":{"_id":"5588b8a2f6c18d0d005bba06","project":"5588b8a2f6c18d0d005bba03","__v":15,"createdAt":"2015-06-23T01:38:42.696Z","releaseDate":"2015-06-23T01:38:42.696Z","categories":["5588b8a3f6c18d0d005bba07","5588e9689cfea70d00371df3","5588f5921163180d00b64704","561598b121e9110d0078025a","5616f1c9d170d00d00189306","5616f5c3a410c90d00c6121e","561803dcf8c9632100ac7592","563667280441020d0000e9eb","5642570d9417b40d00c0fcd3","57bf5f02efe0050e00d50bd5","57f53fb368a53b2000e03f0f","57f55187440418170086325a","582e3afa72fd270f0006926d","5841faa973967b0f004b4a2b","58db348aa32c8419002433bb"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"__v":0,"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-12-02T22:53:45.049Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":0,"body":"The enrichment API lets 3rd-party services add fields to Mixmax contacts. These fields become part of the `meta` object described at [/contacts](doc:contacts) if a Mixmax user connects their Mixmax account to the 3rd-party service. They will then be used for purposes like filling template variables.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Requirements\"\n}\n[/block]\n3rd-party services must satisfy the following requirements to be added to Mixmax as an enrichment source. If your service satisfies these requirements and you would like it to be made available to Mixmax users, please contact <a href=\"mailto:support:::at:::mixmax.com\">support@mixmax.com</a>.\n\n## Authentication\n\nA 3rd-party service must offer Mixmax the ability to request credentials on behalf of its users using OAuth 2.0. These credentials must grant Mixmax the ability to query the service's \"enrichment API\" as described below.\n\n## Enrichment API\n\nThe service must expose an \"enrichment API\" for Mixmax to call to retrieve the fields to add to a given contact. Mixmax will call this API periodically and any changed data will update the fields that Mixmax has saved.\n\nThe API must accept as input a string email, the email of the contact.\n\nIn response, the API should return a JSON response containing the fields to be added to the contact identified by that email. The format of this response may differ service-to-service so long as it is _stable_ and _documented_ to make it possible for Mixmax engineers to integrate it into the MIxmax platform. The response must ultimately be flattened into a single object where the keys are the contact field names and the values are the field values, but each service can specify how they wish this transformation to be performed.\n\n## Example\n\nAn example enrichment API would be FullContact's [Person API](https://www.fullcontact.com/developer/docs/person/). This API accepts an email and returns a JSON object describing many properties of the contact. This JSON object is nested and the response must be flattened, so to do this we might simply take the innermost fields as those to be added to the contact.","excerpt":"","slug":"introduction-enrichment-api","type":"basic","title":"Introduction: Enrichment API"}

Introduction: Enrichment API


The enrichment API lets 3rd-party services add fields to Mixmax contacts. These fields become part of the `meta` object described at [/contacts](doc:contacts) if a Mixmax user connects their Mixmax account to the 3rd-party service. They will then be used for purposes like filling template variables. [block:api-header] { "type": "basic", "title": "Requirements" } [/block] 3rd-party services must satisfy the following requirements to be added to Mixmax as an enrichment source. If your service satisfies these requirements and you would like it to be made available to Mixmax users, please contact <a href="mailto:support@mixmax.com">support@mixmax.com</a>. ## Authentication A 3rd-party service must offer Mixmax the ability to request credentials on behalf of its users using OAuth 2.0. These credentials must grant Mixmax the ability to query the service's "enrichment API" as described below. ## Enrichment API The service must expose an "enrichment API" for Mixmax to call to retrieve the fields to add to a given contact. Mixmax will call this API periodically and any changed data will update the fields that Mixmax has saved. The API must accept as input a string email, the email of the contact. In response, the API should return a JSON response containing the fields to be added to the contact identified by that email. The format of this response may differ service-to-service so long as it is _stable_ and _documented_ to make it possible for Mixmax engineers to integrate it into the MIxmax platform. The response must ultimately be flattened into a single object where the keys are the contact field names and the values are the field values, but each service can specify how they wish this transformation to be performed. ## Example An example enrichment API would be FullContact's [Person API](https://www.fullcontact.com/developer/docs/person/). This API accepts an email and returns a JSON object describing many properties of the contact. This JSON object is nested and the response must be flattened, so to do this we might simply take the innermost fields as those to be added to the contact.