Skip to content

Create a list

POST/v1/lists

Creates a new list. The $name and $objectType fields are required.

Supports idempotency via the Idempotency-Key header.

Required scope: lists:create

Rate limit category: Write

Body ParametersJSONExpand Collapse
fields: object { "$name", "$objectType" }

Field values for the new list. Required: $name (string) and $objectType.

"$name": string

Display name of the list.

"$objectType": "account" or "contact" or "opportunity"

The type of entities this list contains. One of account, contact, or opportunity.

Accepts one of the following:
"account"
"contact"
"opportunity"
relationships: optional object { "$accounts" } or object { "$contacts" } or object { "$opportunities" }

Relationships to set on the new list.

Accepts one of the following:
Accounts = object { "$accounts" }
"$accounts": string or array of string

Account ID(s) to add as initial members. List $objectType must be account.

Accepts one of the following:
UnionMember0 = string
UnionMember1 = array of string
Contacts = object { "$contacts" }
"$contacts": string or array of string

Contact ID(s) to add as initial members. List $objectType must be contact.

Accepts one of the following:
UnionMember0 = string
UnionMember1 = array of string
Opportunities = object { "$opportunities" }
"$opportunities": string or array of string

Opportunity ID(s) to add as initial members. List $objectType must be opportunity.

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

Unique identifier for the list.

createdAt: string

ISO 8601 timestamp of when the list was created.

fields: map[object { value, valueType } ]

Map of field names to their typed values. System fields are prefixed with $ (e.g. $name, $objectType).

value: string or number or boolean or 3 more

The field value, or null if unset.

Accepts one of the following:
UnionMember0 = string
UnionMember1 = number
UnionMember2 = boolean
UnionMember3 = array of string
Address = object { city, country, latitude, 5 more }
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.

FullName = object { firstName, lastName }
firstName: optional string

The contact's first name.

lastName: optional string

The contact's last name.

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"

Create a list

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