Skip to main content
POST
Create company

Authorizations

Authorization
string
header
required

Access token issued by gs.service.id. Its access_identity claim carries team_sid, actor_sid and actor_type, and that team scope is authoritative.

Team-SID
string
header
required

Team scope for tokens that do not carry one. Ignored when the token already names a team.

Body

application/json

Request body of create_company.

playtable_sid
string | null

Table to attach to; omitted → playtable_sids: [] (table-less account - anchor for people.company_sid links).

Required string length: 18
Pattern: ^pt_tb_
name
string | null

Display name, a manual observation (context), never a column. NOT a dedup key - a name-only company skips the dedup ladder.

Required string length: 1 - 511
logo_url
string<uri> | null

Company logo URL (max 2048), a manual observation; null = the domain favicon.

Maximum string length: 2048
ln_id
string | null

Numeric LinkedIn company id - strongest dedup key.

Maximum string length: 255
ln_nickname
string | null

Company page slug or page URL (reduced to the slug on write; a person profile or free text is a 422); dedup key #2.

Maximum string length: 255
website
string<uri> | null

The full URL, a manual observation; domain (a column, the identifier) is derived from it when domain is absent.

Maximum string length: 511
domain
string | null

Normalized to lowercased apex on write; public-suffix validated; dedup key #3.

Maximum string length: 255
deal_size
number | null

Deal value (decimal 15,2).

tag_sids
string[] | null

Labels; each existence-checked (422 relation_not_found).

Required string length: 18
Pattern: ^cr_tg_
external_refs
object | null

Free-form CRM sync hook; round-tripped as-is.

on_duplicate
enum<string>

Dedup resolution: omitted → duplicate = 409 duplicate_rejected with context; "skip" = return the existing row untouched; "attach" = union playtable_sid into the existing row's membership (requires playtable_sid). Companies attach, never move.

Available options:
skip,
attach

Response

create success envelope.

success
enum<boolean>
required
Available options:
true
operation
enum<string>
required
Available options:
create
item
object
required
already_exists
boolean
required
meta
object
required