Ticket APIs

Tickets are questions or requests sent by your users from various channels, like your Help Center contact page, email, callback requests, widgets, Facebook business page, or the API. Tickets can also be created by agents. A user ticket is created from the user's first comment. Comments that come after, both from agents and users, are the ticket's replies.
Automatic Actions and Webhooks
Some API methods trigger Wix Answers to process automatic actions, and some API methods trigger a call to a relevant webhook. These events are noted in the method.
Channel Parameter
When creating a ticket using any ticket API, the parameter channel (integer) is set to 180 by default (which indicates "created using API").
Importing Records
You can contact Wix Answers to enable administrators to import tickets and replies in bulk.

Add Ticket

Add a Ticket as an Authenticated User

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

Create a ticket for the authenticated user associated with the JWT token.
Automatic Actions and Webhook
After creating the ticket, Wix Answer processes any automatic actions and then invokes the Ticket Created webhook.
Note: If You Intend to Configure Custom Fields Using a Webhook After Adding the Ticket
If you create a ticket, and then update custom fields in a ticket by calling an API using the webhook, you may want the webhook to rerun the automatic actions after setting the custom fields in the webhook. See Update a Ticket's Custom Fields.
Payload Params
Description
Type
Required
subject
Ticket subject: A short description of the problem or question.
String
content
Ticket content: A complete description of the problem or question.
String
status
Integer

Default is 100 (Open)

locale
The locale for the ticket
Two-letter country code string
userFirstName
The first name of the user associated with the ticket. Used when the user doesn't have a first name; the user that opened the ticket is updated with this first name.
String

userLastName
The last name of the user associated with the ticket.  Used when the user doesn't have a last name; the user that opened the ticket is updated with this last name. 
String

priority
Integer

Default is 20 (Normal)

channel
Where the ticket was created from

Use 180 (created using API) or 100 (created from web site)
180

Default and recommended

creationDate
The ticket creation date
Unix time string

Default is the time of this request

lastOpenedDate
The last time the ticket was opened 
Unix time string

assignedUserId
The agent this ticket will be assigned to.

Do not send this parameter and also assignedGroupId. If sent together with assignedGroupId, the request fails.

assignedGroupId
The agent group this ticket will be assigned to.

Don't send this parameter and also assignedUserId. If sent together with assignedUserId, the request fails.

companyId
Company associated with user

This parameter enables Wix Answers to automatically assign the ticket to the relevant company account manager, if one is defined.

relatedArticleIds
List of related articles. Max 10.
List of GUIDs

labelIds
List of associated labels
List of GUIDs

customFields
Map of ticket custom field values, each one a structure of:
* <API field name> (string): The API name of the field (auto-generated; see Finding a Custom Field Name)
* <Custom Field value> (format depends on the field)
Structure; see customFields in Ticket object

attachments
List of files for the ticket

ccRecipients
List of email addresses to notify, in addition to the user, whenever the user is notified by email

Each email address is a structure of:
* email (string, required)
* name (string)

To notify registered users, see ccUserIds.
List of structures

ccUserIds
List of users to notify, in addition to the user, whenever the user is notified by email

To notify additional users who are not registered, see ccRecipients.
List of GUIDs

Payload Example:
1
2
3
4
5
6
7
8
9
10
11
12
13
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets

{
  "subject": "Ticket subject",
  "content": "Ticket content",
  "status": 100,
  "locale": "en",
  "channel": 180,
  "customFields": {
      "importance-1": "High",
      "dept-1": "History"
  }
}
Request Example Using curl:
1
curl -X POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets -H 'Authorization: Bearer <token>' -H 'Content-Type: application/json; charset=utf-8' -H 'Accept: application/json' -data '{"subject": "Ticket subject", "content": "Ticket content", "subject": 100, "locale": "en", "channel": 180}'
Note
For Wix Answers to properly retrieve the geo-location of the user (visible in the technical information panel inside a ticket), forward the user's IP using the 'X-Client-IP' header.

Add a Ticket as an Agent on Behalf of a User

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

Create a ticket on behalf of an authenticated or unauthenticated user. Use this in response to a user request where the agent creates the ticket based on that request on behalf of the user.

After creating the ticket, Wix Answer invokes the Ticket Created webhook.
Note: If You Intend to Configure Custom Fields Using a Webhook After Adding the Ticket
If you create a ticket, and then update custom fields in a ticket by calling an API using the webhook, you may want the webhook to rerun the automatic actions after setting the custom fields in the webhook. See Update a Ticket's Custom Fields.
Agent-Initiated Tickets
To add a ticket, initiated by an agent to a user, that is not specifically a response to a user request, see Add an Agent-Initiated Ticket.
The request parameters are the same as those for adding a ticket for an authenticated user (see above), with the following differences:
Payload Params
Description
Type
Required
recipientEmail
Email of the user this ticket is created for

Use only if you don't have the GUID.
String
Either this parameter or recipientId is required.
recipientId
ID of the user this ticket is created for
Either this parameter or recipientEmail is required.
followTicket
Whether the agent creating the ticket wants to follow it (be notified by email on ticket events)
Boolean

Payload Example:
1
2
3
4
5
6
7
8
9
10
11
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/onBehalf

{
  "channel": 180,
  "subject":"Ticket subject",
  "status":100,
  "content":"Ticket content",
  "locale":"en",
  "recipientId":"bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa",
  "followTicket": true
}

Add a Guest (Unauthenticated User) Ticket

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

Create a new ticket for an unauthenticated user who has provided an email address. Use this API only when a user GUID is not available, for example when an unregistered user creates a ticket on your site or widget.

After creating the ticket, Wix Answer processes any automatic actions and then invokes the relevant webhook.
Note: If You Intend to Configure Custom Fields Using a Webhook After Adding the Ticket
If you create a ticket, and then update custom fields in a ticket by calling an API using the webhook, you may want the webhook to rerun the automatic actions after setting the custom fields in the webhook. See Update a Ticket's Custom Fields.
The request parameters are the same as those for adding a ticket for an authenticated user (see above), with the following differences:
Payload Params
Description
Type
Required
userEmail 
Email of the user this ticket is associated with
String
Payload Example:
1
2
3
4
5
6
7
8
9
10
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/guest

{
  "channel": 180,
  "subject":"Guest ticket subject",
  "status":100,
  "content":"Guest ticket content",
  "locale":"en",
  "userEmail":"user@user.com"
}

Add an Agent-Initiated Ticket

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

Create a new ticket initiated by an agent (outbound ticket). Use this to inform users about a new feature or issue. When created, Wix Answers sends an email to the specified users (a separate ticket will be created for each user).

After creating the ticket, Wix Answer processes any automatic actions and then invokes the Ticket Created webhook.
Note: If You Intend to Configure Custom Fields Using a Webhook After Adding the Ticket
If you create a ticket, and then update custom fields in a ticket by calling an API using the webhook, you may want the webhook to rerun the automatic actions after setting the custom fields in the webhook. See Update a Ticket's Custom Fields.
The request parameters are the same as those for adding a ticket for an authenticated user (see above), with the following differences:
Payload Params
Description
Type
Required
recipientEmails
List of email recipients to notify about this ticket

The list must contain between 1 and 20 email addresses.
List of strings (email addresses)
mailboxId
Mailbox from which the email is sent and to which to send replies
Payload Example:
1
2
3
4
5
6
7
8
9
10
11
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/outbound

{
  "channel": 180,
  "subject":"Outbound ticket subject",
  "status":100,
  "content":"Outbound ticket content",
  "locale":"en",
  "recipientEmails": ["user@user.com"],
  "mailboxId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa"
}

Convert a User Reply Into a New Ticket

POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/replies/{reply GUID}/createTicket

Create a new ticket from an existing user reply. The new ticket takes many of its details (user, priority, status, and so forth) from the existing ticket, and the new contents from the reply. After creating the ticket, Wix Answer invokes the Ticket Created webhook.
Note: If You Intend to Configure Custom Fields Using a Webhook After Adding the Ticket
If you create a ticket, and then update custom fields in a ticket by calling an API using the webhook, you may want the webhook to rerun the automatic actions after setting the custom fields in the webhook. See Update a Ticket's Custom Fields.
Payload Params
Description
Type
Required
subject
New ticket subject
String
moveFutureReplies
Whether to move all other replies that were added after this user reply from the existing ticket to the new ticket
Boolean

Payload Example:
1
2
3
4
5
6
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/replies/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/createTicket

{
  "subject":"Original reply subject",
  "moveFutureReplies":true
}

Add a Phone Callback Request Ticket

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

Create a new callback request ticket to the passed phone number, for the user associated with the JWT token. Requires a line that supports outbound calls.

After creating the ticket, Wix Answer processes any automatic actions and then invokes the Ticket Created webhook.

Simultaneous Callbacks
Only one callback request can be opened at any one time for each phone number / user.
Note: If You Intend to Configure Custom Fields Using a Webhook After Adding the Ticket
If you create a ticket, and then update custom fields in a ticket by calling an API using the webhook, you may want the webhook to rerun the automatic actions after setting the custom fields in the webhook. See Update a Ticket's Custom Fields.
Payload Params
Description
Type
Required
phoneNumber
Phone number to call back
lineId
The account's phone line ID from which the callback will take place. See Call Center Lines APIs.
subject 
The callback ticket subject
String

content

Additional callback ticket content (HTML format)
String

queueId
Call center queue ID to which the callback request will be assigned. If no value is passed, a default queue is used. See Call Center Queues APIs.

attachments
Related files for ticket

relatedArticleIds
List of article IDs. Max 10.
List of GUIDs

labelIds
List of associated labels
List of GUIDs

customFields
List of ticket custom field values, each one a structure of:
* <API field name> (string): The API name of the field (auto-generated; see Finding a Custom Field Name)
* <Custom Field value> (format depends on the field)
Structure; see customFields in Ticket object

priority
Integer

assignedGroupId
The agent group this ticket will be assigned to.

Payload Example:
1
2
3
4
5
6
7
8
9
10
11
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/callbackRequests

{
  "subject": "Callback request ticket subject",
  "content": "Callback request ticket content",
  "lineId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa",
  "phoneNumber": {
    "countryCode": "**",
    "number": "********"
  }
}
Request Example Using curl:
1
curl -X POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/callbackRequests -H 'Authorization: Bearer <token>' -H 'Content-Type: application/json; charset=utf-8' -H 'Accept: application/json' -data '{"subject": "Callback request ticket subject", "content": "Callback request ticket content", lineId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", "phoneNumber": {"countryCode": "**","number": "********"}}'

Get Tickets

Get a Ticket by ID

GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/admin

Get a ticket by its ID. This requires agent privileges; to get one of your own tickets (with user privileges), see Get One of Your Tickets by ID.

Request Example:
1
GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/admin

Get a Ticket by Ticket Reference Number

GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/byNumber/{ticket number}/admin

Get a ticket by its ticket reference number (issue ID). This requires agent privileges; to get one of your own tickets (with user privileges), see Get One of Your Tickets by ID.

Request Example:
1
GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/byNumber/123/admin

Get One of Your Tickets by ID

GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/my

Get one of your tickets by its ID. The main use-case for this API is from the Help Center. If you have agent privileges, you can get any ticket by its reference number or id; see Get a Ticket by Ticket Reference Number.

Request Example:
1
GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/my

Search Tickets (Agent)

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

Get list of tickets that match the search/filtering criteria.

Payload Params
Description
Format
locale
The locale of the tickets to return

When not specified, tickets from all locales are returned.
Two-letter country code string
ticketNumber

Filter by ticket reference numbers (issue IDs)
List of strings
ticketIds
Filter by ticket IDs
List of GUIDs
userEmail 

Filter by tickets that belong to the user with the specified email
String
ccUserEmail
Filter by tickets that include a CC user with the specified email
String
userId

Filter by tickets that belong to the user with this user ID
ccUserId
Filter by tickets that include a CC user with this user ID
excludeUnauthenticated
When set to to true, exclude tickets created for unauthenticated users
Boolean
text
If combining a textual search, filter by this text in the article title, content, or phrases.
String. Maximum 200 characters.
mustMatchText
If combining a textual search, filter by this text that must match in the article title, content, or phrases.
String. Maximum 200 characters.
mustNotMatchText
If combining a textual search, filter by this text that must be excluded in the article title, content, or phrases.
String. Maximum 200 characters.
searchAllTextualContent
Whether to search all text fields of the ticket, not just the standard fields.
Boolean
spellCheck
When set to true, try resolve spelling mistakes
Boolean
page

The requested page. If not a positive integer, the first page is returned.
Integer
pageSize

The requested page size. If not a positive integer, 20 is assumed.
Integer
sortType
Sort type. Possible values:
* Creation date, ascending (10)
* Creation date, descending (20)
* Last updated date, ascending (30)
* Last updated date, descending (40)
* Last opened date, ascending (50)
* Last opened date, descending (60)
* Replied count (70)
* Replied count (80)
* Best match (text search) (100)
* Priority, ascending (110)
* Priority, descending (120)
* Chat status last updated date, ascending (130)
* Chat status last updated date, descending (140)
* SLA response end date, ascending (150)

When performing a textual search, 100 is suggested.
Integer
secondarySortType
Secondary sort type
Integer
filters
Filter by tickets with a structure of filter options (see below).
Structure
Filters Options Structure:
Payload Filter Params
Description
Format
statuses
Filter by list of Ticket Statuses
List of integers
priorities
Filter by list of Ticket Priorities
List of integers
assigned
Filter by whether the ticket is assigned
Boolean
assignedByUserIds
Filter by tickets that have been assigned by a list of agents
List of GUIDs
assignedByMe
Filter by tickets assigned by you
Boolean
assignedGroupIds
Filter by tickets assigned to a list of agent groups
List of GUIDs
assignedUserIds
Filter by tickets assigned to a list of user agents
List of GUIDs
assignedToMe
Filter by tickets assigned to you
Boolean
assignedToMyGroups
Filter by tickets assigned to group to which you are a member
Boolean
repliedByUserIds
Filter by tickets that contain replies from a list of users
List of GUIDs
repliedByMe
Filter by tickets to which you have replied
Boolean
ratingType
Filter by ticket Rating Type
Integer
hasAgentReply
Filter by whether the ticket has an agent reply
Boolean
ratedUserIds
Filter by ratings added by a list of users
List of GUIDs
hasAllOfLabelIds
Filter by tickets that have all of a list of labels
List of GUIDs
hasAnyOfLabelIds
Filter by tickets that have any of a list of labels
List of GUIDs
notHasAnyOfLabelIds
Filter by tickets that do not have any of a list of labels
List of GUIDs
categoryId
Filter by category
spam
Filter by whether the ticket is marked as spam
Boolean
createdOnBehalf
Filter by whether the ticket was created on behalf of another user
Boolean
relatedArticleIds
Filter by tickets associated with a list of articles
List of GUIDs
countries
Filter by tickets associated with a list of countries
List of two-letter country code strings
mailboxIds
Filter by tickets associated with a list of mailboxes
List of GUIDs
companyIds
Filter by tickets associated with a list of companies
List of GUIDs
userIds
Filter by tickets associated with a list of users
List of GUIDs
customFieldFilters
Filter by tickets matching a list of custom field values, a map of:
* <API field name> (string): The API name of the field (auto-generated; see Finding a Custom Field Name)
* <Custom Field value> (format depends on the field):
 * fromDate (yyyy-MM-dd)
 * toDate (yyyy-MM-dd)
 * from (long)
 * to (long)
 * values (list; note that values are case-sensitive)
 * text (string; note that values are case-sensitive)
 * searchType (integer): See Search Type.
 * bool (Boolean)
Structure
fromHoursAgo
Filter by tickets created with a certain number of hours
Integer, between 1 and 8760 (approximately one year)
fromCreationDate
Filter by tickets created on or after this date
yyyy-MM-dd
toCreationDate
Filter by tickets created on or before this date
yyyy-MM-dd
fromLastUpdateDate
Filter by tickets last updated on or after this date
yyyy-MM-dd
toLastUpdateDate
Filter by tickets last updated on or before this date
yyyy-MM-dd
fromLastOpenedDate
Filter by tickets last opened on or after this date
yyyy-MM-dd
toLastOpenedDate
Filter by tickets last opened on or before this date
yyyy-MM-dd
myChats
Filter by tickets associated with your chats
Boolean
chatStatuses
Filter by tickets with chats that have a list of Chat Statuses
List of integers
activeChatParticipantIds
Filter by tickets with chats that have a list of active participants
List of GUIDs
chatParticipantIds
Filter by tickets with chats that have a list of chat participants
List of GUIDs
callLineIds
Filter by tickets associated to list of call lines
List of GUIDs
callQueueIds
Filter by tickets associated to list of phone queues
List of GUIDs
fromCallDurationSeconds
Filter by tickets with phone calls that lasted at least this many number of seconds
Integer
toCallDurationSeconds
Filter by tickets with phone calls that lasted at most this many number of seconds
Integer
fromCallWaitDurationSeconds
Filter by tickets with phone calls with wait times that lasted at least this many number of seconds
Integer
toCallWaitDurationSeconds
Filter by tickets with phone calls with wait times that lasted at most this many number of seconds
Integer
fromCallCreationDate
Filter by tickets with phone calls that occurred on or after this date
yyyy-MM-dd
toCallCreationDate
Filter by tickets with phone calls that occurred on or before this date
yyyy-MM-dd
callStatuses
Filter by tickets that have a list of Call Statuses
List of integers
callHandlingUserIds
Filter by tickets with a phone call handled by a list of agents
List of GUIDs
callHandledByMe
Filter by tickets with a phone call handled by you
Boolean
callHandled
Filter by tickets with a call that is handled by an agent
Boolean
Payload Example:
Note that custom field values are case-sensitive.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/search/admin

{
  "text": "example",
  "page": 1,
  "pageSize": 15,
  "locale": "en",
  "filters": {
    "timeZone": "UTC",
    "fromCreationDate": "2019-11-15T00:00:00",
    "toCreationDate": "2019-11-15T23:00:00",
    "customFieldFilters": {"is-premium" : "Yes"}
  },
  "sortType": 50
}
Response Example:
1
2
3
4
5
6
7
8
9
{
  "items": [ List of @Ticket objects ],
  "itemsCount": 108,
  "page": 2,
  "numPages": 22,
  "previousPage": 1,
  "nextPage": 3,
  "pageSize": 5
}

Search Your Tickets

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

Get list of your tickets that match the search/filtering criteria. The main use-case for this API is from the Help Center.

Payload Params
Description
Type
locale
Language ISO code (e.g: 'de')
Two-letter country code string
channelFilters
Filter by a list of how the ticket was created

See Channel.
List of integers
ticketStatuses
Filter by a list of Ticket Statuses
List of integers
page
The requested page. If not a positive integer, the first page is returned.
Integer
size
Number of results to return on the page

By default, the page size is 20.
Integer, between 1 and 5,000
from
Return results starting after this many results

By default, this number is 0.
Integer, 0 or higher
Payload Example:
1
2
3
4
5
6
7
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/my

{
  "locale": "en",
  "ticketStatuses": [100],
  "page": 1
}
Response Example:
1
2
3
4
5
6
7
8
9
{
  "items": [ List of @Ticket objects ],
  "itemsCount": 108,
  "page": 2,
  "numPages": 22,
  "previousPage": 1,
  "nextPage": 3,
  "pageSize": 5
}

Get the Number of Tickets Matching One or More Saved Filters

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

Get the number of tickets matching one or more saved filters.

  • Authorization: Requires agent authorization level
  • Content type: application/json; charset=utf-8.
  • Accept: application/json.
  • Response: Return structure, see below
Payload Params
Description
Type
Required
savedFilterIds
Structure list of saved filter IDs
Set of GUIDs
At least 1 is required
locale
Language ISO code (e.g: 'de')
Two-letter country code string
context
The context of the saved filter, ticket or chat
0 (ticket, default) or 10 (chat)

Payload Example:
1
2
3
4
5
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/filtersCounts

{
  "savedFilterIds":{"bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa","e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"}
}
Response Example:
Payload Params
Description 
Format
filtersCounts
A map of saved filter IDs (GUID) to counts (Long)
Structure
countsTimeStamp
The time when these counts were taken
Unix time string
1
2
3
4
5
6
7
{
    "filtersCounts": {
        "e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a": 25,
        "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa": 20
    },
    "countsTimeStamp":1568193387000
}

Manage Ticket Assignment

Assign a Ticket

POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/assign

Assign a ticket to an agent or an agent group.

Payload Params
Description
Type
Required
assignedUserId
The agent to whom to assign the ticket.
This parameter or assignedGroupId is required (but not both).
assignedGroupId
The group to which to assign the ticket.
This parameter or assignedUserId is required (but not both.
Payload Example:
1
2
3
4
5
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/assign

{
  "assignedGroupId":"bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa"
}

Assign One or More Tickets

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

Assign one or more tickets to an agent or an agent group.

Payload Params
Description
Type
Required
assignedUserId
The agent to whom to assign the ticket.
This parameter or assignedGroupId is required (but not both).
assignedGroupId
The agent group to which to assign the ticket.
This parameter or assignedUserId is required (but not both.
ids
List of tickets to assign

The list must contain between 1 and 50 GUIDs.
List of GUIDs
Payload Example:
1
2
3
4
5
6
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/assign

{
  "assignedGroupId":"bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa",
  "ids": ["e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a","d367738e-368e-41fe-9289-1a5cbbc3c239"]
}

Unassign a Ticket

POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/unassign

Remove the agent or group assignment from a ticket.


No payload is expected.

Unassign One or More Tickets

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

Remove the agent or group assignment from one or more tickets.

Payload Params
Description
Type
Required
ids
List of tickets to unassign

The list must contain between 1 and 50 GUIDs.
List of GUIDs
Payload Example:
1
2
3
4
5
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/unassign

{
  "ids": ["d367738e-368e-41fe-9289-1a5cbbc3c239","bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa"]
}

Update or Delete Tickets

Rate a Ticket

POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/satisfaction

Set your satisfaction rating for one of your tickets (as a user). You must be the owner of the ticket.

  • Authorization: Requires user authorization level token for specific user (ticket owner)
  • Content type: application/json; charset=utf-8.
  • Accept: application/json.
  • Response: None
Payload Params
Description
Type
Required
satisfaction
The Satisfaction rating
Integer
Payload Example:
1
2
3
4
5
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/satisfaction

{
  "satisfaction": 40
}

Mark A Ticket as Spam

POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/markSpam

Mark a ticket as spam. Also see Mark One or More Tickets as Spam.

  • Authorization: Requires agent authorization level token
  • Content type: application/json; charset=utf-8.
  • Accept: application/json.
  • Response: None

No payload is expected.

Mark a Ticket as Not Spam

POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/markHam

Mark a ticket as not spam. Also see Mark One or More Tickets as Not Spam.

  • Authorization: Requires agent authorization level token
  • Content type: application/json; charset=utf-8.
  • Accept: application/json.
  • Response: None

No payload is expected.

Mark One or More Tickets as Spam

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

Mark one or more tickets as spam. Also see Mark a Ticket as Spam.

  • Authorization: Requires agent authorization level token
  • Content type: application/json; charset=utf-8.
  • Accept: application/json.
  • Response: None
Payload Params
Description
Type
Required
ids
List of tickets to mark as spam
List of between 1 and 50 ticket GUIDs

At least 1 GUID is required.
Payload Example:
1
2
3
4
5
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/markSpam

{
  "ids": ["e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a", "d367738e-368e-41fe-9289-1a5cbbc3c239"]
}

Mark One or More Tickets as Not Spam

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

Mark one or more tickets as not spam. Also see Mark a Ticket as Not Spam.

  • Authorization: Requires agent authorization level token
  • Content type: application/json; charset=utf-8.
  • Accept: application/json.
  • Response: None
Payload Params
Description
Type
Required
ids
List of tickets to mark as not spam
List of between 1 and 50 ticket GUIDs

At least 1 GUID is required.
Payload Example:
1
2
3
4
5
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/markHam

{
  "ids": ["e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a", "d367738e-368e-41fe-9289-1a5cbbc3c239"]
}

Authenticate a Ticket

POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/authenticate

Authenticate a ticket.


No payload is expected.

Change a Ticket's User (Transfer a Ticket)

POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/transfer

Transfer a ticket; this changes the user associated with a ticket. Use when an existing ticket is found to be relevant for the user, such as one opened initially for an unauthenticated user. For example, when a) an unauthenticated user is created from an email and then b) an agent moves the ticket to an existing authenticated user.

After transferring a ticket, Wix Answer invokes the Ticket Transferred webhook.

Payload Params
Description
Type
Required
targetUserId
The new user

If the old user was not an agent, the new user cannot be an agent. Similarly, if the old user was an agent, the new user must be an agent.
Payload Example:
1
2
3
4
5
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/transfer

{
  "targetUserId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa"
}

Update a Ticket's Status

PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/status

Update a ticket's status. See Important Information about Updating Structures Using the API. After changing (but not removing) a ticket status, Wix Answer invokes the Ticket Status Changed webhook.

Payload Params
Description
Type
Required
status
Integer
Payload Example:
1
2
3
4
5
PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/status

{
    "status": 150
}

Update Status of One or More Tickets

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

Update one or more tickets' statuses. After changing (but not removing) ticket statuses, Wix Answer invokes the Ticket Status Changed webhook on each changed ticket.

Payload Params
Description
Type
Required
status
Integer
ids
List of tickets for which to change the status

The list must contain between 1 and 50 GUIDs.
List of GUIDs
Payload Example:
1
2
3
4
5
6
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/setStatus

{
    "status": 120,
    "ids": ["bd948e62-a3fd-4cf0-87f3-ee6e0ae7f3fa","e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"]
}

Update a Ticket's Priority

PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/priority

Payload Params
Description
Type
Required
priority
Integer
Payload Example:
1
2
3
4
5
PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/priority

{
    "priority": 30
}

Update Priority of One or More Tickets

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

Update one or more tickets' priorities.

Payload Params
Description
Type
Required
priority
Integer
ids
List of tickets for which to change the priority

The list must contain between 1 and 50 GUIDs.
List of GUIDs
Payload Example:
1
2
3
4
5
6
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/setPriority

{
    "priority": 30,
    "ids": ["e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a","bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa"]
}

Update a Ticket's Locale

PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/locale

Payload Params
Description
Type
Required
newLocale
Language ISO code (e.g: 'de')
Two-letter country code string
Payload Example:
1
2
3
4
5
PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/locale

{
    "newLoacle": "de"
}

Update Locale of One or More Tickets

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

Update one or more tickets' locales.

Payload Params
Description
Type
Required
newLocale
Language ISO code (e.g: 'de')
Two-letter country code string
ids
List of tickets for which to change the locale

The list must contain between 1 and 50 GUIDs.
List of GUIDs
Payload Example:
1
2
3
4
5
6
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/setLocale

{
    "newLocale": "de",
    "ids": ["bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa","e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"]
}

Update a Ticket's Labels

PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/labels

Add or remove labels from a ticket.

Payload Params
Description
Type
addedLabelId
List of labels to add to ticket
List of GUIDs
removedLabelIds
List of labels to remove to ticket
List of GUIDs
Payload Example:
1
2
3
4
5
6
PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/77bc8694-5ccf-436c-ab2b-543563a5f425/labels

{
    "addedLabelIds": ["e932c0a3-41fe-43cf-b3a9-0ae790f6ee6a","e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6b"],
    "removedLabelIds": ["d367738e-43cf-41fe-9289-1a5cbbc3c239","d367738e-368e-41fe-9289-1a5cbbc3c23b"]
}

Update Labels of One or More Tickets

PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/labels

Add or remove labels from one or more tickets.

Payload Params
Description
Type
Required
addedLabelId
List of labels to add to ticket
List of GUIDs

removedLabelIds
List of labels to remove to ticket
List of GUIDs

ids
List of tickets for which to change the labels

The list must contain between 1 and 50 GUIDs.
List of GUIDs
Payload Example:
1
2
3
4
5
6
7
PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/labels

{
    "addedLabelIds": ["d367738e-b3a9-41fe-9289-1a5cbbc3c239","d367738e-368e-41fe-9289-1a5cbbc3c23b"],
    "removedLabelIds": ["bd948e62-6e9b-4cf0-87f3-ee6a0ae7f3fa","bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fb"],
    "ids": ["e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a","e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6b"]
}

Update a Ticket's Subject and (Optionally) Contents

PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}

Update a ticket's subject and (optionally) contents. See Important Information about Updating Structures Using the API.

Payload Params
Description
Type
Required
subject
Ticket subject: A short description of the problem or question.
String
content
Ticket content: A complete description of the problem or question.
String

Payload Example:
1
2
3
4
5
6
PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/77bc8694-5ccf-436c-ab2b-543563a5f425

{
  "subject": "New ticket subject",
  "content": "New ticket content",
}

Update a Ticket's Custom Fields

PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/fields

Update custom field values for a ticket record. See Important Information about Updating Structures Using the API. If you send the parameter applyRules set to true, Wix Answer processes any automatic actions after updating the fields.

For information about configuring the available custom fields for a ticket, see Custom Fields API.

Payload Params
Description 
Format
Required
customFields
A map of new field values, each mapping containing:
* <generated field name>: The field name generated by Wix Answers
* <new value>: The new value in the relevant format
Structure
applyRules
Whether to rerun the automatic actions after changing the custom fields. The default is false.

This is useful when the automatic actions depend on the custom field values, since they may not yet be set when the ticket is first created.
Boolean

Payload Example:
1
2
3
4
5
PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/77bc8694-5ccf-436c-ab2b-543563a5f425/fields

{
    "customFields":{"field-1":"Value","field-2":"5"}
}

Update One or More Ticket's Company

PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/company

Update the (user) company of one or more tickets. See Important Information about Updating Structures Using the API.

  • Authorization: Requires agent authorization level
  • Content type: application/json; charset=utf-8.
  • Accept: application/json.
  • Response: None
Payload Params
Description
Type
Required
companyId
The new company for the tickets

If not sent, the company is removed from the specified tickets.

ids
List of tickets to change the company

The list must contain between 1 and 50 GUIDs.
List of GUIDs
Payload Example:
1
2
3
4
5
6
PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/company

{
    "companyId": "e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a",
    "ids": ["bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa","d367738e-368e-41fe-9289-1a5cbbc3c239"]
}

Remove a Ticket's Attachments

POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/removeAttachments

Remove one or more ticket attachments.

Payload Params
Description
Type
Required
attachmentsUrls
List of attachments to remove from ticket
List of URL strings
At least one is required
Payload Example:
1
2
3
4
5
6
7
8
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/77bc8694-5ccf-436c-ab2b-543563a5f425/removeAttachments

{
    "attachmentsUrls": [
        "http://www.example.com/1.html",
        "http://www.example.com/2.html"
    ]
}

Update a Ticket's SLA Policy

PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/sla/{SLA policy GUID}

Change a ticket's SLA policy to the policy ID specified in the path.


No payload is expected.

Delete a Ticket

POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/delete

Mark a ticket as deleted.

  • Authorization: Requires agent authorization level
  • Content type: application/json; charset=utf-8.
  • Accept: application/json.
  • Response: None
Payload Params
Description
Type
banUser
Whether to also ban the user who created the ticket (or on behalf of whom the ticket was created)
Boolean
Payload Example:
1
2
3
4
5
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/77bc8694-5ccf-436c-ab2b-543563a5f425/delete

{
    "banUser": false
}

Delete One or More Tickets

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

Mark one or more tickets as deleted.

  • Authorization: Requires agent authorization level
  • Content type: application/json; charset=utf-8.
  • Accept: application/json.
  • Response: None
The request parameters are the same as those for deleting a single ticket (see above), with the following differences:
Payload Params
Description
Type
Required
ids
List of tickets to delete

The list must contain between 1 and 50 GUIDs.
List of GUIDs
Payload Example:
1
2
3
4
5
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/delete

{
    "ticketIds": ["d367738e-368e-41fe-9289-1a5cbbc3c239","e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"]
}
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/relations

Add related articles to a ticket.

Payload Params
Description
Type
Required
relatedArticleIds

List of related articles (max 10)
List of GUIDs
Payload Example:
1
2
3
4
5
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/relations

{
  "relatedArticleIds":["77bc8694-5ccf-436c-ab2b-543563a5f425"]
}
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/relations

Add related articles to one or more tickets. The articles are added to all of the specified tickets.

Payload Params
Description
Type
Required
relatedArticleIds

List of related articles (max 10)
List of GUIDs
locale
Locales of the articles/tickets
Two-letter country code string
ids
List of tickets to which to add the related articles

The list must contain between 1 and 50 GUIDs.
List of GUIDs
Payload Example:
1
2
3
4
5
6
7
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/relations

{
  "locale":"en",
  "relatedArticleIds":["77bc8694-5ccf-436c-ab2b-543563a5f425"],
  "ids":["d367738e-368e-41fe-9289-1a5cbbc3c239","e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"]
}
GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/relations/admin

Get the related articles of a ticket. Includes draft articles.

Request Example:
1
GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/relations/admin
GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/relations

Get the related articles of a ticket. Does not include draft articles.

Request Example:
1
GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/relations
GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/relations/categories

Get the categories of all related articles of a ticket. Does not include draft articles.

Request Example:
1
GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/relations/categories
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/relations/remove

Remove related articles from a ticket.

Payload Params
Description
Type
Required
relatedArticleIds

List of related articles (max 10)
List of GUIDs
Payload Example:
1
2
3
{
  "relatedArticleIds":["77bc8694-5ccf-436c-ab2b-543563a5f425"]
}
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/relations/remove

Remove related articles from one or more tickets. Using this method, the same article may be removed from multiple tickets.

Payload Params
Description
Type
Required
relatedArticleIds

List of related articles (max 10)
List of GUIDs
locale
Language ISO code (e.g: 'de')
Two-letter country code string
ids
List of tickets from which to remove the related articles

The list must contain between 1 and 50 GUIDs.
List of GUIDs
Payload Example:
1
2
3
4
5
{
  "locale":"en",
  "relatedArticleIds":["77bc8694-5ccf-436c-ab2b-543563a5f425"],
  "ids":["e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a","bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa"]
}

Manage Ticket Replies And Events

Add User Reply to a Ticket

POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/replies

Add a user reply to a ticket. The main use-case for this API is from the Help Center. To add an agent reply or internal note, see Add Agent Reply or Internal Note to a Ticket.

After creating a reply, Wix Answer processes any automatic actions. Then, if the reply is a user reply or internal note, Wix Answers invokes the Reply Created webhook for a user reply or an Internal Note Created webhook for an internal note.

Payload Params
Description
Type
Required
type

Integer
content
Content of the reply
String
Payload Example:
1
2
3
4
{
    "type":100,
    "content": "Reply contents",
}

Add Agent Reply or Internal Note to a Ticket

POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/agentReply

Add an agent reply or an internal note to a ticket. After creating an internal note, Wix Answer invokes the Internal Note Created webhook for an internal note.

Payload Params
Description
Type
Required
internal

If true, the reply is an internal note, visible only by other agents. If false, the reply is visible to users.

Default = false
Boolean

content 
Content of the reply
String
newTicketStatus
Integer

Payload Example:
1
2
3
4
5
6
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/relations/remove

{
    "internal": true,
    "content": "Reply contents",
}

Add Agent Replies or Internal Notes to One or More Tickets

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

Add an agent reply or an internal note to one or more tickets. After creating an internal note, Wix Answer invokes the Internal Note Created webhook for an internal note on each relevant ticket.

The request parameters are the same as those for adding a reply or internal note to a single ticket (see above), with the following differences:
Payload Params
Description
Type
Required
ticketIds

List of tickets to which to add the reply or internal note

The list must contain between 1 and 50 GUIDs.
List of GUIDs
Payload Example:
1
2
3
4
5
6
7
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/agentReplies

{
    "ticketIds": ["bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa","e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"],
    "internal":true,
    "content": "Reply contents",
}

Get Ticket Replies for a Ticket

GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/replies/admin

Get list of ticket replies. You can filter by reply type.

Request Params
Description
Type
deleted
Whether to include deleted replies
Boolean
sortType
Sorting method:
* Creation date, ascending (10)
* Creation date, descending (20)
Integer
page
Page of reply

By default, the first page of results is returned.
Integer
size
Number of results to return on the page

By default, the page size is 20.
Integer between 1 and 5,000
from
Return results starting after this many results

By default, this number is 0.
Integer, 0 or higher
id
Filter by specific reply
types
Filter by Reply Types

For example, to get just the internal notes, send 120.
Comma-separated list of integers
Request Example:
1
GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/64740297-edf2-4b34-bf8f-cf614c030d93/replies/admin?sortType=10&page=2&size=50&types=100,110
Response Example:
1
2
3
4
5
6
7
8
9
{
  "items": [ List of @Reply objects ],
  "itemsCount": 108,
  "page": 2,
  "numPages": 22,
  "previousPage": 1,
  "nextPage": 3,
  "pageSize": 5
}

Get Ticket Replies for One of Your Tickets

GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/replies

Get list of ticket replies to one of your tickets. You can filter by reply type. Internal notes are not returned. You must be the ticket owner, so the main use-case for this API is from the Help Center. As an agent, see Get Ticket Replies for a Ticket.

The request parameters are the same as those for the agent method for getting ticket replies (see Get Ticket Replies for a Ticket, above).
Request Example:
1
GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/replies?sortType=10&page=2&size=50
Response Example:
1
2
3
4
5
6
7
8
9
{
  "items": [ List of @Reply objects ],
  "itemsCount": 108,
  "page": 2,
  "numPages": 22,
  "previousPage": 1,
  "nextPage": 3,
  "pageSize": 5
}

Get All Ticket Replies Between Specific Times

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

Get list of ticket replies that match the date/time criteria.

Payload Params
Description
Type
dateFrom
Filter by replies from or after this time
Unix time string
dateTo
Filter by replies from or before this time
Unix time string
page
Page of results
Integer, minimum 1
size
Number of results on each page
Integer, between 1 and 1000
Payload Example:
1
2
3
4
5
6
7
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/replies/search

{
  "dateFrom": 1568181779000,
  "page": 1,
  "size": 20
}
Response Example:
1
2
3
4
5
6
7
8
9
{
  "items": [ List of @Reply objects ],
  "itemsCount": 108,
  "page": 2,
  "numPages": 22,
  "previousPage": 1,
  "nextPage": 3,
  "pageSize": 5
}

Get a Ticket's Timeline (Agent)

GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/timeline

Get a timeline of ticket events. For the user version, see Get a Ticket's Timeline (User).

  • Authorization: Requires agent authorization level
  • Content type: application/json; charset=utf-8.
  • Accept: application/json.
  • Response: Result structure, see below
Request Params
Description
Type
page
Page of results

The default is 1.
Integer
pageSize
Number of results on each page, a number between 1 and 5000

The default is 5000.
Integer
Request Example:
1
GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/timeline?page=2&pageSize=20
Response Example:
Response Params
Description 
Format
ticket
Ticket
timelineItems
List of timeline items, which include replies and internal notes, phone calls, notes, history records, and chat messages
List of timeline items
1
2
3
4
{
    "ticket": { @Ticket object },
    "timelineItems" : [ @relevant object(s) ]
}

Get a Ticket's Timeline (User)

GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/userTimeline

Get a timeline of ticket events. For more information, including path variables and return structure, see Get a Ticket's Timeline (Agent). Unlike the agent version, history records and internal notes are not returned. You must be the ticket owner. The main use-case is from the Help Center.

  • Authorization: None, or requires user authorization level for specific user (ticket owner). See Chat Unauthenticated User Header.
  • Content type: application/json; charset=utf-8.
  • Accept: application/json.
  • Response: Result structure, as described in the agent method, but the ticket object is returned at public level

Update Contents of a Ticket Reply

PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/replies/{reply GUID}

Payload Params
Description
Type
Required
content
The contents
String
Payload Example:
1
2
3
4
5
PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/replies/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a

{
  "content": "This is what I actually meant."
}

Move a Reply to a Different Ticket

POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/replies/{reply GUID}/move

Move a reply to a different ticket.

  • Authorization: Requires agent authorization level
  • Content type: application/json; charset=utf-8.
  • Accept: application/json.
  • Response: None
Payload Params
Description
Type
Required
targetTicketId
The new ticket
moveFutureReplies
Whether to add future replies to this reply to the new ticket (true) or to the old ticket (false)
Boolean

Default is false.

Payload Example:
1
2
3
4
5
6
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/be948e62-a3fd-4cf0-87f3-ee6a0ae7fbbb/replies/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/move

{
  "targetTicketId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa",
  "moveFutureReplies": false
}

Remove a Ticket Reply's Attachments

POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/replies/{reply GUID}/removeAttachments

Remove one or more ticket reply attachments.

Payload Params
Description
Type
Required
attachmentsUrls
List of attachments to remove from ticket
List of URL strings
At least one is required
Payload Example:
1
2
3
4
5
6
7
8
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/replies/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/removeAttachments

{
    "attachmentsUrls": [
        "http://www.example.com/1.html",
        "http://www.example.com/2.html"
    ]
}

Delete a Ticket Reply

DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/replies/{reply GUID}

Delete a ticket reply.

  • Authorization: Requires agent authorization level
  • Content type: application/json; charset=utf-8.
  • Accept: application/json.
  • Response: None
Request Example:
1
DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/replies/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a

Manage Ticket Followers

Get Whether You Follow a Ticket (Agent)

GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/follow

Get whether you follow a ticket. An agent can follow a ticket to get notified on all ticket changes.

  • Authorization: Requires agent authorization level for a specific user
  • Content type: application/json; charset=utf-8.
  • Accept: application/json.
  • Response: Boolean
Request Example:
1
GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/follow

Get List of Users Who Follow a Ticket

GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/followers?locale=en

Get list of users who follow a ticket.

Request Params
Description
Type
agentsOnly
Whether to return only agents and not other users
Boolean. Default is false.
Request Example:
1
GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/followers?locale=en&agentsOnly=true

Get List of Tickets That You Follow (Agent)

GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/followed

Get list of tickets that you follow. An agent can following a ticket to get notified on all ticket changes.

Path Variables
Description
Type
page
Page of results

The default is 1.
Integer
pageSize
Number of results on each page, a number between 1 and 5000

The default is 20.
Integer
Request Example:
1
GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/followed?page=2&pageSize=20
Response Example:
1
2
3
4
5
6
7
8
9
{
  "items": [ List of @Ticket objects ],
  "itemsCount": 108,
  "page": 2,
  "numPages": 22,
  "previousPage": 1,
  "nextPage": 3,
  "pageSize": 5
}

Follow a Ticket

POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/follow

Follow a ticket.

  • Authorization: Requires agent authorization level for a specific user
  • Content type: application/json; charset=utf-8.
  • Accept: application/json.
  • Response: None

No payload is expected.

Unfollow a Ticket

DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/follow

Remove yourself as a follower of a ticket.

  • Authorization: Requires agent authorization level for a specific user
  • Content type: application/json; charset=utf-8.
  • Accept: application/json.
  • Response: None
Request Example:
1
DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/follow
IN THIS ARTICLE

Related Articles

Creating a New Ticket

Create new tickets directly from your Wix Answers Ticketing System where you can manage all your support requests in one place. You can send email tickets directly to customers, CC recipients, and create tickets on behalf of other customers from your Tickets List. Create a new email ticket to send to a customerClick the Tickets icon  to navigate to your Tickets List. Click the New Ticket button in the top right corner of your screen. Click the drop-down under Ticket will be sent from mailbox to select where the ticket is sent from.Click the drop-down under To (up to 20) to choose who the ticket is sent to. (To CC additional contacts) Click the checkbox next to CC (up to 20), then enter the email of your recipient(s) and select them from the list.Under Subject enter the subject of your ticket.Under Description enter a description. (Optional) Add an article, saved reply, attachment, or emoji to your ticket using the options inside the description box. (Optional) Add additional actions:Click Additional Actions.Click the drop-down under Add assignee to assign the ticket to an agent. Click the drop-down under Set Priority to set the ticket at low, medium, or high priority.Click the drop-down under Add labels to add labels to your ticket. Note: You must first create a label before it will appear in the drop-down.Click Send. Create a new ticket on behalf of a customerClick the Tickets icon  to navigate to your Tickets List. Click the New Ticket button in the top right corner of your screen.  Select the On Behalf of a Customer tab to create a new ticket within your ticketing system on behalf of a customer.Click the drop-down under The ticket will be sent on behalf of to select the customer you're creating a ticket for. Under Subject enter the subject of your ticket.Under Description enter a description. (Optional) Add an article, saved reply, attachment, or emoji to your ticket using the options inside the description box. (Optional) Add additional actions:Click Additional Actions.Click the drop-down under Add assignee to assign the ticket to an agent. Click the drop-down under Set Priority to set the ticket at low, medium, or high priority.Click the drop-down under Add labels to add labels to your ticket. Note: You must first create a label before it will appear in the drop-down.(Optional) Check Follow this ticket to get updates to follow the ticket.Click Send on Behalf. Tip:Create new call tickets to reach your customers by phone. 

3 min read

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 Settings &gt; Custom Fields &gt; Edit (of specific custom field).

1 min read

Setting Up Your Ticketing System

The Wix Answers Ticketing System makes it easy to communicate with your customers. You can accept tickets from various support channels, and manage them all in one place.Step 1 | Set Up Your ChannelsStart by thinking about what channels you'd like to use. Wix Answers currently offers 6 different support channels: Help Center, Call Center, Widgets, Live Chat, Mailboxes, and Facebook. Learn more about the available support channels to decide which are best for your needs.Next, select a channel below to learn how to set it up:Help CenterHover over Settings  in the side panel.Hover over Help Center and click Tickets.Click the toggles to enable or disable the following contact options:Article Page: Customers can contact you from under the article:Enabled: The contact option appears when a customers selects No under Did this answer your question?.Disabled: Customers cannot contact you from the article pages.Help Center Footer: Customers can contact you from your footer:Enabled: The contact option appears in the footer of all your Help Center pages.Disabled: The contact option does not appear in the footer.Click Edit under How can your customers contact you? to customize the contact option.Select an option:Submit a ticket via the Wix Answers Contact Form: Customers fill in the form in order to contact you. The form comes with four mandatory fields. Click Add Field to add another field.Submit tickets via an external Contact Form: Customers are directed to your external contact page or form to contact you. Enter the URL of your contact page or form.Submit tickets via Email: Customers are directed to contact you via email when clicking the Contact Us button. Enter your email address.Click Save.Call CenterHover over Settings  and click Call Center. Click + Add New Line. Enter a name and description for your line (this information is not seen by customers).Click Next. Set up your line preferences:Choose a country from the drop-down: This defines the phone number's country code. Select the type of number:Local phone number.Toll free phone number. (Optional) Customize your number options:Use a specific area code or prefix: Enter an area code or prefix.Use digits that correspond to letters: Enter a pattern of digits (e.g., 1-800-FUN).Click Next.Choose a phone number from the list or click Back to change your line's setup preferences.Note: You may need to submit proof of a valid address or identification to purchase some phone numbers. Learn MoreClick Create Line.Click Manage The New Line and click the Business Hours tab to set up your call line business hours.WidgetsHover over Settings  and click Widgets.Click Create New Widget.Enter a name for your Widget and click Create Widget.(For multilingual widgets): Click the language next to Settings for and select a language. (Optional) Click the Limit contact accessibility toggle  to hide your contact options unless a customer marks an article in your Widget as &quot;unhelpful.&quot; Click the toggle  next to the relevant contact options to enable: Live Chat: Offer real-time chat support through your Widget. Learn how to set up Live Chat. Contact Form: Allow customers to submit tickets through a custom contact form. Learn how to set up a contact form. Phone Support: Allow customers to request callbacks from your Call Center agents. Learn how to set up phone support in your Widget. Live ChatHover over Settings  and click Widgets.Click Create New Widget.Enter a name for your Widget and click Create Widget.(For multilingual widgets): Click the language next to Settings for and select a language. (Optional) Click the Limit contact accessibility toggle  to hide your contact options unless a customer marks an article in your Widget as &quot;not helpful.&quot; Click the Live Chat toggle  to enable Live Chat in your Widget. Click Manage next to Live Chat. Customize the Chat Header:Enter a title in the Title field. Click Display subtitle and enter a subtitle. Leave Display agent avatars checked to display agent avatars.Leave Display a response time message checked and enter the amount of time it usually takes for an agent to respond.Customize the Chat Options:Leave Send an automatic greeting message checked and enter a message that will greet customers that begin chatting. Leave Ask for customer's email before chat checked to require that customers enter their email address to begin chatting.Click Ask customer for issue topic to prompt customers to choose a topic, which assigns their chat to a specific agent or group. Learn MoreClick + Add Issue.Enter an issue topic in the Issue Type field and press Enter.(Optional) Click the Issue Type field and enter another issue topic to add a sub-level topic that displays as a drop-down menu.Click the Assign to drop-down and select an agent or group to assign the chat.Click + Add Issue and repeat the steps to add more issue topics. Click Add custom fields to the Live Chat form to add custom fields:Click + Add Field.Select the fields you'd like to add and click Add Selected Fields.Note: Click Manage Custom fields to add a field that is not displayed. Click the Mandatory toggle  to require customers to fill out the field. Set your Live Chat Availability business hours:Click Edit next to Live Chat Availability. Set your available chat hours:Available 24/7: Click to keep live chat open at all hours. Custom Hours of Operation: Click to set custom business hours: Click the toggle  next to each day to turn chat on or off. Click the times to adjust your opening and closing hours. Click the Show More icon  to the right of a day and select:Apply to all days to set the same business hours for each day of the week.Add another period to (selected day) to add another block of time.    (Optional) Allow customers to send chats outside of business hours:Note: When an agent replies, your customer receives the message in Live Chat (if they reopen the widget) and email. Click Let customers contact you in chat outside of business hours.Click the Welcome message field and enter the message customers see when they start a new chat.   (Optional) Apply your Live Chat's business hours to all other contact options in your Widget:Click Apply business hours to all contact options.Click Yes, Apply to All. Click Save.Scroll up and click Save next to Live Chat Settings. Next learn how to:Add a contact widget to your Help CenterEmbed a contact widget on your non-Wix websiteEmbed a contact widget on your Wix siteMailboxesHover over Settings  in the side panel and click Mailboxes.Click + Add Mailbox.Enter a name for your new mailbox. Click Next. (Optional) Set up mailbox forwarding:Enter the email address you'd like to forward to your Wix Answers mailbox. Go to your email provider and set up email forwarding to your Wix Answers mailbox. Tip: Learn how to set up email forwarding from the following email providers:GmailMicrosoft OutlookYahoo MailClick Save.Tip: Connect an outgoing email domain to send emails professionally from your own personal domain.Learn more about setting up mailboxes as a support channel. FacebookHover over Settings  in the side panel and click Facebook. Click Connect Facebook Account.Log in to your Facebook account.Select the checkbox next to the Facebook Pages you want to connect. Click Connect. Click the toggle  to open a ticket when a user writes:A wall post.A private message.Step 2 | Create Saved RepliesSave time when answering tickets, by enabling agents to re-use common responses. This is great for openers (e.g., &quot;Thank you for contacting us&quot;) or closers (e.g., &quot;If you need any further assistance, feel free to contact us again&quot;), or any other text that you find yourself writing over and over again.Create saved repliesHover over Tickets in the side panel and click Saved Replies. Click + Create Reply.Select the type of saved reply:Shared: Content is available to all agents.Personal: Content is only available to one agent. Click in the Name field and enter a title.(Optional) Click the Tags field and enter a keyword or phrase (e.g. #refund).Click the Reply text field and enter the content of your saved reply. You can also:Click the Add attachment icon  to add an image document link.Click the Add emoji icon  to add an emoji. Type $ to add dynamic placeholder text. Select the checkbox to send the saved reply to be translated to all your available languages.Note: Click Change to select specific languages for translation. Click Save Reply.Step 3 | Create GroupsUse groups to efficiently and effectively manage your ticket workflow. Assign tickets to different groups so that you know who's taking care of them.Create a groupHover over Settings  in the side panel and click Team Members.Click Create New Group on the left.Enter a name for the group and click Create. Add team members to a groupHover over Settings  in the side panel and click Team Members.Select the relevant group on the left.Click + Add Members to Group on the right. Start typing the team member's name and select them from the list.Note: New team members must accept an invitation to Wix Answers before you can add them to a group. Learn how to invite team members. Repeat steps 3 - 4 to add more team members to your group. Take a look at the video below for step-by-step directions regarding setting up your mailbox, connecting your Facebook account and adding team members. 

8 min read

Changing a Ticket's Status

Ticket statuses determine whether or not your tickets need attention. You can change a ticket's status automatically when you reply to a customer, or manually without replying. Learn more about ticket statuses. To change a ticket's status with your reply:Go to the relevant ticket. Scroll to the bottom of the ticket. Click in the reply field and create your reply.Send your reply:Click the drop-down icon next to Send and select an option:Send: Changes your ticket's status to Pending and sends your reply.  Send and change status to OpenSend and change status to ClosedSend and change status to InvestigatingClick Send &amp; Resolve to send your reply and change the status to Solved. Note:Clicking Send &amp; Resolve allows your customers to rate your responses. To change a ticket's status without replying:Go to the relevant ticket. Click the Status in the top left corner of the ticket. Select the status you're changing the ticket to.Click Change status. 

1 min read

Deleting Tickets

You may want to delete a ticket for a variety of reasons such as spam, testing, legal, or data analysis. Delete individual tickets from the footer menu or in bulk from your Tickets List. To delete a single ticket:Go to the ticket you want to delete.Click the Show More icon  from the footer menu.Click Delete.(Optional) Click Block User to also block the user from submitting tickets in the future. Click Delete ticket to confirm.To delete multiple tickets:Click the Tickets icon  in the side panel.Hover over the user icon on a ticket and click the checkbox. Repeat step 2 to select multiple tickets.Note: You can click Select all tickets in page to select up to 50 tickets at once. Click Delete at the bottom of the page. (Optional) Click Block User to block the user from submitting tickets in the future. Click Delete Ticket. Note:Deleting a ticket removes it from your Wix Answers account, but does not delete it from your customer's mailbox. 

1 min read

Searching for Tickets

Search by ticket number, customer email address, or keywords to locate tickets on your Tickets List. To search for tickets:Click the Tickets icon  in the side panel.Click the All tickets view on the left.Click the Search field and enter one of the following search parameters:Ticket number: Enter the individual ticket number to locate a specific ticket. Email address: Enter a customer's email address to view tickets sent to or from the customer. Keywords: Enter keywords that appear in the ticket's subject, description, or customer replies. (Optional) Click the Relevance drop-down  and select a sorting option:Relevance: Display the most relevant search results at the top of the list. Oldest First: Display tickets that haven't received an update for the longest amount of time at the top of the list. Newest First: Display tickets that have been most recently updated at the top of the list. Nearest Response Needed: Display tickets that are closest to missing their SLA targets or have missed their SLA targets by the most amount of time at the top of the list. Select a ticket from the list of results to view it. Tip:Click All languages at the top and select a language to search for tickets in specific languages. 

2 min read

Resolving a Ticket

When you're confident your reply solves the customer's question, resolve the ticket. This changes the ticket's status to Solved so that it no longer appears in the All open tickets view on your Tickets List. A customer can also rate your response when you resolve their ticket. To resolve a ticket:Go to the relevant ticket. Scroll to the bottom of the ticket. Click the reply field and create your reply.Click Send &amp; Resolve. 

1 min read

Following a Ticket

Follow a ticket to receive notifications whenever an agent or customer replies to the ticket.To follow a ticket:Go to the ticket you'd like to follow. Click the Show More  icon in the footer menu. Select Follow ticket. 

1 min read

Forwarding a Ticket

Forward a ticket when you want to send its initial message to another email address.Need to CC someone?You can CC (Carbon Copy) contacts if you'd like them to receive copies of the ticket and have the ability to reply.To forward a ticket:Go to the relevant ticket.Hover over the first message sent and click the Show More icon  on the right.Click Forward by email.Click the drop-down under From and select a sending mailbox.Enter the email address you're forwarding to in the To field.Note: If adding more than one recipient, use commas to separate them. (Optional) Edit the Ticket Content. Click Create Ticket.

1 min read

Splitting a Ticket

Splitting tickets can help you keep track of your customer's support requests per topic. We recommend splitting a ticket whenever your customer sends a new message unrelated to the ticket's initial topic.To split a ticket:Go to the relevant ticket.Scroll to the customer reply from which you'd like to create a new ticket. Hover over the message field and click the Show More icon  on the right.Click Create ticket from reply.Click the subject field and enter a title for the new ticket.Note: Click Also close this ticket to change the initial ticket's status to closed.Click Confirm.

1 min read

Ticket Statuses

Ticket statuses are used to track the lifecycle of a ticket and help organize your workflow. The status of a ticket represents where the ticket stands and if, or what, further steps are required by the agent. There are five basic statuses you can apply to a ticket:Open: This status indicates that a ticket has entered the system and is waiting for a response from an agent. All new tickets are marked as Open. The status of the ticket remains as Open until an agent responds to the customer. Pending: This status includes tickets where an agent has sent an initial response to the customer and is waiting for further information from the customer. Open tickets are automatically changed to Pending when an agent responds to the customer. Closed: This status includes tickets that have been answered and the customer has not responded. Tickets remain as Pending for 72 hours before they are automatically changed to Closed. Solved: This status indicates tickets that have been resolved by an agent and no longer require further correspondence with the customer. Investigating: This status is intended for tickets that require investigation. The status can only be changed manually. Learn how to change the status of your tickets here. 

2 min read

Replying to a Ticket

Respond to your customers' tickets with saved replies, knowledge base article contents, file attachments, and more.  Tip:Review our best practices for answering tickets to optimize your workflows while satisfying your customers.To reply to a ticket:Select the ticket you want to reply to from the Ticket List.Scroll down and click the reply field.Create your reply using any of the following features:Link an article: Click the Knowledge Base articles icon  to get started. Learn MoreAdd a saved reply: Click the Saved Replies icon  to get started. Learn MoreInsert an attachment: Click the Add attachment icon  then browse for the relevant file and click Open. Learn MoreInsert an emoji: Click the Add emoji icon  and select an emoji. Click the reply field and edit your reply. Choose a sending option:Click the drop-down icon next to Send and select an option:Send: Send your reply and change the ticket status to Pending. Send and change status to OpenSend and change status to ClosedSend and change status to InvestigatingClick Send &amp; Resolve to send your reply and change the status to Solved. To set additional sending options before replying:Click the Settings icon  next to Send &amp; Publish.Select the option(s):Send &amp; Assign to me: Assign the ticket to you after sending the reply. Reply and go to ticket list: Go to the Ticket List after sending the reply. Sending your reply to multiple people?Add additional email addresses as CC (Carbon Copy) contacts so that each recipient receives a copy of the ticket.

2 min read