Custom Fields APIs

Custom fields can be created for user, agent, company, or ticket records. Once created, their values are filled and retrieved using the relevant user, agent, company, or ticket API methods. See Users APIs, Agent APIs, Company APIs, and Tickets APIs.
Agent vs User Custom Fields
When you get an agent object (using an agent API), any returned custom fields are those specifically configured for the agent (if any). When you get a user object of an agent, any returned custom fields are those specifically configured for the user object (if any); agent custom fields are not returned.

Multilevel Fields

Currently, an additional field type - multilevel fields - is available only for tickets. A multilevel field is one in which sublevels are available, depending on the value selected for the top level. Each level has a heading. Levels may be 10 levels deep (the top level and nine sublevels). Each sublevel under a value may have up to 50 values. Values under a parent value must be unique, but the same value may appear under different parent values.

For example, you may have:
  • Level 1 Heading: Payment
  • Level 2 Heading: Type
  • Level 3 Heading: Item
  • Level 1 Values: Refund, Discount, Other
    If the user selects Refund at level 1, then level 2 appears:
  • Level 2 Values (under Refund): Wrong Size, Bad Quality, Other
    If the user selects Wrong Size at level 2, then level 3 appears:
  • Level 3 Values (under Wrong Size): Leggings, T-Shirts, Tops, ...
  • Level 2 Values (under Discount): ...

Add Custom Field

Multilevel custom fields
For multilevel custom fields, see Add Multilevel Custom Field.
Users: POST https://<tenant_subdomain>.wixanswers.com/api/v1/users/fields
Tickets: POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fields
Agents: POST https://<tenant_subdomain>.wixanswers.com/api/v1/agents/fields
Companies: POST https://<tenant_subdomain>.wixanswers.com/api/v1/companies/fields

Add a custom field for a record. Note the following maximums:
  • Numeric (number): You are limited to 20 of these custom fields for tickets, and 15 for users, agents, or companies.
  • Text and multi-line text: You are limited to 35 (combined total for text and/or multi-line text custom fields) for tickets, 15 for users, 10 for agents, and 50 for companies.
  • Single-select list (dropdown) and checkbox: You are limited to 200 for tickets (combined total for dropdown and/or checkbox custom fields), and 150 for users, agents, or companies.
  • Total: You are limited to 250 total custom fields for tickets, and 200 for users, agents, or companies.

Payload Params
Description 
Format
Required
name
The generated name for use in other API calls.

If not sent, this field is autogenerated.
String containing only lower case characters, numbers, and/or a hyphen

For example, currency-5050. Max 50 characters.

displayName
The field name, visible to agents
String
type
Integer
Additional payload for a user, agent, or company custom field:
Payload Params
Description 
Format
Required
data
Structure of:
* data (structure, required): Substructure of:
 * title (string): The field name, visible to users
 * placeHolder (string): The placeholder text, visible to users before or when they interact with the field
 * description (string): Description of field, visible to users
 * values (list of strings): Value options for selection fields
 * disabled (Boolean): Whether the field is disabled
Structure
Additional payload for a ticket custom field:
Payload Params
Description 
Format
Required
data
Structure of:
* multilingualData: A map of <locale> to <data>:
  * <locale> (language code string, for example: 'de'): Language. Note that the locale must be supported in your tenant.
  * <data structure> as described in the additional payload for a user custom field, above.
Structure
Payload Example (user):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
POST https://<tenant_subdomain>.wixanswers.com/api/v1/users/fields

{
    "name": "nickname-1",
    "displayName": "Nickname",
    "type": 1,
    "data": {
        "data": {
            "title": "Enter a Nickname",
            "placeHolder": "Enter your nickname here ...",
            "description": "A nickname is used in the user interface",
        }
    }
}
Payload Example (ticket):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fields

{
    "name": "nickname-1",
    "displayName": "Nickname",
    "type": 1,
    "data": {
        "multilingualData": {
            "en": {
                "title": "Enter a Nickname",
                "placeHolder": "Enter your nickname here ...",
                "description": "A nickname is used in the user interface",
            }
        }
    }
}

Add Multilevel Custom Field

POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/multilevel

Add a multilevel custom field for a ticket. There is no limit to the number of multilevel fields you can create.

Payload Params
Description 
Format
Required
name
The generated name for use in other API calls.

If not sent, this field is autogenerated.
String containing only lower case characters, numbers, and/or a hyphen

For example, currency-5050. Max 50 characters.

displayName
The field name, visible to agents
String
type
The Custom Field Type, which must be Multi-Level.
Integer

Must be 14.
data
Structure of:
* fieldLevels (list of structures): List of levels, in order, each one as follows (max 10):
  * title (String): The level title
  * translatedTitles (map): A map of locales to translated titles, which are pairs of:
    * <locale> (language code string, for example: 'de'): Language
    * <title> (String): The title in this locale
* values (list of value structures): A list of top level values and their trees of subvalues, a recursive structure as follows (max 50):
    * value (String): The value, such as "Wrong Size". Note: The value may not contain a vertical bar |.
    * translatedValues (map): A map of locales to translated values, which are pairs of:
      * <locale> (language code string, for example 'de'): Language
      * <title> (structure): The value in this locale, a structure of:
        * value (String): The translated value. Note: The value may not contain a vertical bar |.
        * disabled (Boolean): Whether this translated value is enabled in the KB
    * disabled (Boolean): Whether this value is disabled in the KB
    * children (list of value structures): The children of this value, a list of recursive structures identical to this structure (with parameters value, translatedValues, disabled, and children).
* enabledLocales (list of language code strings): List of languages enabled for this field. Note that, if the locale does not appear in this parameter, titles and values for this locale will not appear in the KB even if they are defined as enabled in fieldLevels or Values. Note, also, that each locale must be supported in your tenant.
* publiclyVisible (Boolean): Whether this field appears in the KB.
Structure
Payload Example:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/multilevel

{
  "name": "nickname-1",
  "displayName": "Nickname",
  "type": 14,
  "data":
  {
    "fieldLevels": [
        {
            "title": "level1",
            "translatedTitles": {
                "es": "nivel1",
                "fr": "niveau1"
            }
        },
        {
            "title": "level2",
            "translatedTitles": {
                "es": "nivel2",
                "fr": "niveau2"
            }
        }
    ],
    "values": [
    {
        "value": "1",
        "translatedValues": {
            "es": {
                "value": "1es",
                "disabled": true
            },
            "fr": {
                "value": "1fr",
                "disabled": false
            }
        },
        "children": [
        {
            "value": "A",
            "translatedValues": {
                "es": {
                    "value": "Aes",
                    "disabled": true
                },
                "fr": {
                    "value": "Afr",
                    "disabled": false
                }
            },
            "disabled": false
        },
        {
            "value": "B",
            "translatedValues": {
                "es": {
                    "value": "Bes",
                    "disabled": true
                },
                "fr": {
                    "value": "Bfr",
                    "disabled": false
                }
            },
            "disabled": false
        }
        ],
        "disabled": false
    },
    {
        "value": "2",
        "translatedValues": {
            "es": {
                "value": "2es",
                "disabled": true
            },
            "fr": {
                "value": "2fr",
                "disabled": false
            }
        },
        "children": [
        {
            "value": "A",
            "translatedValues": {
                "es": {
                    "value": "Aes",
                    "disabled": true
                },
                "fr": {
                    "value": "Afr",
                    "disabled": false
                }
            },
            "disabled": false
        },
        {
            "value": "B",
            "translatedValues": {
                "es": {
                    "value": "Bes",
                    "disabled": true
                },
                "fr": {
                    "value": "Bfr",
                    "disabled": false
                }
            },
            "disabled": false
        }
        ],
        "disabled": false
    }
    ],
    "enabledLocales": [
        "es",
        "fr"
    ],
    "publiclyVisible": true
  }
}

Get Custom Field Information (Guest)

Users: GET https://<tenant_subdomain>.wixanswers.com/api/v1/users/fields/{custom field GUID}
Tickets: GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fields/{custom field GUID}
Agents: GET https://<tenant_subdomain>.wixanswers.com/api/v1/agents/fields/{custom field GUID}
Companies: GET https://<tenant_subdomain>.wixanswers.com/api/v1/companies/fields/{custom field GUID}
Get a custom field's publicly available information. Internal information is not returned; see Get Custom Field Information (Admin).
Request Example (ticket):
1
GET https://<account_subdomain>.wixanswers.com/api/v1/tickets/fields/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa

Get All Custom Fields (Guest)

Users: GET https://<tenant_subdomain>.wixanswers.com/api/v1/users/fields
Tickets: GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fields
Agents: GET https://<tenant_subdomain>.wixanswers.com/api/v1/agents/fields
Companies: GET https://<tenant_subdomain>.wixanswers.com/api/v1/companies/fields

Get all user/ticket/agent/company custom fields' publicly available information. Internal information is not returned, see Get All Custom Fields (Admin).
Request Example (ticket):
1
GET https://<account_subdomain>.wixanswers.com/api/v1/tickets/fields

Get Custom Field Information (Admin)

Users: GET https://<tenant_subdomain>.wixanswers.com/api/v1/users/fields/{custom field GUID}/admin
Tickets: GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fields/{custom field GUID}/admin
Agents: GET https://<tenant_subdomain>.wixanswers.com/api/v1/agents/fields/{custom field GUID}/admin
Companies: GET https://<tenant_subdomain>.wixanswers.com/api/v1/companies/fields/{custom field GUID}/admin
Get a custom field's information, including internal information relevant only to agents.
Request Example (ticket):
1
GET https://<account_subdomain>.wixanswers.com/api/v1/tickets/fields/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/admin

Get All Custom Fields (Admin)

Users: GET https://<tenant_subdomain>.wixanswers.com/api/v1/users/fields/admin
Tickets: GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fields/admin
Agents: GET https://<tenant_subdomain>.wixanswers.com/api/v1/agents/fields/admin
Companies: GET https://<tenant_subdomain>.wixanswers.com/api/v1/companies/fields/admin

Get all user/ticket/agent/company custom fields, including internal information available only to agents.
Request Example (ticket):
1
GET https://<account_subdomain>.wixanswers.com/api/v1/tickets/fields/admin

Update Custom Field Name or Data Type

Multilevel custom fields
For multilevel custom fields, see Update Multilevel Custom Fields.
Users: PUT https://<tenant_subdomain>.wixanswers.com/api/v1/users/fields/{custom field GUID}
Tickets: PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fields/{custom field GUID}
Agents: PUT https://<tenant_subdomain>.wixanswers.com/api/v1/agents/fields/{custom field GUID}
Companies: PUT https://<tenant_subdomain>.wixanswers.com/api/v1/companies/fields/{custom field GUID}

Update a custom field name or type. See Important Information about Updating Structures Using the API.
Payload Params
Description 
Format
Required
name
The generated name
String

Max 50 characters.
displayName
The field name, visible to agents

If not provided, the value of name is used.
String

Additional payload for a user, agent, or company custom field:
Payload Params
Description 
Format
Required
data
Structure of:
* data (structure): Substructure of:
 * title (string): The field name, visible to users
 * placeHolder (string): The placeholder text, visible to users before or when they interact with the field
 * description (string): Description of field, visible to users
 * values (list of strings): Value options for selection fields
 * disabled (Boolean): Whether the field is disabled
Structure
Additional payload for a ticket custom field:
Payload Params
Description 
Format
Required
data
Structure of:
* multilingualData: A map of <locale> to <data>:
  * <locale> (language code string, for example 'de'): Language
  * <data structure> as described in the additional payload for a user custom field, above.
Structure
Payload Example (user):
1
2
3
4
5
6
7
8
9
10
11
12
13
PUT https://<tenant_subdomain>.wixanswers.com/api/v1/users/fields/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa

{
    "name": "nickname-1",
    "displayName": "Nickname",
    "data": {
        "data": {
            "title": "Enter a Nickname",
            "placeHolder": "Enter your nickname here ...",
            "description": "A nickname is used in the user interface",
        }
    }
}
Payload Example (ticket):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fields/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa

{
    "name": "nickname-1",
    "displayName": "Nickname",
    "data": {
        "multilingualData": {
            "en": {
                "title": "Enter a Nickname",
                "placeHolder": "Enter your nickname here ...",
                "description": "A nickname is used in the user interface",
            }
        }
    }
}

Update Multilevel Custom Fields

Tickets: PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/multilevel/{custom field GUID}

Update a multilevel custom field. All levels of the custom field are replaced.
Payload Params
Description 
Format
Required
data
The new field levels and values.

For the format, see data in Add Multilevel Custom Field.
Structure
For an example of the payload, see Add Multilevel Custom Field, sending only the data parameter.

Delete Custom Field

Users: DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/users/fields/{custom field GUID}
Tickets: DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fields/{custom field GUID}
Agents: DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/agents/fields/{custom field GUID}
Companies: DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/companies/fields/{custom field GUID}

Delete a custom field for the relevant record type. If a user/ticket/agent/company has a value for this field, Wix Answers removes the field and value the next time it updates the record.
Request Example (ticket):
1
DELETE https://<account_subdomain>.wixanswers.com/api/v1/tickets/fields/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa

Related Articles

Creating Custom Customer Fields

Customer fields allow you to collect specific types of data about your individual contacts. Once you create customer fields, set them up for each relevant contact. Agents can then view the details in the Info p

2 min read

Managing Your Customer Fields

On your Customer Fields tab, you can choose which fields team members can add to a customer's profile. You can also search for, add, edit, and delete customer fields.To manage your customer fields: In the Wix

2 min read

Developers: Finding a Custom Field Name

Wix Answers generates a name for each custom field that you define. You need this name to, for example, create a new ticket using that custom field. To find these names, navigate in the Wix Answers UI to Settin

1 min read

Creating Custom Agent Fields

Save personalized types of information about each of your team members with custom agent fields. Once you've created custom agent fields, you can set their values for each team member. With custom agent fields

2 min read

Creating Custom Company Fields

Keep track of important details about your customers' companies with custom company fields. Agents can edit and view the company details directly from the Info panel on the right side of tickets. With custom co

2 min read

Developers: Working With Custom Fields

Wix Answers makes it straightforward to create custom fields and then create or update items, such as tickets or users, with values for these fields. If you configured any automatic actions for tickets, they ca

2 min read

Managing Custom Ticket Fields

Create, edit, and delete the custom ticket fields used to collect information about your customers' support requests. Updating a ticket field applies the change wherever it is in use. Important:To manage ticket

3 min read

Working with Custom Fields on Tickets

Easily view and edit custom fields directly from a customer's ticket. Manage custom Ticket Fields, Customer Fields, and Company Fields from the Info panel on the right side of tickets. To manage custom fields o

1 min read

About Custom Field Types

When creating custom fields, use the appropriate field types for the information you want to collect. You can use custom fields with Automatic Actions, Macros, and ticket list filters. View details about each f

2 min read

Creating Custom Ticket Fields

Use custom ticket fields to gather important information about your customers' support requests. You can add various types of custom fields to the contact form in your help center and widgets. Team members can

8 min read