Skip to content

Update an account

POST/v1/accounts/{id}

Updates an existing account by ID. Only included fields and relationships are modified.

The $howTheyMakeMoney and $accountStatus fields are read-only and cannot be updated. The $opportunity, $task, and $note relationships are also read-only — manage them via the $account relationship on the opportunity or task, or the $account/$opportunity note relationships instead.

Supports idempotency via the Idempotency-Key header.

Required scope: accounts:update

Rate limit category: Write

Path ParametersExpand Collapse
id: string

Unique identifier of the account to update.

Body ParametersJSONExpand Collapse
fields: optional object { "$facebook", "$headcount", "$industry", 7 more } or map[string or number or boolean or 2 more]

Field values to update — only provided fields are modified; omitted fields are left unchanged. System fields use a $ prefix (e.g. $name); custom attributes use their bare slug. SINGLE_SELECT and MULTI_SELECT fields accept an option ID or label — call the definitions endpoint for available options. See Fields and relationships for value type details.

Accepts one of the following:
UnionMember0 = object { "$facebook", "$headcount", "$industry", 7 more }
"$facebook": optional string

Facebook handle or profile identifier (SOCIAL_HANDLE).

"$headcount": optional string

Employee count range (SINGLE_SELECT). Pass the option ID or label from the field definition.

"$industry": optional array of string

Industries the account operates in (MULTI_SELECT). Pass option IDs or labels from the field definition.

"$instagram": optional string

Instagram handle or profile identifier (SOCIAL_HANDLE).

"$lastFundingType": optional string

Most recent funding round type (SINGLE_SELECT). Pass the option ID or label from the field definition.

"$linkedIn": optional string

LinkedIn handle or profile identifier (SOCIAL_HANDLE).

"$name": optional string

Display name of the account.

"$primaryAddress": optional object { city, country, latitude, 5 more }

Primary address (ADDRESS).

city: optional string

City name.

country: optional string

2-letter ISO 3166-1 alpha-2 country code.

latitude: optional number

Latitude coordinate.

longitude: optional number

Longitude coordinate.

postalCode: optional string

Postal or ZIP code.

state: optional string

State or province.

street: optional string

Street address line 1.

street2: optional string

Street address line 2.

"$twitter": optional string

Twitter/X handle (SOCIAL_HANDLE).

"$website": optional array of string

Website URLs associated with the account (URL, multi-value).

UnionMember1 = map[string or number or boolean or 2 more]
Accepts one of the following:
UnionMember0 = string
UnionMember1 = number
UnionMember2 = boolean
UnionMember3 = array of string or number or boolean or 2 more
Accepts one of the following:
UnionMember0 = string
UnionMember1 = number
UnionMember2 = boolean
UnionMember3 = array of unknown
UnionMember4 = map[unknown]
UnionMember4 = map[string or number or boolean or 2 more]
Accepts one of the following:
UnionMember0 = string
UnionMember1 = number
UnionMember2 = boolean
UnionMember3 = array of unknown
UnionMember4 = map[unknown]
relationships: optional object { "$contact", "$owner" } or map[object { add, remove, replace } ]

Relationship operations to apply. System relationships use a $ prefix (e.g. $owner, $contact). Each value is an operation object with add, remove, or replace.

Accepts one of the following:
UnionMember0 = object { "$contact", "$owner" }
"$contact": optional object { add, remove, replace }

Operation to modify associated contacts.

add: optional string or array of string

Entity ID(s) to add to the relationship.

Accepts one of the following:
UnionMember0 = string
UnionMember1 = array of string
remove: optional string or array of string

Entity ID(s) to remove from the relationship.

Accepts one of the following:
UnionMember0 = string
UnionMember1 = array of string
replace: optional string or array of string

Entity ID(s) to set as the entire relationship, replacing all existing associations.

Accepts one of the following:
UnionMember0 = string
UnionMember1 = array of string
"$owner": optional object { add, remove, replace }

Operation to modify the account owner.

add: optional string or array of string

Entity ID(s) to add to the relationship.

Accepts one of the following:
UnionMember0 = string
UnionMember1 = array of string
remove: optional string or array of string

Entity ID(s) to remove from the relationship.

Accepts one of the following:
UnionMember0 = string
UnionMember1 = array of string
replace: optional string or array of string

Entity ID(s) to set as the entire relationship, replacing all existing associations.

Accepts one of the following:
UnionMember0 = string
UnionMember1 = array of string
UnionMember1 = map[object { add, remove, replace } ]
add: optional string or array of string

Entity ID(s) to add to the relationship.

Accepts one of the following:
UnionMember0 = string
UnionMember1 = array of string
remove: optional string or array of string

Entity ID(s) to remove from the relationship.

Accepts one of the following:
UnionMember0 = string
UnionMember1 = array of string
replace: optional string or array of string

Entity ID(s) to set as the entire relationship, replacing all existing associations.

Accepts one of the following:
UnionMember0 = string
UnionMember1 = array of string
ReturnsExpand Collapse
AccountUpdateResponse = object { id, createdAt, fields, 2 more }
id: string

Unique identifier for the entity.

createdAt: string

ISO 8601 timestamp of when the entity was created.

fields: map[object { value, valueType } ]

Map of field names to their typed values. System fields are prefixed with $ (e.g. $name, $email); custom attributes use their bare slug.

value: string or number or boolean or 2 more

The field value, or null if unset.

Accepts one of the following:
UnionMember0 = string
UnionMember1 = number
UnionMember2 = boolean
UnionMember3 = array of string or number or boolean or 2 more
Accepts one of the following:
UnionMember0 = string
UnionMember1 = number
UnionMember2 = boolean
UnionMember3 = array of unknown
UnionMember4 = map[unknown]
UnionMember4 = map[string or number or boolean or 2 more]
Accepts one of the following:
UnionMember0 = string
UnionMember1 = number
UnionMember2 = boolean
UnionMember3 = array of unknown
UnionMember4 = map[unknown]
valueType: "ADDRESS" or "CHECKBOX" or "CURRENCY" or 11 more

The data type of the field.

Accepts one of the following:
"ADDRESS"
"CHECKBOX"
"CURRENCY"
"DATETIME"
"EMAIL"
"FULL_NAME"
"MARKDOWN"
"MULTI_SELECT"
"NUMBER"
"SINGLE_SELECT"
"SOCIAL_HANDLE"
"TELEPHONE"
"TEXT"
"URL"
relationships: map[object { cardinality, objectType, values } ]

Map of relationship names to their associated entities. System relationships are prefixed with $ (e.g. $owner, $contact).

cardinality: string

Whether the relationship is has_one or has_many.

objectType: string

The type of the related object (e.g. account, contact).

values: array of string

IDs of the related entities.

Update an account

curl https://api.lightfield.app/v1/accounts/$ID \
    -H 'Content-Type: application/json' \
    -H 'Lightfield-Version: 2026-03-01' \
    -H "Authorization: Bearer $API_KEY" \
    -d '{}'
{
  "id": "id",
  "createdAt": "createdAt",
  "fields": {
    "foo": {
      "value": "string",
      "valueType": "ADDRESS"
    }
  },
  "httpLink": "httpLink",
  "relationships": {
    "foo": {
      "cardinality": "cardinality",
      "objectType": "objectType",
      "values": [
        "string"
      ]
    }
  }
}
Returns Examples
{
  "id": "id",
  "createdAt": "createdAt",
  "fields": {
    "foo": {
      "value": "string",
      "valueType": "ADDRESS"
    }
  },
  "httpLink": "httpLink",
  "relationships": {
    "foo": {
      "cardinality": "cardinality",
      "objectType": "objectType",
      "values": [
        "string"
      ]
    }
  }
}