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, Twitter, Instagram, 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.

A ticket is completed when its status is Closed or Solved. Wix Answers can be set to automatically assign a ticket to a group or agent, or an agent can assign a ticket to an agent or group (including themselves). Multiple agents, whether or not assigned to a ticket, can handle the ticket. The period of time from when an agent starts handling a ticket and until they no longer are handling the ticket is called a session. An agent begins handling a ticket when Wix Answers automatically routes the ticket to the agent and the agent accepts, or by taking a phone call or engaging in a chat with the user, or by selecting to do so in the UI, or by beginning to enter an agent reply or internal note in the ticket. They end their session by manually selecting to do so in the UI; another agent can also end their session in the UI.

If an agent snoozes a ticket, the agent is removed from handling the ticket until the end of the snooze period.
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 or reapply an SLA policy after setting the custom fields in the webhook. See Update a Ticket's Custom Fields.
Payload Params
Description
Type
Required
brandId
Brand ID

subject
Ticket subject: A short description of the problem or question.
String
content
Ticket content: A complete description of the problem or question.
String, up to 65,519 bytes
status
Integer

Default is 100 (Open)

locale
The locale for the ticket
Language code string (for example: 'de')
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

companyShareable
Whether to hide this ticket from users who normally can view this company's tickets
Boolean

priority
Integer

Default is 20 (Normal)

channel
Where the ticket was created from

See Channel. Use 180 (created using API) or 100 (created from web site).
Integer

Default and recommended

creationDate
The ticket creation date

Default is the time of this request

lastOpenedDate
The last time the ticket was opened 

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, pairs 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

The max number of user IDs is 30.

webChannelData
Additional data if channel is web 

See Channel.
Structure

chatChannelData
Additional data if channel is chat 

See Channel.
Structure

widgetChannelData
Additional data if channel is widget 

See Channel.
Structure

emailChannelData
Additional data if channel is email 

See Channel.
Structure

facebookChannelData
Additional data if channel is facebook

See Channel.
Structure

twitterChannelData
Additional data if channel is twitter

See Channel.
Structure

whatsAppChannelData
Additional data if channel is whatsapp

See Channel.
Structure

instagramChannelData
Additional data if channel is instagram

See Channel.
Structure

smsChannelData
Additional data if channel is sms

See Channel.
Structure

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", "status": 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 or reapply an SLA policy 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, 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.
toUnknownUser
Whether the ticket is created for an unknown user

Wix Answers generates a dummy customer for the ticket.
Boolean

followTicket
Whether the agent creating the ticket wants to follow it (be notified by email on ticket events)
Boolean

userCustomFields
Map of user custom field values, pairs 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

internalReply
An initial internal note by the agent

For the parameters for this structure, see Add Agent Reply or Internal Note to a Ticket, (not including the change status or handling parameters).
Structure

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 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 or reapply an SLA policy 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, 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 or reapply an SLA policy 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, with the following differences:
Payload Params
Description
Type
Required
status
Integer

Default is 110 (Pending)

recipientsEmails
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
userCustomFields
Map of user custom field values, pairs 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

internalReply
An initial internal note by the agent

For the parameters for this structure, see Add Agent Reply or Internal Note to a Ticket, (not including the change status or handling parameters).
Structure

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 Customer 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 customer 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 or reapply an SLA policy 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 customer 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 or reapply an SLA policy 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, up to 65,519 bytes

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.

brandId
Brand ID

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.
Returned Results Limit
The maximum number of returned tickets, even if using pagination, is 9,000; check the parameter itemsCount for the actual number of matching tickets. If itemsCount is higher than 9,000, use additional filters, such as fromCreationDate and toCreationDate to narrow the results.
Payload Params
Description
Format
locale

(Deprecated, use locales)
The locale of the tickets to return

When not specified, tickets from all locales are returned.
Language code string (for example: 'de')
locales
Filter by list of ticket languages

When not specified, tickets from all locales are returned.
List of language code strings (for example: ['en','de'])

Max 50.
ticketNumbers
Filter by ticket reference numbers (issue IDs)
List of integers
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
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

The default is true.
spellCheck
When set to true, try to resolve spelling mistakes
Boolean

The default is false.
itemsCount
The number of tickets matching the search criteria
Integer
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)
* Replies count, ascending (70)
* Replies count, descending (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 nearest response needed, ascending (150)
* Expired and inactive snooze end date, ascending (160)
* Expired and inactive snooze end date, descending (170)
* Active snooze end date, ascending (180)
* Active snooze end date, descending (190)
* Last status change, ascending (200)
* Last status change, descending (210)
* Subject, ascending (300)
* Subject, descending (310)
* Language, ascending (320)
* Language, descending (330)
* Ticket number, ascending (340)
* Ticket number, descending (350)
* Status, ascending (360)
* Status, descending (370)

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
facebookPostId
Filter by Facebook post ID
String
relatedTweetId
Filter by Twitter message ID
String
instagramMessageId
Filter by Instagram message ID
String
instagramReplyToMessageId
Filter by Instagram reply to message Id
String
brandFilters
Filter by brands, a structure as follows:

* brandIds (list of GUIDs): Return tickets of these brands
* includeBrandless (Boolean): When true, return tickets not associated with a brand
Structure
StringFilters 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
assignedToAnyAgent
Filter by tickets assigned to any agent
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
myTickets
Filter by your tickets
Boolean
hasRatings
Filter by whether the ticket has any ratings
Boolean
ratings
Filter by Ratings
List of integers
hasRatingComment
Filter by whether the ticket has any ratings with comments
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
hasAgentReply
Filter by whether the ticket has an agent reply
Boolean
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 language 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 using a map of user custom field values; a structure of one or more fields and values, each one as follows:
* <custom field id> (GUID)
* <Custom Field values / range>: A structure with one or more of the following params:
  * fromDate (Date string)
  * toDate (Date string)
  * from (long)
  * to (long)
  * values (list)
  * text (string)
  * searchType (integer): For a text search:
    * Exact match (1)
    * Contains (2): This is the default.
    * Does not contain (3)
  * bool (Boolean)
Structure
slaFilters
Filter by SLA information, a structure as follows:

* hasSLA (Boolean)
* firstResponseSLA (Structure):
  * active (Structure):
    * currentState (Integer): One of:
      * 0 (all)
      * 1 (almost missed)
      * 2 (missed)
      * 3 (remaining time)
      * 4 (missed time)
    * timeFilter (Structure):
      * operator (Integer): One of:
        * 1 (greater than)
        * 2 (less than)
      * minutes (Integer)
  * ended (Structure):
    * successful (Boolean)
    * timeFilter (see above)
* responseSLA (same structure as firstResponseSLA)
* resolveSLA (same structure as firstResponseSLA)
Structure
snooze
Filter by snooze information, a structure as follows:

* filterType (Integer): Operator for the next parameter, one of:
  * 1 (only)
  * 2 (include)
  * 3 (exclude)
* snoozingAgentIds (List of GUIDs): Agents who snoozed tickets
* snoozedByMe (Boolean) 
Structure
handlingUserIds
Filter by agents who currently handle the tickets
List of GUIDs
handledByUserIds
Filter by agents who currently handle, or previously handled, the tickets
List of GUIDs
currentlyHandled
Include only tickets currently handled by one or more agents
Boolean
handled
Include only tickets currently or previously handled by one or more agents
Boolean
myHandled
Filter by tickets that you currently handle
Boolean
channelFilters
Filter by channels, a structure of:
 * channel (integer): See Channel.
  * ids (list of GUIDs)
Structure
facebookChannelType

Integer
twitterChannelTypes
Filter by one or more Twitter Channel Types
List of integers
instagramChannelTypes
List of integers
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
toCreationDate
Filter by tickets created on or before this date
fromLastUpdateDate
Filter by tickets last updated on or after this date
toLastUpdateDate
Filter by tickets last updated on or before this date
fromLastOpenedDate
Filter by tickets last opened on or after this date
toLastOpenedDate
Filter by tickets last opened on or before this date
fromLastStatusChangeDate
Filter by tickets whose status changed on or after this date
toLastStatusChangeDate
Filter by tickets whose status changed on or before this date
timeZone
Timezone for the dates in this filter

For example: America/Denver
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
toCallCreationDate
Filter by tickets with phone calls that occurred on or before this date
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
16
17
18
19
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": {
      "eda54aff-84ff-48b7-897d-ff4c3118818e":{
        "values":["first","second"]
      }
    }
  },
  "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
The locale for the tickets
Language code string (for example: 'de')
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 token and permission FETCH_TICKET_VIEWS
  • Content type: application/json; charset=utf-8
  • Accept: application/json
  • Response: Return structure, see below
Payload Params
Description
Type
Required
savedFilterIds
List of saved filter IDs
Set of GUIDs
At least 1 is required
locales
The locales for the tickets
List of language code strings (for example: ['en','de'])
At least 1 is required
brandFilters
Filter by tickets from specific brands, a structure as follows:

* brandIds (list of GUIDs): Return tickets of these brands
* includeBrandless (Boolean): When true, return tickets not associated with a brand
Structure

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

Get the Sort Order Position of a Ticket Within a Saved Filter

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

Get the number of tickets before (with a higher sort order than) this ticket within the specified saved filter.
  • Authorization: None
  • Content type: application/json; charset=utf-8
  • Accept: application/json
  • Response: Structure, see below
Payload Params
Description
Type
Required
locale
The ticket locale
Language code string, e.g. "de"

If not sent, the locale is taken from the saved filter.

savedFilterId
Saved filter ID

If the filter is not found, the method returns a not found exception.
Saved filter GUID
Payload Example:
1
2
3
4
5
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/position

{
  "savedFilterId":"e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"
}
Response Example:
Response Params
Description
Type
position
The number of tickets before (with a higher sort order than) this ticket within the specified saved filter

If this ticket is the first one in the saved filter, this method returns 0. If this ticket is the fifth one, this method returns 4. If not found within the first 100 tickets, this value is -1.
Integer
responseStatus
* Found (10)
* Not found (20)
* Unknown (30)
Integer
1
2
3
4
{
  "position":4,
  "responseStatus":10
}

Manage Ticket Handling and 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"]
}

Start Handling a Ticket (Agent)

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

Indicate that you are handling a ticket.

Payload Params
Description
Type
channel
Where the ticket was created from

Integer
Payload Example:
1
2
3
4
5
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/d367738e-368e-41fe-9289-1a5cbbc3c239/startHandling

{
  "channel": 180
}

End Handling a Ticket (Agent)

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

Indicate that you are no longer handling a ticket. Also see End All Ticket Handling By An Agent. If you change a ticket status to Solved or Closed, Wix Answer invokes the Ticket Status Changed webhook and Chat Ended webhook.

Payload Params
Description
Type
newStatus
New Ticket Status for the ticket

If you change a ticket status to Solved or Closed, Wix Answer invokes the Ticket Status Changed webhook.
Integer
Payload Example:
1
2
3
4
5
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/d367738e-368e-41fe-9289-1a5cbbc3c239/endHandling

{
  "newStatus": 110
}

End All Handling of a Ticket

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

Remove all agents from handling a ticket. Also see End All Ticket Handling By An Agent. If you change a ticket status to Solved or Closed, Wix Answer invokes the Ticket Status Changed webhook and Chat Ended webhook.

Payload Params
Description
Type
newStatus
New Ticket Status for the ticket
Integer
Payload Example:
1
2
3
4
5
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/d367738e-368e-41fe-9289-1a5cbbc3c239/endAllHandling

{
  "newStatus": 110
}

End Handling of One or More Tickets (Agent)

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

Indicate that you are no longer handling one or more tickets. Also see End All Ticket Handling By An Agent. If you change a ticket status to Solved or Closed, Wix Answer invokes the Ticket Status Changed webhook and Chat Ended webhook.

Payload Params
Description
Type
Required
ticketIds
List of tickets for which to end all handling
List of ticket GUIDs

At least 1 ticket is required, max 50.
newStatus
New Ticket Status for the ticket
Integer

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

{
  "ticketIds": ["bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", "e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"],
  "newStatus": 110
}
Response Example:
Payload Params
Description
Type
tickets
List of successfully processed tickets
failedTicketErrors
Map of unsuccessfully processed tickets to error codes, each one:
* Ticket GUID
Structure
1
2
3
4
5
6
{
  "tickets": ["bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", "e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"],
  "failedTicketErrors": {
    "77bc8694-5ccf-436c-ab2b-543563a5f425", {"errorCode":-50006, "message":"Not found"}
  }
}

End All Handling of One or More Tickets

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

Remove all agents from handling one or more tickets. Also see End All Ticket Handling By An Agent. If you change a ticket status to Solved or Closed, Wix Answer invokes the Ticket Status Changed webhook and Chat Ended webhook.

Payload Params
Description
Type
Required
ticketIds
List of tickets for which to end all handling
List of ticket GUIDs

At least 1 ticket is required, max 50.
newStatus
New Ticket Status for the ticket
Integer

Payload Example:
1
2
3
4
5
6
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/d367738e-368e-41fe-9289-1a5cbbc3c239/endAllHandling

{
  "ticketIds": ["bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", "e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"],
  "newStatus": 110
}
Response Example:
Payload Params
Description
Type
tickets
List of successfully processed tickets
failedTicketErrors
Map of unsuccessfully processed tickets to error codes, each one:
* Ticket GUID
Structure
1
2
3
4
5
6
{
  "tickets": ["bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", "e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"],
  "failedTicketErrors": {
    "77bc8694-5ccf-436c-ab2b-543563a5f425", {"errorCode":-50006, "message":"Not found"}
  }
}

Update or Delete Tickets

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.

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.

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.
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.
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. If you change a ticket status to Solved or Closed, Wix Answer invokes the Ticket Status Changed webhook and Chat Ended 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 ticket statuses, Wix Answer invokes the Ticket Status Changed webhook and Chat Ended webhook on each ticket whose status was changed to Solved or Closed.
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

Update a ticket's priority. See Important Information about Updating Structures Using the API.
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

Update a ticket's locale. See Important Information about Updating Structures Using the API.
Payload Params
Description
Type
Required
newLocale
The new locale for the ticket
Language code string (for example: 'de')
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
The locale for the tickets
Language code string (for example: 'de')
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
addedLabelIds
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
addedLabelIds
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, up to 65,519 bytes

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 set the parameter applyRules to true, Wix Answer processes any automatic actions after updating the fields. If you set the parameter applySla to true, Wix Answer reevaluates which SLA policy to apply 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

applySla
Whether to reevaluate which SLA policy to apply after changing the custom fields. The default is false.

This is useful when the SLA policy depends 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 token and permission MANAGE_TICKETS
  • 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"]
}

Update Company of a Ticket and Ticket User (Owner)

Deprecated
This method is deprecated and is scheduled to be removed.
PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/setCompanyOnTicketAndUser

Update the (user) company of a ticket and the ticket's owner. See Important Information about Updating Structures Using the API.
Single Company Users Only
This endpoint fails when trying to update the company for a user that is already associated with more than one company.
Payload Params
Description
Type
Required
companyId
The new company for the ticket and user

If not sent, the company is removed from the ticket and user.

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

{
    "companyId": "e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"
}

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"
    ]
}

Add a CSAT Response to a Ticket

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

Add a CSAT response to a ticket. Note that there is currently no way to modify or delete a CSAT response.
  • Authorization: None
  • Content type: application/json; charset=utf-8
  • Accept: application/json
  • Response: None
Payload Params
Description
Type
Required
rating
The user Rating
Integer
comment
Any user comment, if any
String

Max 1,200 characters.

ticketId
The ticket ID
Ticket GUID
csatId
CSAT object ID
GUID of CSAT object
token
When not a chat response, this is the token sent in the response URL
String
Required if not a chat response
Payload Example:
1
2
3
4
5
6
7
8
9
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/csat

{
    "rating": 10,
    "comment": "The user comment."
    "ticketId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa"
    "csatId": "e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a",
    "token": "[]"
}

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.

Snooze One or More Tickets

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

Mark one or more tickets as snoozed. The agent performing this request stops handling the tickets until the unsnooze date or until the agent manually unsnoozes them.

If a ticket was already snoozed, any previous snooze details are overwritten by this action. Therefore, it is not possible for two agents to snooze a ticket simultaneously.

  • Authorization: Requires agent authorization token and permission SNOOZE_TICKETS
  • Content type: application/json; charset=utf-8
  • Accept: application/json
  • Response: None
Payload Params
Description
Type
Required
ids
List of tickets to snooze

The list must contain between 1 and 50 GUIDs.
List of GUIDs
snoozeDate
When to unsnooze the tickets

The time must be at least 10 minutes from now (from the time of the call to this endpoint).
reopenOnSnooze
Whether to change the ticket statuses to Open when the unsnooze date is reached
Boolean

The default is false.

notifyOnSnoozeDate
Whether to notify the user who snoozed the tickets (and any other people who receive notifications about this ticket) when the unsnooze date is reached
Boolean

The default is false.

cancelOnUserReply
Whether to unsnooze a ticket if the user replies to the ticket

When canceled in this way, a notification is not sent, regardless of the setting of notifyOnSnoozeDate.
Boolean

The default is false.

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

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

Unsnooze One or More Tickets

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

Mark one or more tickets as unsnoozed. When manually unsnoozing tickets, notifications are not sent and ticket statuses are not changed to Open (sending a notification and/or changing the status only happens when the unsnooze date is reached AND when configured to do so by the snooze record).

This action has no effect on a ticket that is not snoozed.

  • Authorization: Requires agent authorization token and permission SNOOZE_TICKETS
  • Content type: application/json; charset=utf-8
  • Accept: application/json
  • Response: None
Payload Params
Description
Type
Required
ids
List of tickets to unsnooze

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/unSnooze

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

Merge Tickets

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

Merge multiple tickets. This endpoint enables you to close multiple tickets and link them to another ticket. The closed tickets become secondary tickets, and the ticket that these tickets link to becomes a primary ticket. Each secondary ticket can link to only one primary ticket; a primary ticket can have multiple secondary tickets linking to it.

A common use-case for this endpoint is when multiple tickets about the same issue were created, but should be dealt with in only one of them.

Wix Answer invokes the Ticket Status Changed webhook and the Chat Ended webhook on each closed ticket.
Note Future Functionality
Currently, no data from the secondary tickets are merged into the primary ticket. This will change in a future release.
  • Authorization: Requires agent authorization token and permission MERGE_TICKETS
  • Content type: application/json; charset=utf-8
  • Accept: application/json
  • Response: None
Payload Params
Description
Type
Required
primaryTicketId
Ticket to make the primary ticket
primaryReplyContent
Text to add as internal note in primary ticket

You can add links to the text. See Links to Wix Answers Entities.
String, up to 65,519 bytes
secondaryTicketIds
List of tickets to close as secondary tickets

The list must contain between 1 and 10 GUIDs.
List of GUIDs
secondaryReplyContent
Text to add as internal note in each secondary ticket

You can add links to the text. See Links to Wix Answers Entities.
String, up to 65,519 bytes
Payload Example:
1
2
3
4
5
6
7
8
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/merge

{
    "primaryTicketId": "a367738e-368e-41fe-9289-1a5cbbc3c238",
    "primaryReplyContent": "Another ticket was merged into this ticket.",
    "secondaryTicketIds": ["d367738e-368e-41fe-9289-1a5cbbc3c239","e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"],
    "secondaryReplyContent": "This ticket was closed and merged into another ticket."
}

Delete a Ticket

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

Mark a ticket as deleted.
  • Authorization: Requires agent authorization token and permission DELETE_TICKETS. If banUser is set to true in the payload, then permission MANAGE_CONTACTS is also required.
  • 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)

See note about permission requirement, above.
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 token and permission DELETE_TICKETS. If banUser is set to true in the payload, then permission MANAGE_CONTACTS is also required.
  • 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
Locale of the articles/tickets
Language code string (for example: 'de')
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 Params
Description
Type
Required
itemsCount

Number of articles to return
Integer

The default is 10.

locale
The locale for the related articles
Language code string (for example: 'de')
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
The locale for the related articles
Language code string (for example: 'de')
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 C Reply to a Ticket

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

Add a customer 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.

If the ticket is snoozed, then, when configured to do so by the ticket's snooze record, a customer reply unsnoozes the ticket.
Payload Params
Description
Type
Required
type

Integer
content
Content of the reply
String, up to 65,519 bytes
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. If you change a ticket status to Solved or Closed, Wix Answer invokes the Ticket Status Changed webhook and the Chat Ended webhook.

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

You can add links to the text. See Links to Wix Answers Entities.
String, up to 65,519 bytes
newTicketStatus
Integer

endHandling
If true, end the agent's handling of the ticket after adding the reply.

Default = false
Boolean

endAllHandling
If true, end all agent handling of the ticket after adding the reply.

Default = false

See above for additional permission requirements for this parameter.
Boolean

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

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

Add Internal Note to a Ticket

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

As an agent, add an agent internal note to a ticket. After creating an internal note, Wix Answer invokes the Internal Note Created webhook. If you change a ticket status to Solved or Closed, Wix Answer invokes the Ticket Status Changed webhook and the Chat Ended webhook.

This method enables you to provide a limited service with a more restrictive permission than the one in Add Agent Reply or Internal Note to a Ticket.

Payload Params
Description
Type
Required
content
Content of the internal note

You can add links to the text. See Links to Wix Answers Entities.
String, up to 65,519 bytes
newTicketStatus

See above for additional permission requirements for this parameter.
Integer

endHandling
If true, end the agent's handling of the ticket after adding the note.

Default = false

See above for additional permission requirements for this parameter.
Boolean

endAllHandling
If true, end all agent handling of the ticket after adding the reply.

Default = false

See above for additional permission requirements for this parameter.
Boolean

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

{
    "content": "Note contents"
}

Add Agent Replies or Internal Notes to One or More Tickets

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

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 on each relevant ticket. If you change a ticket status to Solved or Closed, Wix Answer invokes the Ticket Status Changed webhook and the Chat Ended webhook.
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 internal note

You can add links to the text. See Links to Wix Answers Entities.
String, up to 65,519 bytes
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
newTicketStatus

See above for additional permission requirements for this parameter.
Integer

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

{
    "ticketIds": ["bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa","e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"],
    "internal":true,
    "content": "Reply contents",
}
The response is a structure that included the list of affected tickets, a map between each ticket and each reply, and a map between each ticket and any errors.
Response Param
Description
Type
tickets
The list of tickets
List of GUIDs
replies
A map of ticket GUIDs to Reply Objects (extended level)
Structure
failedTicketsErrors
A map of tickets to an error structure, as follows:

* Ticket GUID
Structure
Response Example:
1
2
3
4
5
6
7
8
9
10
11
12
{
    "ticketIds": ["bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa","e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"],
 "replies": {
        "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa":@Reply object,
    },
    "failedTicketsErrors": {
        "e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a": {
            "errorCode": -1,
            "message": "Unknown error"
        },
    }
}

Add Internal Notes to One or More Tickets

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

As an agent, add an internal note to one or more tickets. After creating an internal note, Wix Answer invokes the Internal Note Created webhook on each relevant ticket. If you change a ticket status to Solved or Closed, Wix Answer invokes the Ticket Status Changed webhook and the Chat Ended webhook.

The request parameters and response are the same as those for Add Agent Replies or Internal Notes to One or More Tickets, except that the parameter internal is always true.

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
fromDate
Filter by tickets after the specified time
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.
  • Authorization: Requires user authorization token for specific user (ticket owner) with verified email address
  • Content type: application/json; charset=utf-8
  • Accept: application/json
  • Response: Structure including list of Reply Objects (public level)
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 a Ticket's Timeline (Agent)

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

Get a timeline of ticket events. For the user version, see Get a Ticket's Timeline (User).
  • Authorization: Requires agent authorization token and permission FETCH_TICKETS
  • Content type: application/json; charset=utf-8
  • Accept: application/json
  • Response: Result structure, see below
Payload 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
Payload Example:
1
2
3
4
5
6
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/timeline/paginated

{
  "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, CC users added, notes, history records, chat messages, handling changes, snooze, merge, and CSAT responses
List of timeline items
1
2
3
4
{
    "ticket": { @Ticket object },
    "timelineItems" : [ @relevant object(s) ]
}

Search CSAT Responses

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

Get submitted CSAT responses.
Payload Params
Description
Type
Required
ids
Filter by list of CSAT object IDs
List of CSAT GUIDs

Max 50

ticketIds
Filter by list of ticket  IDs
List of ticket GUIDs

Max 50

csatStstuses
Filter by list of CSAT statuses, which are:
* Waiting (10): Sent to user, not yet submitted
* Submitted (30)
List of integers

channels
Filter by list of Channels
List of integers

ratings
Filter by list of Ratings
List of integers

agentIds
Filter by agents related to the responses:

* For a phone call ticket, this is the agent who handled and closed the last phone call on the ticket.
* For a chat, SMS, or Whatsapp ticket, this is the agent that sent the last message.
* For any other ticket, this is the agent who added the last reply.
List of user GUIDs

Max 50

text
Return only  submissions with a comment field containing this string
String

fromCreationDate
Return only submissions created on or after this date
Unix date string

toCreationDate
Return only submissions created on or before this date
Unix date string

fromLastUpdateDate
Return only submissions last updated on or after this date
Unix date string

toLastUpdateDate
Return only submissions updated on or before this date
Unix date string

timeZone
Timezone for the above dates

For example: America/Denver

sortType
Sort type: Possible values are:
* Creation date, ascending (10)
* Creation date, descending (11)
* Last update date, ascending (20)
* Last update date, descending (21)
* Rating, ascending (30)
* Rating, descending (31)
Integer

page
Page of results

The default is 1.
Integer

pageSize
Number of results on each page, a number between 1 and 250

The default is 10.
Integer

Payload Example:
1
2
3
4
5
6
7
8
POST https://<tenant_subdomain>.wixanswers.com/api/v1/csat/search

{
    "ratings":[30],
    "sortType": 10,
    "page: 1,
    "pageSize": 20
}
Response Example:
1
2
3
4
5
6
7
8
9
{
  "items": [ List of @CSAT objects ],
  "itemsCount": 108,
  "page": 2,
  "numPages": 22,
  "previousPage": 1,
  "nextPage": 3,
  "pageSize": 5
}

Add an Event to a Ticket's Timeline (Agent)

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

Add an event to a ticket timeline. The event is added as a bullet point to the timeline, in the same way that associating the ticket to another ticket or an article appear. In other words, the text is not added as a reply or internal note.
Payload Params
Description
Type
Required
customText
Plain text contents to add as an event

Tags such as HTML are stripped from the contents.
String

Between 1 and 1,200 characters.
Payload Example:
1
2
3
4
5
POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/77bc8694-5ccf-436c-ab2b-543563a5f425/timeline

{
  "customText": "This is an event"
}

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 token for specific user (ticket owner) with verified email address. 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}

Update a ticket reply's contents. See Important Information about Updating Structures Using the API.
Payload Params
Description
Type
Required
content
The contents
String, up to 65,519 bytes
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.
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.
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  for a specific user and permission FETCH_TICKETS
  • 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

Get list of users who follow a ticket.
Request Params
Description
Type
Required
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?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.
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 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 token for a specific agent and permission FETCH_TICKETS
  • 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 token for a specific agent and permission FETCH_TICKETS
  • 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 a new ticket when you need to send your customer an email and they don't have a relevant ticket you can reply to. You can send the ticket directly to your customer, or on their behalf. When sending on yo

4 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

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 think

12 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 ticket lists. Learn more about: Del

2 min read

Searching for Tickets

Quickly locate specific tickets from the search field at the top of your ticket list(s). You can search by ticket number, email address, or keywords that appear in the subject, description, replies, and interna

3 min read

Following Tickets

Follow tickets to receive notifications whenever agents or customers reply. You'll receive notifications via email and your notifications feed. To follow a ticket: Go to the ticket you'd like to follow.  Cli

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 t

1 min read

Creating a New Ticket From Your Customer's Reply

Create a new ticket from your customer's last reply whenever you need to split a ticket into two. We recommend splitting tickets when customers reply with new unrelated questions. To create a new ticket from yo

1 min read

About Ticket Statuses

Ticket statuses help you quickly understand if tickets need replies from team members. There are 5 ticket statuses that tickets can have at a time. You can change ticket statuses manually, in bulk, or while rep

3 min read

Replying to a Ticket

Reply to tickets using Knowledge Base articles, saved replies, rich text, attachments, and more. You can also CC (Carbon Copy) additional email addresses, manage your own reply settings, and change the status o

6 min read