Skip to main content
POST
/
companies
Create or update a company
curl --request POST \
  --url https://app.gaintrace.com/api/v1/companies \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "externalId": "<string>",
  "domain": "<string>",
  "industry": "<string>",
  "plan": "<string>",
  "segment": "<string>",
  "region": "<string>",
  "location": "<string>",
  "lifecycleStage": "<string>",
  "ownerEmail": "<string>",
  "employeeCount": 1,
  "arr": 1,
  "mrr": 1,
  "currency": "<string>",
  "contractStartDate": "2023-11-07T05:31:56Z",
  "contractEndDate": "2023-11-07T05:31:56Z",
  "autoRenew": true
}
'
{
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "externalId": "<string>",
    "name": "<string>",
    "domain": "<string>",
    "industry": "<string>",
    "employeeCount": 123,
    "plan": "<string>",
    "segment": "<string>",
    "region": "<string>",
    "location": "<string>",
    "lifecycleStage": "<string>",
    "ownerEmail": "<string>",
    "arr": 123,
    "mrr": 123,
    "currency": "<string>",
    "contractStartDate": "2023-11-07T05:31:56Z",
    "contractEndDate": "2023-11-07T05:31:56Z",
    "autoRenew": true,
    "healthScore": 123,
    "contactCount": 123,
    "dealCount": 123,
    "isPhantom": true,
    "lastActivityAt": "2023-11-07T05:31:56Z",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z"
  }
}

Authorizations

Authorization
string
header
required

Bearer API key. Secret server keys start with gt_live_; client-safe browser keys start with gt_pub_ (write-only, origin-pinned). Create and scope keys in Settings → API Keys.

Body

application/json

Create or update a company. Upserts on externalId (defaults to a slug of name).

name
string
required
Required string length: 1 - 255
externalId
string

Upsert key. Defaults to a slug of the name.

Maximum string length: 100
domain
string | null
Maximum string length: 255
industry
string | null
Maximum string length: 100
plan
string | null
Maximum string length: 50
segment
string | null
Maximum string length: 50
region
string | null
Maximum string length: 100
location
string | null
Maximum string length: 255
lifecycleStage
string | null
Maximum string length: 30
ownerEmail
string | null
Maximum string length: 255
employeeCount
integer | null
Required range: x >= 0
arr
integer | null

Integer minor units.

Required range: x >= 0
mrr
integer | null

Integer minor units.

Required range: x >= 0
currency
string | null

ISO 4217 code or null.

Maximum string length: 3
Pattern: ^[A-Z]{3}$
contractStartDate
string<date-time> | null
contractEndDate
string<date-time> | null
autoRenew
boolean

Response

Existing company updated.

data
object

A canonical company record. Health, counts, and timestamps are read-only.

Last modified on July 6, 2026