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

Company endpoints

Enrich a company

post

Adds the company to your Goodfit dataset asynchronously. A company new to your dataset appears within minutes with its name, domain and LinkedIn URL, and its data points, scores and tags normally follow within minutes; segments arrive with your next daily dataset update. Poll GET /request/{requestId} with the returned id to see how the request resolved and, through dataStatus, when the company is filled in.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Your Goodfit API key, sent as the bare header value

Body
domainstring · min: 1Optional
emailstring · emailOptional

Used only to derive a domain. Personal providers rejected

Pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
forceOverrideExternalIdsbooleanOptional
syncToCRMbooleanOptional

Write the company to every connected CRM once its data points, scores and tags are filled in, or at once if it already is. Defaults to false

Responses
201

The request is recorded and queued

application/json
successconst: Required
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)$
post/enrichment/enrich
POST /enrichment/enrich HTTP/1.1
Host: api.goodfit.io
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 144

{
  "domain": "text",
  "email": "name@gmail.com",
  "externalIds": {
    "salesforce": "text",
    "hubspot": "text"
  },
  "forceOverrideExternalIds": true,
  "syncToCRM": true
}
{
  "success": true,
  "requestId": "123e4567-e89b-12d3-a456-426614174000"
}

Get an enrichment request

get

isChargable is omitted while the request is Queued. dataStatus is BASIC while the company has only its name, domain and LinkedIn URL, and FULL once a build has filled in its data points, scores and tags.

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 an 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:
isChargableboolean · nullableOptional
dataStatusstring · enumOptional

Only on a Completed request. BASIC while the company has just its name, domain and LinkedIn URL; FULL once a build has filled in its data points, scores and tags, normally within minutes

Possible values:
get/enrichment/request/{requestId}
GET /enrichment/request/{requestId} HTTP/1.1
Host: api.goodfit.io
Authorization: YOUR_API_KEY
Accept: */*
{
  "requestId": "123e4567-e89b-12d3-a456-426614174000",
  "inputs": {
    "domain": "text",
    "syncToCRM": true
  },
  "status": "Queued",
  "context": {
    "skipReason": "INVALID_DOMAIN",
    "skipReasonDescription": "text",
    "errorMessage": "text",
    "domainCheck": {
      "domainLoads": true,
      "loadedUrl": "text"
    }
  },
  "isChargable": true,
  "dataStatus": "BASIC"
}

Last updated