---
title: "List contact fields"
method: GET
path: "/contact-fields"
tags: ["Contact Fields"]
---

# List contact fields

`GET /contact-fields`

## Request

- Base URL: `https://api.textla.com/v1`
- URL: `https://api.textla.com/v1/contact-fields`
- Auth: HTTP bearer

Returns the merge tokens a message can use: the nine standard fields, followed by the account's custom fields. A custom field's token uses the stable field ID, so a rename does not break messages.

## Response `200`

OK

- ListContactFieldsOutput
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `items` ContactField[], nullable, required: The nine standard fields, followed by the account's custom fields.
    - `description` string, nullable, required: Custom fields only.
    - `fallback_value` string, nullable, required: Value used when a contact has none. For standard fields this is the account's default. For custom fields it is the field's fallback, and applies to text fields only.
    - `kind` 'custom' | 'standard', required: Whether the field is standard or custom.
    - `name` string, required: Standard fields: birthdate, city, company, email, first_name, last_name, state_or_province, street_address or zip_code. Custom fields: the display name.
    - `token` string, required: The merge token to put in a message, for example {{ first_name }} or {{ custom_F11111111112 }}.
    - `type` 'boolean' | 'date' | 'number' | 'string', required: The type of the field. All standard fields are string except birthdate, which is date.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `412`: Precondition Failed
- `429`: Too Many Requests
- `500`: Internal Server Error
- `501`: Not Implemented
- `502`: Bad Gateway
- `503`: Service Unavailable
- `504`: Gateway Timeout

---

[API](https://skmtc.dev/textla/apis/textla-api.md) - [All operations](https://skmtc.dev/textla/apis/textla-api/llms.txt) - [OpenAPI document](https://skmtc.dev/textla/apis/textla-api/revisions/473f03350bc1?raw)
