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: Dict[str, Union[str, float, bool, 3 more]]

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

Accepts one of the following:
str
float
bool
List[Union[str, float, bool, 3 more]]
Accepts one of the following:
str
float
bool
List[Optional[object]]
Dict[str, object]
Dict[str, Union[str, float, bool, 3 more]]
Accepts one of the following:
str
float
bool
List[Optional[object]]
Dict[str, object]
value_type: Literal["ADDRESS", "CHECKBOX", "CURRENCY", 11 more]

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"
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.

Accepts 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": {
        "foo": "string"
      },
      "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": {
        "foo": "string"
      },
      "valueType": "ADDRESS",
      "id": "id",
      "readOnly": true
    }
  },
  "objectType": "objectType",
  "relationshipDefinitions": {
    "foo": {
      "cardinality": "HAS_ONE",
      "description": "description",
      "label": "label",
      "objectType": "objectType",
      "id": "id"
    }
  }
}