# Contact Fields

Manage contact fields

## Get all Contact Fields

> Get all Contact Fields existing in your account

```json
{"openapi":"3.1.0","info":{"title":"Contacts","version":"2.0.0"},"tags":[{"name":"Contact Fields","description":"Manage contact fields"}],"servers":[{"description":"Mailtrap API","url":"https://mailtrap.io"}],"security":[{"HeaderAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"HeaderAuth":{"type":"apiKey","description":"Pass the API token in the Api-Token","in":"header","name":"Api-Token"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ContactField":{"title":"ContactField","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","maxLength":80},"data_type":{"type":"string","enum":["text","integer","float","boolean","date"]},"merge_tag":{"type":"string","maxLength":80,"description":"Personalize your campaigns by adding a merge tag. This field will be replaced with unique contact details for each recipient."}}},"UnauthenticatedResponse":{"title":"UnauthenticatedResponse","type":"object","properties":{"error":{"type":"string","description":"Error message"}}},"PermissionsDeniedResponse":{"title":"PermissionsDeniedResponse","type":"object","properties":{"errors":{"type":"string"}}},"RateLimitExceededResponse":{"title":"RateLimitExceededResponse","type":"object","properties":{"errors":{"type":"string","description":"Error message"}}},"ErrorResponse":{"title":"ErrorResponse","type":"object","properties":{"errors":{"type":"string","description":"Error message"}}}},"responses":{"UNAUTHENTICATED":{"description":"Returns unauthorized error message. Check your credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthenticatedResponse"}}}},"PERMISSION_DENIED":{"description":"Returns forbidden error message. Check your permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionsDeniedResponse"}}}},"LIMIT_EXCEEDED":{"description":"Rate limit exceeded for the current account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitExceededResponse"}}}},"INTERNAL_ERROR":{"description":"Internal error. Retry later or contact support.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/api/contacts/fields":{"get":{"description":"Get all Contact Fields existing in your account","operationId":"contactFields","summary":"Get all Contact Fields","tags":["Contact Fields"],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ContactField"}}}}},"401":{"$ref":"#/components/responses/UNAUTHENTICATED"},"403":{"$ref":"#/components/responses/PERMISSION_DENIED"},"429":{"$ref":"#/components/responses/LIMIT_EXCEEDED"},"500":{"$ref":"#/components/responses/INTERNAL_ERROR"}}}}}}
```

## Create Contact Field

> Create new Contact Fields. Please note, you can have up to 40 fields.<br>

```json
{"openapi":"3.1.0","info":{"title":"Contacts","version":"2.0.0"},"tags":[{"name":"Contact Fields","description":"Manage contact fields"}],"servers":[{"description":"Mailtrap API","url":"https://mailtrap.io"}],"security":[{"HeaderAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"HeaderAuth":{"type":"apiKey","description":"Pass the API token in the Api-Token","in":"header","name":"Api-Token"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ContactField":{"title":"ContactField","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","maxLength":80},"data_type":{"type":"string","enum":["text","integer","float","boolean","date"]},"merge_tag":{"type":"string","maxLength":80,"description":"Personalize your campaigns by adding a merge tag. This field will be replaced with unique contact details for each recipient."}}},"UnauthenticatedResponse":{"title":"UnauthenticatedResponse","type":"object","properties":{"error":{"type":"string","description":"Error message"}}},"PermissionsDeniedResponse":{"title":"PermissionsDeniedResponse","type":"object","properties":{"errors":{"type":"string"}}},"UnprocessableEntity":{"title":"UnprocessableEntity","type":"object","properties":{"errors":{"type":"object","description":"Validation errors per attribute. Entire record errors are under `base` key.","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"RateLimitExceededResponse":{"title":"RateLimitExceededResponse","type":"object","properties":{"errors":{"type":"string","description":"Error message"}}},"ErrorResponse":{"title":"ErrorResponse","type":"object","properties":{"errors":{"type":"string","description":"Error message"}}}},"responses":{"UNAUTHENTICATED":{"description":"Returns unauthorized error message. Check your credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthenticatedResponse"}}}},"PERMISSION_DENIED":{"description":"Returns forbidden error message. Check your permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionsDeniedResponse"}}}},"LIMIT_EXCEEDED":{"description":"Rate limit exceeded for the current account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitExceededResponse"}}}},"INTERNAL_ERROR":{"description":"Internal error. Retry later or contact support.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/api/contacts/fields":{"post":{"description":"Create new Contact Fields. Please note, you can have up to 40 fields.\n","operationId":"createContactField","summary":"Create Contact Field","tags":["Contact Fields"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","maxLength":80},"data_type":{"type":"string","enum":["text","integer","float","boolean","date"]},"merge_tag":{"type":"string","maxLength":80,"description":"Personalize your campaigns by adding a merge tag. This field will be replaced with unique contact details for each recipient."}}}}}},"responses":{"201":{"description":"Contact Field Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactField"}}}},"401":{"$ref":"#/components/responses/UNAUTHENTICATED"},"403":{"$ref":"#/components/responses/PERMISSION_DENIED"},"422":{"description":"Returns validation errors.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntity"}}}},"429":{"$ref":"#/components/responses/LIMIT_EXCEEDED"},"500":{"$ref":"#/components/responses/INTERNAL_ERROR"}}}}}}
```

## Get Contact Field

> Get a contact Field by ID

```json
{"openapi":"3.1.0","info":{"title":"Contacts","version":"2.0.0"},"tags":[{"name":"Contact Fields","description":"Manage contact fields"}],"servers":[{"description":"Mailtrap API","url":"https://mailtrap.io"}],"security":[{"HeaderAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"HeaderAuth":{"type":"apiKey","description":"Pass the API token in the Api-Token","in":"header","name":"Api-Token"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ContactField":{"title":"ContactField","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","maxLength":80},"data_type":{"type":"string","enum":["text","integer","float","boolean","date"]},"merge_tag":{"type":"string","maxLength":80,"description":"Personalize your campaigns by adding a merge tag. This field will be replaced with unique contact details for each recipient."}}},"UnauthenticatedResponse":{"title":"UnauthenticatedResponse","type":"object","properties":{"error":{"type":"string","description":"Error message"}}},"PermissionsDeniedResponse":{"title":"PermissionsDeniedResponse","type":"object","properties":{"errors":{"type":"string"}}},"NotFoundResponse":{"title":"NotFoundResponse","type":"object","properties":{"error":{"type":"string","description":"Error message"}}},"RateLimitExceededResponse":{"title":"RateLimitExceededResponse","type":"object","properties":{"errors":{"type":"string","description":"Error message"}}},"ErrorResponse":{"title":"ErrorResponse","type":"object","properties":{"errors":{"type":"string","description":"Error message"}}}},"responses":{"UNAUTHENTICATED":{"description":"Returns unauthorized error message. Check your credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthenticatedResponse"}}}},"PERMISSION_DENIED":{"description":"Returns forbidden error message. Check your permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionsDeniedResponse"}}}},"NOT_FOUND":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"LIMIT_EXCEEDED":{"description":"Rate limit exceeded for the current account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitExceededResponse"}}}},"INTERNAL_ERROR":{"description":"Internal error. Retry later or contact support.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/api/contacts/fields/{field_id}":{"get":{"description":"Get a contact Field by ID","operationId":"getContactField","summary":"Get Contact Field","tags":["Contact Fields"],"responses":{"200":{"description":"Returns attributes of the contact field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactField"}}}},"401":{"$ref":"#/components/responses/UNAUTHENTICATED"},"403":{"$ref":"#/components/responses/PERMISSION_DENIED"},"404":{"$ref":"#/components/responses/NOT_FOUND"},"429":{"$ref":"#/components/responses/LIMIT_EXCEEDED"},"500":{"$ref":"#/components/responses/INTERNAL_ERROR"}}}}}}
```

## Delete Contact Field

> Delete existing Contact Field Please, note, you cannot delete a Contact Field which is used in Automations, Email Campaigns (started or scheduled), and in conditions of Contact Segments (you'll see the corresponding error)<br>

```json
{"openapi":"3.1.0","info":{"title":"Contacts","version":"2.0.0"},"tags":[{"name":"Contact Fields","description":"Manage contact fields"}],"servers":[{"description":"Mailtrap API","url":"https://mailtrap.io"}],"security":[{"HeaderAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"HeaderAuth":{"type":"apiKey","description":"Pass the API token in the Api-Token","in":"header","name":"Api-Token"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"UNAUTHENTICATED":{"description":"Returns unauthorized error message. Check your credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthenticatedResponse"}}}},"PERMISSION_DENIED":{"description":"Returns forbidden error message. Check your permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionsDeniedResponse"}}}},"NOT_FOUND":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"LIMIT_EXCEEDED":{"description":"Rate limit exceeded for the current account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitExceededResponse"}}}},"INTERNAL_ERROR":{"description":"Internal error. Retry later or contact support.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"schemas":{"UnauthenticatedResponse":{"title":"UnauthenticatedResponse","type":"object","properties":{"error":{"type":"string","description":"Error message"}}},"PermissionsDeniedResponse":{"title":"PermissionsDeniedResponse","type":"object","properties":{"errors":{"type":"string"}}},"NotFoundResponse":{"title":"NotFoundResponse","type":"object","properties":{"error":{"type":"string","description":"Error message"}}},"UnprocessableEntity":{"title":"UnprocessableEntity","type":"object","properties":{"errors":{"type":"object","description":"Validation errors per attribute. Entire record errors are under `base` key.","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"RateLimitExceededResponse":{"title":"RateLimitExceededResponse","type":"object","properties":{"errors":{"type":"string","description":"Error message"}}},"ErrorResponse":{"title":"ErrorResponse","type":"object","properties":{"errors":{"type":"string","description":"Error message"}}}}},"paths":{"/api/contacts/fields/{field_id}":{"delete":{"description":"Delete existing Contact Field Please, note, you cannot delete a Contact Field which is used in Automations, Email Campaigns (started or scheduled), and in conditions of Contact Segments (you'll see the corresponding error)\n","operationId":"deleteContactField","summary":"Delete Contact Field","tags":["Contact Fields"],"responses":{"204":{"description":"Contact Field successfully deleted"},"401":{"$ref":"#/components/responses/UNAUTHENTICATED"},"403":{"$ref":"#/components/responses/PERMISSION_DENIED"},"404":{"$ref":"#/components/responses/NOT_FOUND"},"422":{"description":"Returns validation errors.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntity"}}}},"429":{"$ref":"#/components/responses/LIMIT_EXCEEDED"},"500":{"$ref":"#/components/responses/INTERNAL_ERROR"}}}}}}
```

## Update Contact Field

> Update existing Contact Field. Please note, you cannot change data\_type of the field.<br>

```json
{"openapi":"3.1.0","info":{"title":"Contacts","version":"2.0.0"},"tags":[{"name":"Contact Fields","description":"Manage contact fields"}],"servers":[{"description":"Mailtrap API","url":"https://mailtrap.io"}],"security":[{"HeaderAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"HeaderAuth":{"type":"apiKey","description":"Pass the API token in the Api-Token","in":"header","name":"Api-Token"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ContactField":{"title":"ContactField","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string","maxLength":80},"data_type":{"type":"string","enum":["text","integer","float","boolean","date"]},"merge_tag":{"type":"string","maxLength":80,"description":"Personalize your campaigns by adding a merge tag. This field will be replaced with unique contact details for each recipient."}}},"UnauthenticatedResponse":{"title":"UnauthenticatedResponse","type":"object","properties":{"error":{"type":"string","description":"Error message"}}},"PermissionsDeniedResponse":{"title":"PermissionsDeniedResponse","type":"object","properties":{"errors":{"type":"string"}}},"NotFoundResponse":{"title":"NotFoundResponse","type":"object","properties":{"error":{"type":"string","description":"Error message"}}},"UnprocessableEntity":{"title":"UnprocessableEntity","type":"object","properties":{"errors":{"type":"object","description":"Validation errors per attribute. Entire record errors are under `base` key.","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"RateLimitExceededResponse":{"title":"RateLimitExceededResponse","type":"object","properties":{"errors":{"type":"string","description":"Error message"}}},"ErrorResponse":{"title":"ErrorResponse","type":"object","properties":{"errors":{"type":"string","description":"Error message"}}}},"responses":{"UNAUTHENTICATED":{"description":"Returns unauthorized error message. Check your credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthenticatedResponse"}}}},"PERMISSION_DENIED":{"description":"Returns forbidden error message. Check your permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionsDeniedResponse"}}}},"NOT_FOUND":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"LIMIT_EXCEEDED":{"description":"Rate limit exceeded for the current account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitExceededResponse"}}}},"INTERNAL_ERROR":{"description":"Internal error. Retry later or contact support.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/api/contacts/fields/{field_id}":{"patch":{"description":"Update existing Contact Field. Please note, you cannot change data_type of the field.\n","operationId":"updateContactField","summary":"Update Contact Field","tags":["Contact Fields"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","maxLength":80},"merge_tag":{"type":"string","maxLength":80,"description":"Personalize your campaigns by adding a merge tag. This field will be replaced with unique contact details for each recipient."}}}}}},"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactField"}}}},"401":{"$ref":"#/components/responses/UNAUTHENTICATED"},"403":{"$ref":"#/components/responses/PERMISSION_DENIED"},"404":{"$ref":"#/components/responses/NOT_FOUND"},"422":{"description":"Returns validation errors.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntity"}}}},"429":{"$ref":"#/components/responses/LIMIT_EXCEEDED"},"500":{"$ref":"#/components/responses/INTERNAL_ERROR"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mailtrap.io/developers/promotional/contacts/contact-fields.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
