For the complete documentation index, see llms.txt. This page is also available as Markdown.

Contact endpoints

Enrich a contact

post

Adds the person to your Goodfit dataset asynchronously. Identify them by linkedInUrl, workEmail, or firstName + lastName + companyDomain or companyName. Poll GET /enrich-contact/request/{requestId} with the returned id. A result offering employments or candidates is settled by resending with selectedCompanyId or selectedCandidateId. An identical request that is still in flight returns its id with a 200 instead.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Your Goodfit API key, sent as the bare header value

Body
enrichPhoneNumberbooleanOptionalDefault: false
syncToCRMbooleanOptionalDefault: false
Responses
201

The request is recorded and queued

application/json
requestIdstring · uuidRequiredPattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$
statusstring · enumRequiredPossible values:
post/enrichment/enrich-contact/request
POST /enrichment/enrich-contact/request HTTP/1.1
Host: api.goodfit.io
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 306

{
  "identity": {
    "selectedCandidateId": "text",
    "linkedInUrl": "text",
    "companyName": "text",
    "companyDomain": "text",
    "workEmail": "text",
    "firstName": "text",
    "lastName": "text",
    "jobTitle": "text",
    "selectedCompanyId": "text"
  },
  "externalIds": {
    "salesforce": "text",
    "hubspot": "text"
  },
  "enrichPhoneNumber": false,
  "syncToCRM": false
}
{
  "requestId": "123e4567-e89b-12d3-a456-426614174000",
  "status": "QUEUED"
}

Get a contact enrichment request

get

result is present once the request is COMPLETE, and error once it is ERROR.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Your Goodfit API key, sent as the bare header value

Path parameters
requestIdstring · uuidRequiredPattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$
Responses
200

Get a contact enrichment request

application/json
requestIdstring · uuidRequiredPattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$
statusstring · enumRequiredPossible values:
errorstringOptional
get/enrichment/enrich-contact/request/{requestId}
GET /enrichment/enrich-contact/request/{requestId} HTTP/1.1
Host: api.goodfit.io
Authorization: YOUR_API_KEY
Accept: */*
{
  "requestId": "123e4567-e89b-12d3-a456-426614174000",
  "status": "QUEUED",
  "error": "text",
  "inputs": {
    "selectedCandidateId": "text",
    "linkedInUrl": "text",
    "companyName": "text",
    "companyDomain": "text",
    "workEmail": "text",
    "firstName": "text",
    "lastName": "text",
    "jobTitle": "text",
    "selectedCompanyId": "text"
  },
  "result": {
    "found": true,
    "matchedBy": "linkedInUrl",
    "reason": "PERSON_NOT_FOUND",
    "employments": [
      {
        "companyId": "text",
        "companyName": "text",
        "companyDomain": "text",
        "jobTitle": "text",
        "startDate": "text"
      }
    ],
    "candidates": [
      {
        "candidateId": "text",
        "firstName": "text",
        "lastName": "text",
        "jobTitle": "text",
        "companyId": "text",
        "companyName": "text",
        "companyDomain": "text",
        "isFormerEmployment": true,
        "linkedInUrl": "text"
      }
    ],
    "linkedInUrl": "text",
    "firstName": "text",
    "lastName": "text",
    "jobTitle": "text",
    "startDate": "text",
    "isFormerEmployment": true,
    "workEmail": "name@gmail.com",
    "mobilePhone": "text",
    "personas": [
      "text"
    ],
    "addedToDataset": true,
    "syncedToCRM": true,
    "syncFailureReason": "text",
    "company": {
      "companyId": "text",
      "linkedInUrl": "text",
      "name": "text",
      "domain": "text",
      "markets": [
        "text"
      ],
      "addedToDataset": true,
      "externalIds": {
        "salesforce": "text",
        "hubspot": "text"
      }
    },
    "externalIds": {
      "salesforce": "text",
      "hubspot": "text"
    }
  }
}

Last updated