Skip to content

Get contact field definitions

contact.definitions() -> ContactDefinitionsResponse
GET/v1/contacts/definitions

Returns the schema for all field and relationship definitions available on contacts, including both system-defined and custom fields. Useful for understanding the shape of contact data before creating or updating records. See Fields and relationships for more details.

Required scope: contacts:read

Rate limit category: Read

ReturnsExpand Collapse
class ContactDefinitionsResponse:
field_definitions: Dict[str, FieldDefinitions]

Map of field keys to their definitions, including both system and custom fields.

description: Optional[str]

Description of the field, or null.

label: str

Human-readable display name of the field.

type_configuration: FieldDefinitionsTypeConfiguration

Type-specific configuration (e.g. select options, currency code).

currency: Optional[str]

ISO 4217 3-letter currency code.

handle_service: Optional[Literal["TWITTER", "LINKEDIN", "FACEBOOK", "INSTAGRAM"]]

Social platform associated with this handle field.

One of the following:
"TWITTER"
"LINKEDIN"
"FACEBOOK"
"INSTAGRAM"
multiple_values: Optional[bool]

Whether this field accepts multiple values.

options: Optional[List[FieldDefinitionsTypeConfigurationOption]]

Available options for select fields.

id: str

Unique identifier of the select option.

label: str

Human-readable display name of the option.

description: Optional[str]

Description of the option, or null.

unique: Optional[bool]

Whether values for this field must be unique.

value_type: Literal["ADDRESS", "CHECKBOX", "CURRENCY", 11 more]

Data type of the field.

One of the following:
"ADDRESS"
"CHECKBOX"
"CURRENCY"
"DATETIME"
"EMAIL"
"FULL_NAME"
"MARKDOWN"
"MULTI_SELECT"
"NUMBER"
"SINGLE_SELECT"
"SOCIAL_HANDLE"
"TELEPHONE"
"TEXT"
"URL"
id: Optional[str]

Unique identifier of the field definition.

read_only: Optional[bool]

true for fields that are not writable via the API (e.g. AI-generated summaries). false or absent for writable fields.

object_type: str

The object type these definitions belong to (e.g. account).

relationship_definitions: Dict[str, RelationshipDefinitions]

Map of relationship keys to their definitions.

cardinality: Literal["HAS_ONE", "HAS_MANY"]

Whether this is a has_one or has_many relationship.

One of the following:
"HAS_ONE"
"HAS_MANY"
description: Optional[str]

Description of the relationship, or null.

label: str

Human-readable display name of the relationship.

object_type: str

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

id: Optional[str]

Unique identifier of the relationship definition.

Get contact field definitions

from lightfield import Lightfield

client = Lightfield(
    api_key="My API Key",
)
contact_definitions_response = client.contact.definitions()
print(contact_definitions_response.field_definitions)
{
  "fieldDefinitions": {
    "foo": {
      "description": "description",
      "label": "label",
      "typeConfiguration": {
        "currency": "currency",
        "handleService": "TWITTER",
        "multipleValues": true,
        "options": [
          {
            "id": "id",
            "label": "label",
            "description": "description"
          }
        ],
        "unique": true
      },
      "valueType": "ADDRESS",
      "id": "id",
      "readOnly": true
    }
  },
  "objectType": "objectType",
  "relationshipDefinitions": {
    "foo": {
      "cardinality": "HAS_ONE",
      "description": "description",
      "label": "label",
      "objectType": "objectType",
      "id": "id"
    }
  }
}
Returns Examples
{
  "fieldDefinitions": {
    "foo": {
      "description": "description",
      "label": "label",
      "typeConfiguration": {
        "currency": "currency",
        "handleService": "TWITTER",
        "multipleValues": true,
        "options": [
          {
            "id": "id",
            "label": "label",
            "description": "description"
          }
        ],
        "unique": true
      },
      "valueType": "ADDRESS",
      "id": "id",
      "readOnly": true
    }
  },
  "objectType": "objectType",
  "relationshipDefinitions": {
    "foo": {
      "cardinality": "HAS_ONE",
      "description": "description",
      "label": "label",
      "objectType": "objectType",
      "id": "id"
    }
  }
}